You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Deepesh Khandelwal (JIRA)" <ji...@apache.org> on 2012/12/12 17:45:22 UTC
[jira] [Created] (HIVE-3794) Oracle upgrade script for Hive is
broken
Deepesh Khandelwal created HIVE-3794:
----------------------------------------
Summary: Oracle upgrade script for Hive is broken
Key: HIVE-3794
URL: https://issues.apache.org/jira/browse/HIVE-3794
Project: Hive
Issue Type: Bug
Components: SQL
Affects Versions: 0.10.0
Environment: Oracle 11g r2
Reporter: Deepesh Khandelwal
Priority: Critical
As part of Hive configuration for Oracle I ran the schema creation script for Oracle. Here is what I observed when ran the script:
% sqlplus hive/hive@xe
SQL*Plus: Release 11.2.0.2.0 Production on Mon Dec 10 18:47:11 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> @scripts/metastore/upgrade/oracle/hive-schema-0.10.0.oracle.sql;
.....
ALTER TABLE SKEWED_STRING_LIST_VALUES ADD CONSTRAINT SKEWED_STRING_LIST_VALUES_FK1 FOREIGN KEY (STRING_LIST_ID) REFERENCES SKEWED_STRING_LIST (STRING_LIST_ID) INITIALLY DEFERRED
*
ERROR at line 1:
{color:red}ORA-00904: "STRING_LIST_ID": invalid identifier{color}
.....
ALTER TABLE SKEWED_STRING_LIST_VALUES ADD CONSTRAINT SKEWED_STRING_LIST_VALUES_FK1 FOREIGN KEY (STRING_LIST_ID) REFERENCES SKEWED_STRING_LIST (STRING_LIST_ID) INITIALLY DEFERRED
*
ERROR at line 1:
{color:red}ORA-00904: "STRING_LIST_ID": invalid identifier{color}
Table created.
Table altered.
Table altered.
CREATE TABLE SKEWED_COL_VALUE_LOCATION_MAPPING
*
ERROR at line 1:
{color:red}ORA-00972: identifier is too long{color}
Table created.
Table created.
ALTER TABLE SKEWED_COL_VALUE_LOCATION_MAPPING ADD CONSTRAINT SKEWED_COL_VALUE_LOCATION_MAPPING_PK PRIMARY KEY (SD_ID,STRING_LIST_ID_KID)
*
ERROR at line 1:
{color:red}ORA-00972: identifier is too long{color}
ALTER TABLE SKEWED_COL_VALUE_LOCATION_MAPPING ADD CONSTRAINT SKEWED_COL_VALUE_LOCATION_MAPPING_FK1 FOREIGN KEY (STRING_LIST_ID_KID) REFERENCES SKEWED_STRING_LIST (STRING_LIST_ID) INITIALLY DEFERRED
*
ERROR at line 1:
{color:red}ORA-00972: identifier is too long{color}
ALTER TABLE SKEWED_COL_VALUE_LOCATION_MAPPING ADD CONSTRAINT SKEWED_COL_VALUE_LOCATION_MAPPING_FK2 FOREIGN KEY (SD_ID) REFERENCES SDS (SD_ID) INITIALLY DEFERRED
*
ERROR at line 1:
{color:red}ORA-00972: identifier is too long{color}
Table created.
Table altered.
ALTER TABLE SKEWED_VALUES ADD CONSTRAINT SKEWED_VALUES_FK1 FOREIGN KEY (STRING_LIST_ID_EID) REFERENCES SKEWED_STRING_LIST (STRING_LIST_ID) INITIALLY DEFERRED
*
ERROR at line 1:
{color:red}ORA-00904: "STRING_LIST_ID": invalid identifier{color}
Basically there are two issues here with the Oracle sql script:
(1) Table "SKEWED_STRING_LIST" is created with the column "SD_ID". Later the script tries to reference "STRING_LIST_ID" column in "SKEWED_STRING_LIST" which is obviously not there. Comparing the sql with that for other flavors it seems it should be "STRING_LIST_ID".
(2) Table name "SKEWED_COL_VALUE_LOCATION_MAPPING" is too long for Oracle which limits identifier names to 30 characters. Also impacted are identifiers "SKEWED_COL_VALUE_LOCATION_MAPPING_PK" and "SKEWED_COL_VALUE_LOCATION_MAPPING_FK1".
--
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