[ https://issues.apache.org/jira/browse/HIVE-5264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phabricator updated HIVE-5264: ------------------------------ Attachment: D12993.2.patch sershe updated the revision "HIVE-5264 [jira] SQL generated by MetaStoreDirectSql.java not compliant with Postgres.". small rebase (conflict with other patch) Reviewers: ashutoshc, JIRA REVISION DETAIL https://reviews.facebook.net/D12993 CHANGE SINCE LAST DIFF https://reviews.facebook.net/D12993?vs=40107&id=40443#toc AFFECTED FILES metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java To: JIRA, ashutoshc, sershe > SQL generated by MetaStoreDirectSql.java not compliant with Postgres. > --------------------------------------------------------------------- > > Key: HIVE-5264 > URL: https://issues.apache.org/jira/browse/HIVE-5264 > Project: Hive > Issue Type: Bug > Components: Metastore > Affects Versions: 0.12.0 > Environment: Ubuntu 12.04 > PostgreSQL 9.1.8 > Reporter: Alexander Behm > Assignee: Sergey Shelukhin > Attachments: D12993.1.patch, D12993.2.patch, HIVE-5264.01.patch, > HIVE-5264.patch > > > Some operations against the Hive Metastore seem broken > against Postgres. > For example, when using HiveMetastoreClient.listPartitions() > the Postgres logs show queries such as: > 2013-09-09 19:10:01 PDT STATEMENT: select PARTITIONS.PART_ID from > PARTITIONS inner join TBLS on PARTITIONS.TBL_ID = TBLS.TBL_ID inner > join DBS on TBLS.DB_ID = DBS.DB_ID where TBLS.TBL_NAME = $1 and > DBS.NAME = $2 order by PART_NAME asc > with a somewhat cryptic (but correct) error: > ERROR: relation "partitions" does not exist at character 32 > Postgres identifiers are somewhat unusual. Unquoted identifiers are > interpreted as lower case (there is no Postgres option to change this). Since > the Metastore table schema uses upper case table names, the correct SQL > requires escaped identifiers to those tables, i.e., > select "PARTITIONS"."PART_ID" from "PARTITIONS"... > Hive sets metastore.try.direct.sql=true by default, so the above SQL is > generated by hive/metastore/MetaStoreDirectSql.java, i.e., this is not a > Datanucleus problem. > When I set metastore.try.direct.sql=false, then the Metastore backed by > Postgres works. -- 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