Index: jdbc/src/test/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java =================================================================== --- jdbc/src/test/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java (revision 1083926) +++ jdbc/src/test/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java (working copy) @@ -481,9 +481,19 @@ cnt++; } rs.close(); - assertEquals("Incorrect schema count", 1, cnt); + assertEquals("Incorrect catalog count", 1, cnt); } + public void testMetaDataGetSchemas() throws SQLException { + ResultSet rs = (ResultSet)con.getMetaData().getSchemas(); + int cnt = 0; + while (rs.next()) { + cnt++; + } + rs.close(); + assertEquals("Incorrect schema count", 0, cnt); + } + public void testMetaDataGetTableTypes() throws SQLException { ResultSet rs = (ResultSet)con.getMetaData().getTableTypes(); Set tabletypes = new HashSet(); Index: jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveMetaDataResultSet.java =================================================================== --- jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveMetaDataResultSet.java (revision 1083926) +++ jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveMetaDataResultSet.java (working copy) @@ -29,9 +29,21 @@ public HiveMetaDataResultSet(final List columnNames , final List columnTypes , final List data) throws SQLException { - this.data = new ArrayList(data); - this.columnNames = new ArrayList(columnNames); - this.columnTypes = new ArrayList(columnTypes); + if (data!=null) { + this.data = new ArrayList(data); + } else { + this.data = new ArrayList(); + } + if (columnNames!=null) { + this.columnNames = new ArrayList(columnNames); + } else { + this.columnNames = new ArrayList(); + } + if (columnTypes!=null) { + this.columnTypes = new ArrayList(columnTypes); + } else { + this.columnTypes = new ArrayList(); + } } @Override