[ https://issues.apache.org/jira/browse/HIVE-4573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699670#comment-13699670 ]
N Campbell commented on HIVE-4573: ---------------------------------- while it is true that getTableTypes lists the types which exist, the Hive JDBC documentation continues to reference you to the standard JDBC pages where those types have existed since early days of JDBC. where was the change in types relative to prior releases etc documented re the change and purpose? as in ODBC, calling getTableTypes might help an application determine what types it 'expects' are shown to be supported or 'not'. However, for other types it becomes a crap shoot as to what a dynamic SQL application would presume to do re types listed that it is not familiar with. https://hive.apache.org/docs/r0.10.0/api/org/apache/hadoop/hive/jdbc/HiveDatabaseMetaData.html and follow the links from getTables(). http://docs.oracle.com/javase/6/docs/api/java/sql/DatabaseMetaData.html?is-external=true#getTables(java.lang.String, java.lang.String, java.lang.String, java.lang.String[]) > JDBC Compliance getTables > ------------------------- > > Key: HIVE-4573 > URL: https://issues.apache.org/jira/browse/HIVE-4573 > Project: Hive > Issue Type: Bug > Components: JDBC > Affects Versions: 0.10.0 > Reporter: Johndee Burks > Priority: Minor > > The getTables jdbc function no longer returns information when using normal > JDBC table types like TABLE or VIEW. You must now use a more specific type > such as MANAGED_TABLE or VIRTUAL_VIEW. An example application that will fail > to return results against 0.10 is below, works without issue in 0.9. In my > 0.10 test I used HS2. > {code} > import java.sql.SQLException; > import java.sql.Connection; > import java.sql.ResultSet; > import java.sql.Statement; > import java.sql.DriverManager; > import org.apache.hive.jdbc.HiveDriver; > import java.sql.DatabaseMetaData; > public class TestGet { > private static String driverName = "org.apache.hive.jdbc.HiveDriver"; > /** > * @param args > * @throws SQLException > */ > public static void main(String[] args) throws SQLException { > try { > Class.forName(driverName); > } catch (ClassNotFoundException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > System.exit(1); > } > Connection con = > DriverManager.getConnection("jdbc:hive2://hostname:10000/default"); > DatabaseMetaData dbmd = con.getMetaData(); > String[] types = {"TABLE"}; > ResultSet rs = dbmd.getTables(null, null, "%", types); > while (rs.next()) { > System.out.println(rs.getString("TABLE_NAME")); > } > } > } > } > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira