[ https://issues.apache.org/jira/browse/HIVE-4573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13660422#comment-13660422 ]
Carl Steinbach commented on HIVE-4573: -------------------------------------- bq. The getTables jdbc function no longer returns information when using normal JDBC table types like TABLE or VIEW. It's not good that the behavior has changed between versions, nor that we're pretty clearly violating the principle of least astonishment for not good reason. At the same time though it's unfair to say that the driver doesn't use "normal JDBC table types" because JDBC doesn't define any "normal table types". This also helps to explain why DatabaseMetaData.getTableTypes() exists. > 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. > 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")); > } > } > } -- 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