From 077a9d43e285cc0ec3f01c07528e384d54afc9ff Mon Sep 17 00:00:00 2001 From: Xiaobing Zhou Date: Tue, 20 Jan 2015 13:32:06 -0800 Subject: [PATCH] HIVE-9208: MetaStore DB schema inconsistent for MS SQL Server in use of varchar/nvarchar --- .../scripts/upgrade/mssql/006-HIVE-9208.mssql.sql | 41 ++++++++++++++++++++++ .../upgrade/mssql/hive-schema-0.15.0.mssql.sql | 16 ++++----- .../mssql/upgrade-0.14.0-to-0.15.0.mssql.sql | 1 + 3 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 metastore/scripts/upgrade/mssql/006-HIVE-9208.mssql.sql diff --git metastore/scripts/upgrade/mssql/006-HIVE-9208.mssql.sql metastore/scripts/upgrade/mssql/006-HIVE-9208.mssql.sql new file mode 100644 index 0000000..8325c33 --- /dev/null +++ metastore/scripts/upgrade/mssql/006-HIVE-9208.mssql.sql @@ -0,0 +1,41 @@ +--ALTER COMPLETED_TXN_COMPONENTS.CTC_PARTITION to nvarchar +ALTER TABLE COMPLETED_TXN_COMPONENTS ALTER COLUMN CTC_PARTITION nvarchar(767) NULL; + +--ALTER COMPACTION_QUEUE.CQ_PARTITION to nvarchar +ALTER TABLE COMPACTION_QUEUE ALTER COLUMN CQ_PARTITION nvarchar(767) NULL; + +--ALTER HIVE_LOCKS.HL_PARTITION to nvarchar +ALTER TABLE HIVE_LOCKS ALTER COLUMN HL_PARTITION nvarchar(767) NULL; + +--ALTER TXN_COMPONENTS.TC_PARTITION to nvarchar +ALTER TABLE TXN_COMPONENTS ALTER COLUMN TC_PARTITION nvarchar(767) NULL; + + +--ALTER PART_COL_STATS.PARTITION_NAME from varchar to nvarchar +DROP INDEX PART_COL_STATS.PCS_STATS_IDX; +ALTER TABLE PART_COL_STATS ALTER COLUMN PARTITION_NAME NVARCHAR(767) NOT NULL; +CREATE INDEX PCS_STATS_IDX ON PART_COL_STATS (DB_NAME,TABLE_NAME,COLUMN_NAME,PARTITION_NAME); +GO + + +--ALTER PARTITION_EVENTS.PARTITION_NAME from varchar to nvarchar +DROP INDEX PARTITION_EVENTS.PARTITIONEVENTINDEX; +ALTER TABLE PARTITION_EVENTS ALTER COLUMN PARTITION_NAME NVARCHAR(767) NULL; +CREATE INDEX PARTITIONEVENTINDEX ON PARTITION_EVENTS (PARTITION_NAME); +GO + +--ALTER PARTITION_KEYS.PKEY_NAME from varchar to nvarchar +ALTER TABLE PARTITION_KEYS DROP CONSTRAINT PARTITION_KEY_PK; +ALTER TABLE PARTITION_KEYS ALTER COLUMN PKEY_NAME NVARCHAR(128) NOT NULL; +ALTER TABLE PARTITION_KEYS ADD CONSTRAINT PARTITION_KEY_PK PRIMARY KEY (TBL_ID,PKEY_NAME); +GO + + +--ALTER PARTITION_PARAMS.PARAM_VALUE from varchar to nvarchar +ALTER TABLE PARTITION_PARAMS DROP CONSTRAINT PARTITION_PARAMS_PK; +ALTER TABLE PARTITION_PARAMS ALTER COLUMN PARAM_VALUE NVARCHAR(4000) NOT NULL; +ALTER TABLE PARTITION_PARAMS ADD CONSTRAINT PARTITION_PARAMS_PK PRIMARY KEY (PART_ID,PARAM_KEY); +GO + +--ALTER SKEWED_COL_VALUE_LOC_MAP.LOCATION +ALTER TABLE SKEWED_COL_VALUE_LOC_MAP ALTER COLUMN LOCATION nvarchar(4000) NULL; \ No newline at end of file diff --git metastore/scripts/upgrade/mssql/hive-schema-0.15.0.mssql.sql metastore/scripts/upgrade/mssql/hive-schema-0.15.0.mssql.sql index 7ca9b24..cee471c 100644 --- metastore/scripts/upgrade/mssql/hive-schema-0.15.0.mssql.sql +++ metastore/scripts/upgrade/mssql/hive-schema-0.15.0.mssql.sql @@ -91,7 +91,7 @@ CREATE TABLE PART_COL_STATS NUM_NULLS bigint NOT NULL, NUM_TRUES bigint NULL, PART_ID bigint NULL, - PARTITION_NAME varchar(767) NOT NULL, + PARTITION_NAME nvarchar(767) NOT NULL, "TABLE_NAME" varchar(128) NOT NULL ); @@ -386,7 +386,7 @@ CREATE TABLE PARTITION_EVENTS DB_NAME varchar(128) NULL, EVENT_TIME bigint NOT NULL, EVENT_TYPE int NOT NULL, - PARTITION_NAME varchar(767) NULL, + PARTITION_NAME nvarchar(767) NULL, TBL_NAME varchar(128) NULL ); @@ -448,7 +448,7 @@ CREATE TABLE PARTITION_KEYS ( TBL_ID bigint NOT NULL, PKEY_COMMENT varchar(4000) NULL, - PKEY_NAME varchar(128) NOT NULL, + PKEY_NAME nvarchar(128) NOT NULL, PKEY_TYPE varchar(767) NOT NULL, INTEGER_IDX int NOT NULL ); @@ -555,7 +555,7 @@ CREATE TABLE PARTITION_PARAMS ( PART_ID bigint NOT NULL, PARAM_KEY varchar(256) NOT NULL, - PARAM_VALUE varchar(4000) NULL + PARAM_VALUE nvarchar(4000) NULL ); ALTER TABLE PARTITION_PARAMS ADD CONSTRAINT PARTITION_PARAMS_PK PRIMARY KEY (PART_ID,PARAM_KEY); @@ -860,7 +860,7 @@ CREATE TABLE COMPACTION_QUEUE( CQ_ID bigint NOT NULL, CQ_DATABASE varchar(128) NOT NULL, CQ_TABLE varchar(128) NOT NULL, - CQ_PARTITION varchar(767) NULL, + CQ_PARTITION nvarchar(767) NULL, CQ_STATE char(1) NOT NULL, CQ_TYPE char(1) NOT NULL, CQ_WORKER_ID varchar(128) NULL, @@ -876,7 +876,7 @@ CREATE TABLE COMPLETED_TXN_COMPONENTS( CTC_TXNID bigint NULL, CTC_DATABASE varchar(128) NOT NULL, CTC_TABLE varchar(128) NULL, - CTC_PARTITION varchar(767) NULL + CTC_PARTITION nvarchar(767) NULL ); CREATE TABLE HIVE_LOCKS( @@ -885,7 +885,7 @@ CREATE TABLE HIVE_LOCKS( HL_TXNID bigint NULL, HL_DB varchar(128) NOT NULL, HL_TABLE varchar(128) NULL, - HL_PARTITION varchar(767) NULL, + HL_PARTITION nvarchar(767) NULL, HL_LOCK_STATE char(1) NOT NULL, HL_LOCK_TYPE char(1) NOT NULL, HL_LAST_HEARTBEAT bigint NOT NULL, @@ -934,7 +934,7 @@ CREATE TABLE TXN_COMPONENTS( TC_TXNID bigint NULL, TC_DATABASE varchar(128) NOT NULL, TC_TABLE varchar(128) NULL, - TC_PARTITION varchar(767) NULL + TC_PARTITION nvarchar(767) NULL ); ALTER TABLE TXN_COMPONENTS WITH CHECK ADD FOREIGN KEY(TC_TXNID) REFERENCES TXNS (TXN_ID); diff --git metastore/scripts/upgrade/mssql/upgrade-0.14.0-to-0.15.0.mssql.sql metastore/scripts/upgrade/mssql/upgrade-0.14.0-to-0.15.0.mssql.sql index 36a5210..d930afa 100644 --- metastore/scripts/upgrade/mssql/upgrade-0.14.0-to-0.15.0.mssql.sql +++ metastore/scripts/upgrade/mssql/upgrade-0.14.0-to-0.15.0.mssql.sql @@ -1,6 +1,7 @@ SELECT 'Upgrading MetaStore schema from 0.14.0 to 0.15.0' AS MESSAGE; :r 005-HIVE-9296.mssql.sql; +:r 006-HIVE-9208.mssql.sql; UPDATE VERSION SET SCHEMA_VERSION='0.15.0', VERSION_COMMENT='Hive release version 0.15.0' where VER_ID=1; SELECT 'Finished upgrading MetaStore schema from 0.14.0 to 0.15.0' AS MESSAGE; -- 1.9.3 (Apple Git-50)