You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Hosur Narahari (JIRA)" <ji...@apache.org> on 2018/09/25 16:23:00 UTC
[jira] [Created] (KYLIN-3594) Select with Catalog fails
Hosur Narahari created KYLIN-3594:
-------------------------------------
Summary: Select with Catalog fails
Key: KYLIN-3594
URL: https://issues.apache.org/jira/browse/KYLIN-3594
Project: Kylin
Issue Type: Bug
Reporter: Hosur Narahari
By using DatabaseMetaData if we get catalog using getCatalogs() method, it return value "defaultCatalog". It returns actual hive schema when we execute getSchemas().
According to JDBC contract, catalog.schema.table should be valid from clause and many query layers use that. But kylin fails when we execute that query.
I've tried to write sample code piece for that below.
_DatabaseMetaData db = conn.getMetaData();_
_ResultSet catalogSet = db.getCatalogs();_
_String catalog = "";_
_if(catalogSet.next()) {_
_catalog = catalogSet.getString("TABLE_CAT");_
_}_
_ResultSet schemaSet = db.getSchemas();_
_String schema = "";_
_if(schemaSet.next()) {_
_schema = schemaSet.getString("TABLE_SCHEM");_
_}_
_StringBuilder sb = new StringBuilder("SELECT * FROM ");_
_if(!catalog.isEmpty()) {_
_sb.append(catalog + ".");_
_}_
_if(!schema.isEmpty()) {_
_sb.append(schema + ".");_
_}_
_sb.append("kylin_sales limit 10");_
_String query = sb.toString();_
_Statement stat = conn.createStatement();_
_ResultSet rs = stat.executeQuery(query);_
_while(rs.next()) {_
_System.out.println(rs.getObject("trans_id"));_
_}_
In short, the above snippet is executing the query,
_select * from defaultCatalog.DEFAULT.kylin_sales._
Same thing happens even with different schemas if we have like,
_select * from defaultCatalog.test.kylin_sales_ also fails.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)