hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phabricator (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-5264) SQL generated by MetaStoreDirectSql.java not compliant with Postgres.
Date Wed, 25 Sep 2013 16:46:04 GMT

     [ 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

Mime
View raw message