commit 450976a40302a97bf7691b9655e44e0d82ddb6e5 Author: Vihang Karajgaonkar Date: Mon May 1 14:39:22 2017 -0700 HIVE-16556 : Modify schematool scripts to initialize and create METASTORE_DB_PROPERTIES table diff --git a/metastore/scripts/upgrade/derby/040-HIVE-16556.derby.sql b/metastore/scripts/upgrade/derby/040-HIVE-16556.derby.sql new file mode 100644 index 0000000000000000000000000000000000000000..69e0d41b9b73836aab67a856bd0a5361fa35f36b --- /dev/null +++ b/metastore/scripts/upgrade/derby/040-HIVE-16556.derby.sql @@ -0,0 +1,5 @@ +CREATE TABLE "APP"."METASTORE_DB_PROPERTIES" ("PROPERTY_ID" BIGINT NOT NULL, "PROPERTY_KEY" VARCHAR(255) NOT NULL, "PROPERTY_VALUE" VARCHAR(1000) NOT NULL, "DESC" VARCHAR(1000)); + +ALTER TABLE "APP"."METASTORE_DB_PROPERTIES" ADD CONSTRAINT "UNIQUE_PROPERTY_KEY" UNIQUE ("PROPERTY_KEY"); + +ALTER TABLE "APP"."METASTORE_DB_PROPERTIES" ADD CONSTRAINT "PROPERTY_ID_PK" PRIMARY KEY ("PROPERTY_ID"); diff --git a/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql b/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql index 8877681e05f9d9ecb3bec5d8579772b386dc7f08..ec9dcb64d0249660e14a560a0dcb03cb588c4954 100644 --- a/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql +++ b/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql @@ -106,6 +106,8 @@ CREATE TABLE "APP"."NOTIFICATION_LOG" ("NL_ID" BIGINT NOT NULL, "DB_NAME" VARCHA CREATE TABLE "APP"."NOTIFICATION_SEQUENCE" ("NNI_ID" BIGINT NOT NULL, "NEXT_EVENT_ID" BIGINT NOT NULL); +CREATE TABLE "APP"."METASTORE_DB_PROPERTIES" ("PROPERTY_ID" BIGINT NOT NULL, "PROPERTY_KEY" VARCHAR(255) NOT NULL, "PROPERTY_VALUE" VARCHAR(1000) NOT NULL, "DESC" VARCHAR(1000)); + CREATE TABLE "APP"."KEY_CONSTRAINTS" ("CHILD_CD_ID" BIGINT, "CHILD_INTEGER_IDX" INTEGER NOT NULL, "CHILD_TBL_ID" BIGINT, "PARENT_CD_ID" BIGINT NOT NULL, "PARENT_INTEGER_IDX" INTEGER, "PARENT_TBL_ID" BIGINT NOT NULL, "POSITION" BIGINT NOT NULL, "CONSTRAINT_NAME" VARCHAR(400) NOT NULL, "CONSTRAINT_TYPE" SMALLINT NOT NULL, "UPDATE_RULE" SMALLINT, "DELETE_RULE" SMALLINT, "ENABLE_VALIDATE_RELY" SMALLINT NOT NULL); ALTER TABLE "APP"."KEY_CONSTRAINTS" ADD CONSTRAINT "CONSTRAINTS_PK" PRIMARY KEY ("CONSTRAINT_NAME", "POSITION"); @@ -241,6 +243,10 @@ ALTER TABLE "APP"."NOTIFICATION_LOG" ADD CONSTRAINT "NOTIFICATION_LOG_PK" PRIMAR ALTER TABLE "APP"."NOTIFICATION_SEQUENCE" ADD CONSTRAINT "NOTIFICATION_SEQUENCE_PK" PRIMARY KEY ("NNI_ID"); +ALTER TABLE "APP"."METASTORE_DB_PROPERTIES" ADD CONSTRAINT "PROPERTY_ID_PK" PRIMARY KEY ("PROPERTY_ID"); + +ALTER TABLE "APP"."METASTORE_DB_PROPERTIES" ADD CONSTRAINT "UNIQUE_PROPERTY_KEY" UNIQUE ("PROPERTY_KEY"); + -- foreign ALTER TABLE "APP"."IDXS" ADD CONSTRAINT "IDXS_FK1" FOREIGN KEY ("ORIG_TBL_ID") REFERENCES "APP"."TBLS" ("TBL_ID") ON DELETE NO ACTION ON UPDATE NO ACTION; diff --git a/metastore/scripts/upgrade/derby/upgrade-2.3.0-to-3.0.0.derby.sql b/metastore/scripts/upgrade/derby/upgrade-2.3.0-to-3.0.0.derby.sql index 3bba5235eb630e4ee5d14bf7f163dfb7166df0ed..7295c20d1099d8ae0240dbbf421b470c49a08d07 100644 --- a/metastore/scripts/upgrade/derby/upgrade-2.3.0-to-3.0.0.derby.sql +++ b/metastore/scripts/upgrade/derby/upgrade-2.3.0-to-3.0.0.derby.sql @@ -1,3 +1,5 @@ -- Upgrade MetaStore schema from 2.3.0 to 3.0.0 +RUN '040-HIVE-16556.derby.sql'; + UPDATE "APP".VERSION SET SCHEMA_VERSION='3.0.0', VERSION_COMMENT='Hive release version 3.0.0' where VER_ID=1; diff --git a/metastore/scripts/upgrade/mssql/025-HIVE-16556.mssql.sql b/metastore/scripts/upgrade/mssql/025-HIVE-16556.mssql.sql new file mode 100644 index 0000000000000000000000000000000000000000..fc27dfe91a48cf9029b7965c5b91ac6a82b60a34 --- /dev/null +++ b/metastore/scripts/upgrade/mssql/025-HIVE-16556.mssql.sql @@ -0,0 +1,10 @@ +CREATE TABLE METASTORE_DB_PROPERTIES ( + PROPERTY_ID BIGINT NOT NULL, + PROPERTY_KEY VARCHAR(255) NOT NULL, + PROPERTY_VALUE VARCHAR(1000) NOT NULL, + DESC VARCHAR(1000) +); + +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT METASTORE_DB_PROPERTIES_PK PRIMARY KEY (PROPERTY_ID); + +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT UNIQUE_PROPERTY_KEY UNIQUE (PROPERTY_KEY); diff --git a/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql b/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql index d1b2588c1c173fd7fb116374d3871544bf27f2ab..200e4e8f18a673d8c5d398e74bfd9a9310f66d91 100644 --- a/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql +++ b/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql @@ -1014,6 +1014,16 @@ CREATE TABLE WRITE_SET ( WS_OPERATION_TYPE char(1) NOT NULL ); +CREATE TABLE METASTORE_DB_PROPERTIES ( + PROPERTY_ID BIGINT NOT NULL, + PROPERTY_KEY VARCHAR(255) NOT NULL, + PROPERTY_VALUE VARCHAR(1000) NOT NULL, + DESC VARCHAR(1000) +); + +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT METASTORE_DB_PROPERTIES_PK PRIMARY KEY (PROPERTY_ID); + +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT UNIQUE_PROPERTY_KEY UNIQUE (PROPERTY_KEY); -- ----------------------------------------------------------------- -- Record schema version. Should be the last step in the init script diff --git a/metastore/scripts/upgrade/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql b/metastore/scripts/upgrade/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql index 94d18a34d37dea44a684242cbe1bdc5c3784d2e6..b7656e02afb87fbc259f3a4d77ff23afebc9a84c 100644 --- a/metastore/scripts/upgrade/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql +++ b/metastore/scripts/upgrade/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql @@ -1,4 +1,6 @@ SELECT 'Upgrading MetaStore schema from 2.3.0 to 3.0.0' AS MESSAGE; +:r 025-HIVE-16556.mssql.sql + UPDATE VERSION SET SCHEMA_VERSION='3.0.0', VERSION_COMMENT='Hive release version 3.0.0' where VER_ID=1; SELECT 'Finished upgrading MetaStore schema from 2.3.0 to 3.0.0' AS MESSAGE; diff --git a/metastore/scripts/upgrade/mysql/040-HIVE-16556.mysql.sql b/metastore/scripts/upgrade/mysql/040-HIVE-16556.mysql.sql new file mode 100644 index 0000000000000000000000000000000000000000..fe29aa9b97ecac17327b260123462c55158341c5 --- /dev/null +++ b/metastore/scripts/upgrade/mysql/040-HIVE-16556.mysql.sql @@ -0,0 +1,11 @@ +-- +-- Table structure for table METASTORE_DB_PROPERTIES +-- +CREATE TABLE IF NOT EXISTS `METASTORE_DB_PROPERTIES` ( + `PROPERTY_ID` BIGINT(20) NOT NULL, + `PROPERTY_KEY` varchar(255) NOT NULL, + `PROPERTY_VALUE` varchar(1000) NOT NULL, + `DESC` varchar(1000), + PRIMARY KEY(`PROPERTY_ID`), + UNIQUE KEY `UNIQUE_PROPERTY_KEY` (`PROPERTY_KEY`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; diff --git a/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql b/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql index 4db2f34159d6650fab4179d1478c6c91c72b5351..9458605276ce551589363b5bade452e968e1acd6 100644 --- a/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql +++ b/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql @@ -829,6 +829,18 @@ CREATE TABLE IF NOT EXISTS `KEY_CONSTRAINTS` CREATE INDEX `CONSTRAINTS_PARENT_TABLE_ID_INDEX` ON KEY_CONSTRAINTS (`PARENT_TBL_ID`) USING BTREE; +-- ----------------------------- +-- Metastore DB Properties table +-- ----------------------------- +CREATE TABLE IF NOT EXISTS `METASTORE_DB_PROPERTIES` ( + `PROPERTY_ID` BIGINT(20) NOT NULL, + `PROPERTY_KEY` varchar(255) NOT NULL, + `PROPERTY_VALUE` varchar(1000) NOT NULL, + `DESC` varchar(1000), + PRIMARY KEY(`PROPERTY_ID`), + UNIQUE KEY `UNIQUE_PROPERTY_KEY` (`PROPERTY_KEY`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + -- ---------------------------- -- Transaction and Lock Tables -- ---------------------------- diff --git a/metastore/scripts/upgrade/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql b/metastore/scripts/upgrade/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql index e5d82e10160c2eab8571b3cd8f3078fbebcf3c5c..562df3055298838f288563313dcc4f416e58cb4d 100644 --- a/metastore/scripts/upgrade/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql +++ b/metastore/scripts/upgrade/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql @@ -1,5 +1,7 @@ SELECT 'Upgrading MetaStore schema from 2.3.0 to 3.0.0' AS ' '; +SOURCE 040-HIVE-16556.mysql.sql; + UPDATE VERSION SET SCHEMA_VERSION='3.0.0', VERSION_COMMENT='Hive release version 3.0.0' where VER_ID=1; SELECT 'Finished upgrading MetaStore schema from 2.3.0 to 3.0.0' AS ' '; diff --git a/metastore/scripts/upgrade/oracle/040-HIVE-16556.oracle.sql b/metastore/scripts/upgrade/oracle/040-HIVE-16556.oracle.sql new file mode 100644 index 0000000000000000000000000000000000000000..2d1db809099861e140f043169f72e1400ecaa94f --- /dev/null +++ b/metastore/scripts/upgrade/oracle/040-HIVE-16556.oracle.sql @@ -0,0 +1,11 @@ +CREATE TABLE METASTORE_DB_PROPERTIES +( + PROPERTY_ID NUMBER NOT NULL, + PROPERTY_KEY VARCHAR(255) NOT NULL, + PROPERTY_VALUE VARCHAR(1000) NOT NULL, + DESC VARCHAR(1000) +); + +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT UNIQUE_PROPERTY_KEY UNIQUE (PROPERTY_KEY); + +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT PROPERTY_ID_PK PRIMARY_KEY (PROPERTY_ID); diff --git a/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql b/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql index 7907c59f35a4575a614fdfd0419486156130ab23..8e5ab77df14fcc7cf3a881b335b4365a5ae0bf79 100644 --- a/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql +++ b/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql @@ -799,7 +799,18 @@ ALTER TABLE KEY_CONSTRAINTS ADD CONSTRAINT CONSTRAINTS_PK PRIMARY KEY (CONSTRAIN CREATE INDEX CONSTRAINTS_PT_INDEX ON KEY_CONSTRAINTS(PARENT_TBL_ID); +-- Table for METASTORE_DB_PROPERTIES and its constraints +CREATE TABLE METASTORE_DB_PROPERTIES +( + PROPERTY_ID NUMBER NOT NULL, + PROPERTY_KEY VARCHAR(255) NOT NULL, + PROPERTY_VALUE VARCHAR(1000) NOT NULL, + DESC VARCHAR(1000) +); + +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT UNIQUE_PROPERTY_KEY UNIQUE (PROPERTY_KEY); +ALTER TABLE METASTORE_DB_PROPERTIES ADD CONSTRAINT PROPERTY_ID_PK PRIMARY KEY (PROPERTY_ID); ------------------------------ -- Transaction and lock tables ------------------------------ diff --git a/metastore/scripts/upgrade/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql b/metastore/scripts/upgrade/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql index 31c4f5dfbd94fd52317ad0cd65517e09925767f7..549efbd1f910453c8f776d3881c40aa03df07fc7 100644 --- a/metastore/scripts/upgrade/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql +++ b/metastore/scripts/upgrade/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql @@ -1,4 +1,6 @@ SELECT 'Upgrading MetaStore schema from 2.3.0 to 3.0.0' AS Status from dual; +@040-HIVE-16556.oracle.sql; + UPDATE VERSION SET SCHEMA_VERSION='3.0.0', VERSION_COMMENT='Hive release version 3.0.0' where VER_ID=1; SELECT 'Finished upgrading MetaStore schema from 2.3.0 to 3.0.0' AS Status from dual; diff --git a/metastore/scripts/upgrade/postgres/040-HIVE-16556.postgres.sql b/metastore/scripts/upgrade/postgres/040-HIVE-16556.postgres.sql new file mode 100644 index 0000000000000000000000000000000000000000..4eec3d41f8ddd39c5caa5a3407bee5f76a756575 --- /dev/null +++ b/metastore/scripts/upgrade/postgres/040-HIVE-16556.postgres.sql @@ -0,0 +1,13 @@ +CREATE TABLE "METASTORE_DB_PROPERTIES" +( + "PROPERTY_ID" BIGINT NOT NULL, + "PROPERTY_KEY" VARCHAR(255) NOT NULL, + "PROPERTY_VALUE" VARCHAR(1000) NOT NULL, + "DESC" VARCHAR(1000) +); + +ALTER TABLE ONLY "METASTORE_DB_PROPERTIES" + ADD CONSTRAINT "UNIQUE_PROPERTY_KEY" UNIQUE ("PROPERTY_KEY"); + +ALTER TABLE ONLY "METASTORE_DB_PROPERTIES" + ADD CONSTRAINT "METASTORE_DB_PROPERTIES_pkey" PRIMARY KEY ("PROPERTY_ID"); diff --git a/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql b/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql index 49976d070d8a7ac825bb3920fa01f7d328aada9d..62b3d815f111ef589fb8e7dd93c334a6994b759a 100644 --- a/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql +++ b/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql @@ -606,6 +606,14 @@ CREATE TABLE "KEY_CONSTRAINTS" CREATE INDEX "CONSTRAINTS_PARENT_TBLID_INDEX" ON "KEY_CONSTRAINTS" USING BTREE ("PARENT_TBL_ID"); +CREATE TABLE "METASTORE_DB_PROPERTIES" +( + "PROPERTY_ID" BIGINT NOT NULL, + "PROPERTY_KEY" VARCHAR(255) NOT NULL, + "PROPERTY_VALUE" VARCHAR(1000) NOT NULL, + "DESC" VARCHAR(1000) +); + -- -- Name: BUCKETING_COLS_pkey; Type: CONSTRAINT; Schema: public; Owner: hiveuser; Tablespace: -- @@ -950,7 +958,11 @@ ALTER TABLE ONLY "TYPES" ALTER TABLE ONLY "ROLE_MAP" ADD CONSTRAINT "USERROLEMAPINDEX" UNIQUE ("PRINCIPAL_NAME", "ROLE_ID", "GRANTOR", "GRANTOR_TYPE"); +ALTER TABLE ONLY "METASTORE_DB_PROPERTIES" + ADD CONSTRAINT "UNIQUE_PROPERTY_KEY" UNIQUE ("PROPERTY_KEY"); +ALTER TABLE ONLY "METASTORE_DB_PROPERTIES" + ADD CONSTRAINT "METASTORE_DB_PROPERTIES_pkey" PRIMARY KEY ("PROPERTY_ID"); -- -- Name: BUCKETING_COLS_N49; Type: INDEX; Schema: public; Owner: hiveuser; Tablespace: -- diff --git a/metastore/scripts/upgrade/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql b/metastore/scripts/upgrade/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql index 2dd9bb9bfb607529f3ab9be4dccab34f26375e4f..4d8f0cde1a54769c320a3491f6fb44456abf5763 100644 --- a/metastore/scripts/upgrade/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql +++ b/metastore/scripts/upgrade/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql @@ -1,5 +1,7 @@ SELECT 'Upgrading MetaStore schema from 2.3.0 to 3.0.0'; +\i 040-HIVE-16556.postgres.sql; + UPDATE "VERSION" SET "SCHEMA_VERSION"='3.0.0', "VERSION_COMMENT"='Hive release version 3.0.0' where "VER_ID"=1; SELECT 'Finished upgrading MetaStore schema from 2.3.0 to 3.0.0';