[ https://issues.apache.org/jira/browse/HIVE-5264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phabricator updated HIVE-5264: ------------------------------ Attachment: D12993.1.patch sershe requested code review of "HIVE-5264 [jira] SQL generated by MetaStoreDirectSql.java not compliant with Postgres.". Reviewers: JIRA Updating the patch. I've run TestCliDriver against pgsql and mysql and no queries fail do to the issues pertaining to this patch, other than because of HIVE-5304 (which also affects JDO and ordering). Some queries fail on postgres due to unrelated reasons (for example, non-ascii comments) also covered in HIVE-5304. TEST PLAN All tests; CLI test against MySQL and Postgres. REVISION DETAIL https://reviews.facebook.net/D12993 AFFECTED FILES metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java MANAGE HERALD RULES https://reviews.facebook.net/herald/view/differential/ WHY DID I GET THIS EMAIL? https://reviews.facebook.net/herald/transcript/31047/ To: JIRA, 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, 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