[ 
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

Reply via email to