HIVE-3173 Add tests for JDBC getTypeInfo method (Xiu Gao via gates)

Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/19fd5613
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/19fd5613
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/19fd5613

Branch: refs/heads/hive-14535
Commit: 19fd56137caa23fbe8ef1e452a11603fc14f4325
Parents: 4ce5fe1
Author: Alan Gates <[email protected]>
Authored: Mon Sep 26 10:47:48 2016 -0700
Committer: Alan Gates <[email protected]>
Committed: Mon Sep 26 10:47:48 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hive/jdbc/TestJdbcDriver2.java   | 32 ++++++++++++++++++++
 1 file changed, 32 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/19fd5613/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
----------------------------------------------------------------------
diff --git 
a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java 
b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
index fc91f9d..ff4d63f 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
@@ -1145,6 +1145,38 @@ public class TestJdbcDriver2 {
     assertFalse("Unexpected table", rs.next());
   }
 
+  @Test
+  public void testMetaDataGetTypeInfo() throws SQLException {
+    HiveBaseResultSet rs = (HiveBaseResultSet) con.getMetaData().getTypeInfo();
+    Set<String> typeInfos = new HashSet<String>();
+    typeInfos.add("BOOLEAN");
+    typeInfos.add("TINYINT");
+    typeInfos.add("SMALLINT");
+    typeInfos.add("INT");
+    typeInfos.add("BIGINT");
+    typeInfos.add("FLOAT");
+    typeInfos.add("DOUBLE");
+    typeInfos.add("STRING");
+    typeInfos.add("TIMESTAMP");
+    typeInfos.add("BINARY");
+    typeInfos.add("DECIMAL");
+    typeInfos.add("ARRAY");
+    typeInfos.add("MAP");
+    typeInfos.add("STRUCT");
+    typeInfos.add("UNIONTYPE");
+
+    int cnt = 0;
+    while (rs.next()) {
+      String typeInfo = rs.getString("TYPE_NAME");
+      assertEquals("Get by index different from get by name", rs.getString(1), 
typeInfo);
+      typeInfos.remove(typeInfo);
+      cnt++;
+    }
+    rs.close();
+    assertEquals("Incorrect typeInfo count.", 0, typeInfos.size());
+    assertTrue("Found less typeInfos than we test for.", cnt >= 
typeInfos.size());
+  }
+
   /**
    * Test the type returned for pre-created table type table and view type 
table
    * @param tableTypeNames expected table types

Reply via email to