You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2014/11/04 03:26:40 UTC

svn commit: r1636491 - in /hive/trunk/metastore/scripts/upgrade: mssql/002-HIVE-7784.mssql.sql mysql/019-HIVE-7784.mysql.sql oracle/020-HIVE-7784.oracle.sql postgres/019-HIVE-7784.postgres.sql

Author: sershe
Date: Tue Nov  4 02:26:39 2014
New Revision: 1636491

URL: http://svn.apache.org/r1636491
Log:
HIVE-8715 : Hive 14 upgrade scripts can fail for statistics if database was created using auto-create (Sergey Shelukhin, reviewed by Ashutosh Chauhan and Xiaobing Zhou)

Modified:
    hive/trunk/metastore/scripts/upgrade/mssql/002-HIVE-7784.mssql.sql
    hive/trunk/metastore/scripts/upgrade/mysql/019-HIVE-7784.mysql.sql
    hive/trunk/metastore/scripts/upgrade/oracle/020-HIVE-7784.oracle.sql
    hive/trunk/metastore/scripts/upgrade/postgres/019-HIVE-7784.postgres.sql

Modified: hive/trunk/metastore/scripts/upgrade/mssql/002-HIVE-7784.mssql.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/mssql/002-HIVE-7784.mssql.sql?rev=1636491&r1=1636490&r2=1636491&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/mssql/002-HIVE-7784.mssql.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/mssql/002-HIVE-7784.mssql.sql Tue Nov  4 02:26:39 2014
@@ -1 +1,32 @@
+--
+-- Create the table if it doesn't exist.
+--
+if not exists (SELECT 1 FROM INFORMATION_SCHEMA.TABLES 
+           WHERE TABLE_NAME='PART_COL_STATS')
+CREATE TABLE PART_COL_STATS
+(
+    CS_ID bigint NOT NULL,
+    AVG_COL_LEN float NULL,
+    "COLUMN_NAME" varchar(128) NOT NULL,
+    COLUMN_TYPE varchar(128) NOT NULL,
+    DB_NAME varchar(128) NOT NULL,
+    BIG_DECIMAL_HIGH_VALUE varchar(255) NULL,
+    BIG_DECIMAL_LOW_VALUE varchar(255) NULL,
+    DOUBLE_HIGH_VALUE float NULL,
+    DOUBLE_LOW_VALUE float NULL,
+    LAST_ANALYZED bigint NOT NULL,
+    LONG_HIGH_VALUE bigint NULL,
+    LONG_LOW_VALUE bigint NULL,
+    MAX_COL_LEN bigint NULL,
+    NUM_DISTINCTS bigint NULL,
+    NUM_FALSES bigint NULL,
+    NUM_NULLS bigint NOT NULL,
+    NUM_TRUES bigint NULL,
+    PART_ID bigint NULL,
+    PARTITION_NAME varchar(767) NOT NULL,
+    "TABLE_NAME" varchar(128) NOT NULL
+)
+go
+
+
 CREATE INDEX PCS_STATS_IDX ON PART_COL_STATS (DB_NAME,TABLE_NAME,COLUMN_NAME,PARTITION_NAME);

Modified: hive/trunk/metastore/scripts/upgrade/mysql/019-HIVE-7784.mysql.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/mysql/019-HIVE-7784.mysql.sql?rev=1636491&r1=1636490&r2=1636491&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/mysql/019-HIVE-7784.mysql.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/mysql/019-HIVE-7784.mysql.sql Tue Nov  4 02:26:39 2014
@@ -1 +1,31 @@
+--
+-- Create the table if it doesn't exist.
+--
+CREATE TABLE IF NOT EXISTS `PART_COL_STATS` (
+ `CS_ID` bigint(20) NOT NULL,
+ `DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `TABLE_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `PARTITION_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `COLUMN_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `PART_ID` bigint(20) NOT NULL,
+ `LONG_LOW_VALUE` bigint(20),
+ `LONG_HIGH_VALUE` bigint(20),
+ `DOUBLE_HIGH_VALUE` double(53,4),
+ `DOUBLE_LOW_VALUE` double(53,4),
+ `BIG_DECIMAL_LOW_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin,
+ `BIG_DECIMAL_HIGH_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin,
+ `NUM_NULLS` bigint(20) NOT NULL,
+ `NUM_DISTINCTS` bigint(20),
+ `AVG_COL_LEN` double(53,4),
+ `MAX_COL_LEN` bigint(20),
+ `NUM_TRUES` bigint(20),
+ `NUM_FALSES` bigint(20),
+ `LAST_ANALYZED` bigint(20) NOT NULL,
+  PRIMARY KEY (`CS_ID`),
+  CONSTRAINT `PART_COL_STATS_FK` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+
+
 CREATE INDEX PCS_STATS_IDX ON PART_COL_STATS (DB_NAME,TABLE_NAME,COLUMN_NAME,PARTITION_NAME) USING BTREE;

Modified: hive/trunk/metastore/scripts/upgrade/oracle/020-HIVE-7784.oracle.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/oracle/020-HIVE-7784.oracle.sql?rev=1636491&r1=1636490&r2=1636491&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/oracle/020-HIVE-7784.oracle.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/oracle/020-HIVE-7784.oracle.sql Tue Nov  4 02:26:39 2014
@@ -1 +1,27 @@
+--
+-- Create the table if it doesn't exist.
+--
+CREATE TABLE IF NOT EXISTS PART_COL_STATS (
+ CS_ID NUMBER NOT NULL,
+ DB_NAME VARCHAR2(128) NOT NULL,
+ TABLE_NAME VARCHAR2(128) NOT NULL,
+ PARTITION_NAME VARCHAR2(767) NOT NULL,
+ COLUMN_NAME VARCHAR2(128) NOT NULL,
+ COLUMN_TYPE VARCHAR2(128) NOT NULL,
+ PART_ID NUMBER NOT NULL,
+ LONG_LOW_VALUE NUMBER,
+ LONG_HIGH_VALUE NUMBER,
+ DOUBLE_LOW_VALUE NUMBER,
+ DOUBLE_HIGH_VALUE NUMBER,
+ BIG_DECIMAL_LOW_VALUE VARCHAR2(4000),
+ BIG_DECIMAL_HIGH_VALUE VARCHAR2(4000),
+ NUM_NULLS NUMBER NOT NULL,
+ NUM_DISTINCTS NUMBER,
+ AVG_COL_LEN NUMBER,
+ MAX_COL_LEN NUMBER,
+ NUM_TRUES NUMBER,
+ NUM_FALSES NUMBER,
+ LAST_ANALYZED NUMBER NOT NULL
+);
+
 CREATE INDEX PCS_STATS_IDX ON PART_COL_STATS (DB_NAME,TABLE_NAME,COLUMN_NAME,PARTITION_NAME);

Modified: hive/trunk/metastore/scripts/upgrade/postgres/019-HIVE-7784.postgres.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/postgres/019-HIVE-7784.postgres.sql?rev=1636491&r1=1636490&r2=1636491&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/postgres/019-HIVE-7784.postgres.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/postgres/019-HIVE-7784.postgres.sql Tue Nov  4 02:26:39 2014
@@ -1 +1,29 @@
+--
+-- Create the table if it doesn't exist.
+--
+
+CREATE TABLE IF NOT EXISTS "PART_COL_STATS" (
+ "CS_ID" bigint NOT NULL,
+ "DB_NAME" character varying(128) DEFAULT NULL::character varying,
+ "TABLE_NAME" character varying(128) DEFAULT NULL::character varying,
+ "PARTITION_NAME" character varying(767) DEFAULT NULL::character varying,
+ "COLUMN_NAME" character varying(128) DEFAULT NULL::character varying,
+ "COLUMN_TYPE" character varying(128) DEFAULT NULL::character varying,
+ "PART_ID" bigint NOT NULL,
+ "LONG_LOW_VALUE" bigint,
+ "LONG_HIGH_VALUE" bigint,
+ "DOUBLE_LOW_VALUE" double precision,
+ "DOUBLE_HIGH_VALUE" double precision,
+ "BIG_DECIMAL_LOW_VALUE" character varying(4000) DEFAULT NULL::character varying,
+ "BIG_DECIMAL_HIGH_VALUE" character varying(4000) DEFAULT NULL::character varying,
+ "NUM_NULLS" bigint NOT NULL,
+ "NUM_DISTINCTS" bigint,
+ "AVG_COL_LEN" double precision,
+ "MAX_COL_LEN" bigint,
+ "NUM_TRUES" bigint,
+ "NUM_FALSES" bigint,
+ "LAST_ANALYZED" bigint NOT NULL
+);
+
+
 CREATE INDEX "PCS_STATS_IDX" ON "PART_COL_STATS" USING btree ("DB_NAME","TABLE_NAME","COLUMN_NAME","PARTITION_NAME");