From 6ee3075bb0bef915eda0b2aed2f226eb8987d186 Mon Sep 17 00:00:00 2001 From: Deepesh Khandelwal Date: Thu, 22 May 2014 20:48:10 -0700 Subject: [PATCH] HIVE-7118: Oracle upgrade schema scripts do not map Java long datatype columns correctly for transaction related tables --- .../upgrade/oracle/019-HIVE-7118.oracle.sql | 38 ++++++++++ .../upgrade/oracle/hive-schema-0.14.0.oracle.sql | 2 +- .../oracle/hive-txn-schema-0.14.0.oracle.sql | 88 ++++++++++++++++++++++ .../oracle/upgrade-0.13.0-to-0.14.0.oracle.sql | 2 + 4 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 metastore/scripts/upgrade/oracle/019-HIVE-7118.oracle.sql create mode 100644 metastore/scripts/upgrade/oracle/hive-txn-schema-0.14.0.oracle.sql diff --git a/metastore/scripts/upgrade/oracle/019-HIVE-7118.oracle.sql b/metastore/scripts/upgrade/oracle/019-HIVE-7118.oracle.sql new file mode 100644 index 0000000..b34f406 --- /dev/null +++ b/metastore/scripts/upgrade/oracle/019-HIVE-7118.oracle.sql @@ -0,0 +1,38 @@ +ALTER TABLE TXNS MODIFY ( + TXN_ID NUMBER(19), + TXN_STARTED NUMBER(19), + TXN_LAST_HEARTBEAT NUMBER(19) +); + +ALTER TABLE TXN_COMPONENTS MODIFY ( + TC_TXNID NUMBER(19) +); + +ALTER TABLE COMPLETED_TXN_COMPONENTS MODIFY ( + CTC_TXNID NUMBER(19) +); + +ALTER TABLE NEXT_TXN_ID MODIFY ( + NTXN_NEXT NUMBER(19) +); + +ALTER TABLE HIVE_LOCKS MODIFY ( + HL_LOCK_EXT_ID NUMBER(19), + HL_LOCK_INT_ID NUMBER(19), + HL_TXNID NUMBER(19), + HL_LAST_HEARTBEAT NUMBER(19), + HL_ACQUIRED_AT NUMBER(19) +); + +ALTER TABLE NEXT_LOCK_ID MODIFY ( + NL_NEXT NUMBER(19) +); + +ALTER TABLE COMPACTION_QUEUE MODIFY ( + CQ_ID NUMBER(19), + CQ_START NUMBER(19) +); + +ALTER TABLE NEXT_COMPACTION_QUEUE_ID MODIFY ( + NCQ_NEXT NUMBER(19) +); diff --git a/metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql b/metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql index d43b59b..4f24ad1 100644 --- a/metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql +++ b/metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql @@ -756,7 +756,7 @@ CREATE INDEX FUNC_RU_N49 ON FUNC_RU (FUNC_ID); ------------------------------ -- Transaction and lock tables ------------------------------ -@hive-txn-schema-0.13.0.oracle.sql; +@hive-txn-schema-0.14.0.oracle.sql; -- ----------------------------------------------------------------- -- Record schema version. Should be the last step in the init script diff --git a/metastore/scripts/upgrade/oracle/hive-txn-schema-0.14.0.oracle.sql b/metastore/scripts/upgrade/oracle/hive-txn-schema-0.14.0.oracle.sql new file mode 100644 index 0000000..7435ea8 --- /dev/null +++ b/metastore/scripts/upgrade/oracle/hive-txn-schema-0.14.0.oracle.sql @@ -0,0 +1,88 @@ +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the License); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an AS IS BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- +-- Tables for transaction management +-- + +CREATE TABLE TXNS ( + TXN_ID NUMBER(19) PRIMARY KEY, + TXN_STATE char(1) NOT NULL, + TXN_STARTED NUMBER(19) NOT NULL, + TXN_LAST_HEARTBEAT NUMBER(19) NOT NULL, + TXN_USER varchar(128) NOT NULL, + TXN_HOST varchar(128) NOT NULL +); + +CREATE TABLE TXN_COMPONENTS ( + TC_TXNID NUMBER(19) REFERENCES TXNS (TXN_ID), + TC_DATABASE VARCHAR2(128) NOT NULL, + TC_TABLE VARCHAR2(128), + TC_PARTITION VARCHAR2(767) NULL +); + +CREATE TABLE COMPLETED_TXN_COMPONENTS ( + CTC_TXNID NUMBER(19), + CTC_DATABASE varchar(128) NOT NULL, + CTC_TABLE varchar(128), + CTC_PARTITION varchar(767) +); + +CREATE TABLE NEXT_TXN_ID ( + NTXN_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_TXN_ID VALUES(1); + +CREATE TABLE HIVE_LOCKS ( + HL_LOCK_EXT_ID NUMBER(19) NOT NULL, + HL_LOCK_INT_ID NUMBER(19) NOT NULL, + HL_TXNID NUMBER(19), + HL_DB VARCHAR2(128) NOT NULL, + HL_TABLE VARCHAR2(128), + HL_PARTITION VARCHAR2(767), + HL_LOCK_STATE CHAR(1) NOT NULL, + HL_LOCK_TYPE CHAR(1) NOT NULL, + HL_LAST_HEARTBEAT NUMBER(19) NOT NULL, + HL_ACQUIRED_AT NUMBER(19), + HL_USER varchar(128) NOT NULL, + HL_HOST varchar(128) NOT NULL, + PRIMARY KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID) +); + +CREATE INDEX HL_TXNID_INDEX ON HIVE_LOCKS (HL_TXNID); + +CREATE TABLE NEXT_LOCK_ID ( + NL_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_LOCK_ID VALUES(1); + +CREATE TABLE COMPACTION_QUEUE ( + CQ_ID NUMBER(19) PRIMARY KEY, + CQ_DATABASE varchar(128) NOT NULL, + CQ_TABLE varchar(128) NOT NULL, + CQ_PARTITION varchar(767), + CQ_STATE char(1) NOT NULL, + CQ_TYPE char(1) NOT NULL, + CQ_WORKER_ID varchar(128), + CQ_START NUMBER(19), + CQ_RUN_AS varchar(128) +); + +CREATE TABLE NEXT_COMPACTION_QUEUE_ID ( + NCQ_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); + + diff --git a/metastore/scripts/upgrade/oracle/upgrade-0.13.0-to-0.14.0.oracle.sql b/metastore/scripts/upgrade/oracle/upgrade-0.13.0-to-0.14.0.oracle.sql index b212fdb..11f7dc6 100644 --- a/metastore/scripts/upgrade/oracle/upgrade-0.13.0-to-0.14.0.oracle.sql +++ b/metastore/scripts/upgrade/oracle/upgrade-0.13.0-to-0.14.0.oracle.sql @@ -1,4 +1,6 @@ SELECT 'Upgrading MetaStore schema from 0.13.0 to 0.14.0' AS Status from dual; +@019-HIVE-7118.oracle.sql; + UPDATE VERSION SET SCHEMA_VERSION='0.14.0', VERSION_COMMENT='Hive release version 0.14.0' where VER_ID=1; SELECT 'Finished upgrading MetaStore schema from 0.13.0 to 0.14.0' AS Status from dual; -- 1.8.5.2 (Apple Git-48)