diff --git itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java index 1ba8ad3..59c8ddb 100644 --- itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java +++ itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java @@ -1302,7 +1302,7 @@ public void testDescribeTable() throws SQLException { public void testDatabaseMetaData() throws SQLException { DatabaseMetaData meta = con.getMetaData(); - assertEquals("Hive", meta.getDatabaseProductName()); + assertEquals("Apache Hive", meta.getDatabaseProductName()); assertEquals(HiveVersionInfo.getVersion(), meta.getDatabaseProductVersion()); assertEquals(System.getProperty("hive.version"), meta.getDatabaseProductVersion()); assertTrue("verifying hive version pattern. got " + meta.getDatabaseProductVersion(), diff --git jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java index 5087ded..fe39c0c 100644 --- jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java +++ jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java @@ -38,6 +38,7 @@ import org.apache.hive.service.cli.thrift.TGetFunctionsResp; import org.apache.hive.service.cli.thrift.TGetInfoReq; import org.apache.hive.service.cli.thrift.TGetInfoResp; +import org.apache.hive.service.cli.thrift.TGetInfoType; import org.apache.hive.service.cli.thrift.TGetSchemasReq; import org.apache.hive.service.cli.thrift.TGetSchemasResp; import org.apache.hive.service.cli.thrift.TGetTableTypesReq; @@ -265,7 +266,8 @@ public int getDatabaseMinorVersion() throws SQLException { } public String getDatabaseProductName() throws SQLException { - return "Hive"; + TGetInfoResp resp = getServerInfo(GetInfoType.CLI_DBMS_NAME.toTGetInfoType()); + return resp.getInfoValue().getStringValue(); } public String getDatabaseProductVersion() throws SQLException { @@ -273,15 +275,7 @@ public String getDatabaseProductVersion() throws SQLException { return dbVersion; } - TGetInfoReq req = new TGetInfoReq(sessHandle, GetInfoType.CLI_DBMS_VER.toTGetInfoType()); - TGetInfoResp resp; - try { - resp = client.GetInfo(req); - } catch (TException e) { - throw new SQLException(e.getMessage(), "08S01", e); - } - Utils.verifySuccess(resp.getStatus()); - + TGetInfoResp resp = getServerInfo(GetInfoType.CLI_DBMS_VER.toTGetInfoType()); this.dbVersion = resp.getInfoValue().getStringValue(); return dbVersion; } @@ -1137,4 +1131,16 @@ public static void main(String[] args) throws SQLException { System.out.println("DriverName: " + meta.getDriverName()); System.out.println("DriverVersion: " + meta.getDriverVersion()); } + + private TGetInfoResp getServerInfo(TGetInfoType type) throws SQLException { + TGetInfoReq req = new TGetInfoReq(sessHandle, type); + TGetInfoResp resp; + try { + resp = client.GetInfo(req); + } catch (TException e) { + throw new SQLException(e.getMessage(), "08S01", e); + } + Utils.verifySuccess(resp.getStatus()); + return resp; + } }