diff --git a/metastore/scripts/upgrade/mysql/021-HIVE-7018.mysql.sql b/metastore/scripts/upgrade/mysql/021-HIVE-7018.mysql.sql new file mode 100644 index 0000000000000000000000000000000000000000..4f8989215c4c9bdafcc7209ab4fabcc0ac5ef46e --- /dev/null +++ b/metastore/scripts/upgrade/mysql/021-HIVE-7018.mysql.sql @@ -0,0 +1,53 @@ +SELECT '< HIVE-7018 Remove Table and Partition tables column LINK_TARGET_ID from Mysql for other DBs do not have it >' AS ' '; + +DELIMITER $$ +DROP PROCEDURE IF EXISTS RM_TLBS_LINKID $$ +DROP PROCEDURE IF EXISTS RM_PARTITIONS_LINKID $$ +DROP PROCEDURE IF EXISTS RM_LINKID $$ + +/* Call this procedure to drop column LINK_TARGET_ID for TBLS */ +CREATE PROCEDURE RM_TLBS_LINKID() + BEGIN + IF EXISTS (SELECT * FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_NAME` = 'TBLS' AND `COLUMN_NAME` = 'LINK_TARGET_ID') THEN + ALTER TABLE `TBLS` + DROP FOREIGN KEY `TBLS_FK3` + ; + ALTER TABLE `TBLS` + DROP KEY `TBLS_N51` + ; + ALTER TABLE `TBLS` + DROP COLUMN `LINK_TARGET_ID` + ; + END IF; + END $$ + +/* Call this procedure to drop column LINK_TARGET_ID for PARTITIONS */ +CREATE PROCEDURE RM_PARTITIONS_LINKID() + BEGIN + IF EXISTS (SELECT * FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_NAME` = 'PARTITIONS' AND `COLUMN_NAME` = 'LINK_TARGET_ID') THEN + ALTER TABLE `PARTITIONS` + DROP FOREIGN KEY `PARTITIONS_FK3` + ; + ALTER TABLE `PARTITIONS` + DROP KEY `PARTITIONS_N51` + ; + ALTER TABLE `PARTITIONS` + DROP COLUMN `LINK_TARGET_ID` + ; + END IF; + END $$ + +/* + * Check and drop column LINK_TARGET_ID + */ +CREATE PROCEDURE RM_LINKID() + BEGIN + call RM_PARTITIONS_LINKID(); + call RM_TLBS_LINKID(); + SELECT 'Completed remove LINK_TARGET_ID'; + END $$ + + +DELIMITER ; + +CALL RM_LINKID(); diff --git a/metastore/scripts/upgrade/mysql/hive-schema-1.3.0.mysql.sql b/metastore/scripts/upgrade/mysql/hive-schema-1.3.0.mysql.sql index bc63f0da514c44041906bce5574e66e114f8abb1..71de138b33378e4ed9341f3cd23dd8fac50379ee 100644 --- a/metastore/scripts/upgrade/mysql/hive-schema-1.3.0.mysql.sql +++ b/metastore/scripts/upgrade/mysql/hive-schema-1.3.0.mysql.sql @@ -211,15 +211,12 @@ CREATE TABLE IF NOT EXISTS `PARTITIONS` ( `PART_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, `SD_ID` bigint(20) DEFAULT NULL, `TBL_ID` bigint(20) DEFAULT NULL, - `LINK_TARGET_ID` bigint(20) DEFAULT NULL, PRIMARY KEY (`PART_ID`), UNIQUE KEY `UNIQUEPARTITION` (`PART_NAME`,`TBL_ID`), KEY `PARTITIONS_N49` (`TBL_ID`), KEY `PARTITIONS_N50` (`SD_ID`), - KEY `PARTITIONS_N51` (`LINK_TARGET_ID`), CONSTRAINT `PARTITIONS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`), - CONSTRAINT `PARTITIONS_FK2` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`), - CONSTRAINT `PARTITIONS_FK3` FOREIGN KEY (`LINK_TARGET_ID`) REFERENCES `PARTITIONS` (`PART_ID`) + CONSTRAINT `PARTITIONS_FK2` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; @@ -590,15 +587,12 @@ CREATE TABLE IF NOT EXISTS `TBLS` ( `TBL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, `VIEW_EXPANDED_TEXT` mediumtext, `VIEW_ORIGINAL_TEXT` mediumtext, - `LINK_TARGET_ID` bigint(20) DEFAULT NULL, PRIMARY KEY (`TBL_ID`), UNIQUE KEY `UNIQUETABLE` (`TBL_NAME`,`DB_ID`), KEY `TBLS_N50` (`SD_ID`), KEY `TBLS_N49` (`DB_ID`), - KEY `TBLS_N51` (`LINK_TARGET_ID`), CONSTRAINT `TBLS_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`), - CONSTRAINT `TBLS_FK2` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`), - CONSTRAINT `TBLS_FK3` FOREIGN KEY (`LINK_TARGET_ID`) REFERENCES `TBLS` (`TBL_ID`) + CONSTRAINT `TBLS_FK2` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/metastore/scripts/upgrade/mysql/hive-schema-2.0.0.mysql.sql b/metastore/scripts/upgrade/mysql/hive-schema-2.0.0.mysql.sql index bc63f0da514c44041906bce5574e66e114f8abb1..71de138b33378e4ed9341f3cd23dd8fac50379ee 100644 --- a/metastore/scripts/upgrade/mysql/hive-schema-2.0.0.mysql.sql +++ b/metastore/scripts/upgrade/mysql/hive-schema-2.0.0.mysql.sql @@ -211,15 +211,12 @@ CREATE TABLE IF NOT EXISTS `PARTITIONS` ( `PART_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, `SD_ID` bigint(20) DEFAULT NULL, `TBL_ID` bigint(20) DEFAULT NULL, - `LINK_TARGET_ID` bigint(20) DEFAULT NULL, PRIMARY KEY (`PART_ID`), UNIQUE KEY `UNIQUEPARTITION` (`PART_NAME`,`TBL_ID`), KEY `PARTITIONS_N49` (`TBL_ID`), KEY `PARTITIONS_N50` (`SD_ID`), - KEY `PARTITIONS_N51` (`LINK_TARGET_ID`), CONSTRAINT `PARTITIONS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`), - CONSTRAINT `PARTITIONS_FK2` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`), - CONSTRAINT `PARTITIONS_FK3` FOREIGN KEY (`LINK_TARGET_ID`) REFERENCES `PARTITIONS` (`PART_ID`) + CONSTRAINT `PARTITIONS_FK2` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; @@ -590,15 +587,12 @@ CREATE TABLE IF NOT EXISTS `TBLS` ( `TBL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, `VIEW_EXPANDED_TEXT` mediumtext, `VIEW_ORIGINAL_TEXT` mediumtext, - `LINK_TARGET_ID` bigint(20) DEFAULT NULL, PRIMARY KEY (`TBL_ID`), UNIQUE KEY `UNIQUETABLE` (`TBL_NAME`,`DB_ID`), KEY `TBLS_N50` (`SD_ID`), KEY `TBLS_N49` (`DB_ID`), - KEY `TBLS_N51` (`LINK_TARGET_ID`), CONSTRAINT `TBLS_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`), - CONSTRAINT `TBLS_FK2` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`), - CONSTRAINT `TBLS_FK3` FOREIGN KEY (`LINK_TARGET_ID`) REFERENCES `TBLS` (`TBL_ID`) + CONSTRAINT `TBLS_FK2` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql b/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql index d5a31f78159d0ceec2679ba7566cab0488843ea5..44a9946cabaa25cf8cd6afe1728ac25b9373880b 100644 --- a/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql +++ b/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-1.3.0.mysql.sql @@ -1,4 +1,4 @@ SELECT 'Upgrading MetaStore schema from 1.2.0 to 1.3.0' AS ' '; +SOURCE 021-HIVE-7018.mysql.sql; UPDATE VERSION SET SCHEMA_VERSION='1.3.0', VERSION_COMMENT='Hive release version 1.3.0' where VER_ID=1; SELECT 'Finished upgrading MetaStore schema from 1.2.0 to 1.3.0' AS ' '; - diff --git a/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-2.0.0.mysql.sql b/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-2.0.0.mysql.sql index d5a31f78159d0ceec2679ba7566cab0488843ea5..7616bcd51cb8b4fab53d014d4fbdefb33d3b84ab 100644 --- a/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-2.0.0.mysql.sql +++ b/metastore/scripts/upgrade/mysql/upgrade-1.2.0-to-2.0.0.mysql.sql @@ -1,4 +1,5 @@ SELECT 'Upgrading MetaStore schema from 1.2.0 to 1.3.0' AS ' '; +SOURCE 021-HIVE-7018.mysql.sql; UPDATE VERSION SET SCHEMA_VERSION='1.3.0', VERSION_COMMENT='Hive release version 1.3.0' where VER_ID=1; SELECT 'Finished upgrading MetaStore schema from 1.2.0 to 1.3.0' AS ' ';