You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2012/11/28 03:39:59 UTC
svn commit: r1414509 - in /hive/trunk/metastore: scripts/upgrade/derby/
scripts/upgrade/mysql/ scripts/upgrade/oracle/ scripts/upgrade/postgres/
src/java/org/apache/hadoop/hive/metastore/ src/model/
src/model/org/apache/hadoop/hive/metastore/model/
Author: hashutosh
Date: Wed Nov 28 02:39:57 2012
New Revision: 1414509
URL: http://svn.apache.org/viewvc?rev=1414509&view=rev
Log:
HIVE-3678 : Add metastore upgrade scripts for column stats schema changes (Shreepadma via Ashutosh Chauhan)
Added:
hive/trunk/metastore/scripts/upgrade/derby/012-HIVE-1362.derby.sql
hive/trunk/metastore/scripts/upgrade/mysql/012-HIVE-1362.mysql.sql
hive/trunk/metastore/scripts/upgrade/oracle/012-HIVE-1362.oracle.sql
hive/trunk/metastore/scripts/upgrade/postgres/012-HIVE-1362.postgres.sql
Modified:
hive/trunk/metastore/scripts/upgrade/derby/hive-schema-0.10.0.derby.sql
hive/trunk/metastore/scripts/upgrade/derby/upgrade-0.9.0-to-0.10.0.derby.sql
hive/trunk/metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql
hive/trunk/metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql
hive/trunk/metastore/scripts/upgrade/oracle/hive-schema-0.10.0.oracle.sql
hive/trunk/metastore/scripts/upgrade/postgres/hive-schema-0.10.0.postgres.sql
hive/trunk/metastore/scripts/upgrade/postgres/upgrade-0.9.0-to-0.10.0.postgres.sql
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java
hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MTableColumnStatistics.java
hive/trunk/metastore/src/model/package.jdo
Added: hive/trunk/metastore/scripts/upgrade/derby/012-HIVE-1362.derby.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/derby/012-HIVE-1362.derby.sql?rev=1414509&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/derby/012-HIVE-1362.derby.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/derby/012-HIVE-1362.derby.sql Wed Nov 28 02:39:57 2012
@@ -0,0 +1,50 @@
+CREATE TABLE TAB_COL_STATS(
+DB_NAME VARCHAR(128) NOT NULL,
+TABLE_NAME VARCHAR(128) NOT NULL,
+COLUMN_NAME VARCHAR(128) NOT NULL,
+COLUMN_TYPE VARCHAR(128) NOT NULL,
+LONG_LOW_VALUE BIGINT,
+LONG_HIGH_VALUE BIGINT,
+DOUBLE_LOW_VALUE DOUBLE,
+DOUBLE_HIGH_VALUE DOUBLE,
+BIG_DECIMAL_LOW_VALUE VARCHAR(4000),
+BIG_DECIMAL_HIGH_VALUE VARCHAR(4000),
+NUM_DISTINCTS BIGINT,
+NUM_NULLS BIGINT NOT NULL,
+AVG_COL_LEN DOUBLE,
+MAX_COL_LEN BIGINT,
+NUM_TRUES BIGINT,
+NUM_FALSES BIGINT,
+LAST_ANALYZED BIGINT,
+CS_ID BIGINT NOT NULL,
+TBL_ID BIGINT NOT NULL
+);
+
+ALTER TABLE TAB_COL_STATS ADD CONSTRAINT "TAB_COL_STATS_PK" PRIMARY KEY ("CS_ID");
+ALTER TABLE TAB_COL_STATS ADD CONSTRAINT "TAB_COL_STATS_FK" FOREIGN KEY ("TBL_ID") REFERENCES TBLS("TBL_ID") ON DELETE NO ACTION ON UPDATE NO ACTION;
+
+CREATE TABLE PART_COL_STATS(
+DB_NAME VARCHAR(128) NOT NULL,
+TABLE_NAME VARCHAR(128) NOT NULL,
+PARTITION_NAME VARCHAR(767) NOT NULL,
+COLUMN_NAME VARCHAR(128) NOT NULL,
+COLUMN_TYPE VARCHAR(128) NOT NULL,
+LONG_LOW_VALUE BIGINT,
+LONG_HIGH_VALUE BIGINT,
+DOUBLE_LOW_VALUE DOUBLE,
+DOUBLE_HIGH_VALUE DOUBLE,
+BIG_DECIMAL_LOW_VALUE VARCHAR(4000),
+BIG_DECIMAL_HIGH_VALUE VARCHAR(4000),
+NUM_DISTINCTS BIGINT,
+NUM_NULLS BIGINT NOT NULL,
+AVG_COL_LEN DOUBLE,
+MAX_COL_LEN BIGINT,
+NUM_TRUES BIGINT,
+NUM_FALSES BIGINT,
+LAST_ANALYZED BIGINT,
+CS_ID BIGINT NOT NULL,
+PART_ID BIGINT NOT NULL
+);
+
+ALTER TABLE PART_COL_STATS ADD CONSTRAINT "PART_COL_STATS_PK" PRIMARY KEY ("CS_ID");
+ALTER TABLE PART_COL_STATS ADD CONSTRAINT "PART_COL_STATS_FK" FOREIGN KEY ("PART_ID") REFERENCES PARTITIONS("PART_ID") ON DELETE NO ACTION ON UPDATE NO ACTION;
Modified: hive/trunk/metastore/scripts/upgrade/derby/hive-schema-0.10.0.derby.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/derby/hive-schema-0.10.0.derby.sql?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/derby/hive-schema-0.10.0.derby.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/derby/hive-schema-0.10.0.derby.sql Wed Nov 28 02:39:57 2012
@@ -90,6 +90,10 @@ CREATE TABLE "APP"."SKEWED_COL_VALUE_LOC
CREATE TABLE "APP"."SKEWED_VALUES" ("SD_ID_OID" BIGINT NOT NULL, "STRING_LIST_ID_EID" BIGINT NOT NULL, "INTEGER_IDX" INTEGER NOT NULL);
+CREATE TABLE "APP"."TAB_COL_STATS"("DB_NAME" VARCHAR(128) NOT NULL,"TABLE_NAME" VARCHAR(128) NOT NULL, "COLUMN_NAME" VARCHAR(128) NOT NULL, "COLUMN_TYPE" VARCHAR(128) NOT NULL, "LONG_LOW_VALUE" BIGINT, "LONG_HIGH_VALUE" BIGINT, "DOUBLE_LOW_VALUE" DOUBLE, "DOUBLE_HIGH_VALUE" DOUBLE, "BIG_DECIMAL_LOW_VALUE" VARCHAR(4000), "BIG_DECIMAL_HIGH_VALUE" VARCHAR(4000),"NUM_DISTINCTS" BIGINT, "NUM_NULLS" BIGINT NOT NULL, "AVG_COL_LEN" DOUBLE, "MAX_COL_LEN" BIGINT, "NUM_TRUES" BIGINT, "NUM_FALSES" BIGINT, "LAST_ANALYZED" BIGINT, "CS_ID" BIGINT NOT NULL, "TBL_ID" BIGINT NOT NULL);
+
+CREATE TABLE "APP"."PART_COL_STATS"("DB_NAME" VARCHAR(128) NOT NULL,"TABLE_NAME" VARCHAR(128) NOT NULL, "PARTITION_NAME" VARCHAR(767) NOT NULL, "COLUMN_NAME" VARCHAR(128) NOT NULL, "COLUMN_TYPE" VARCHAR(128) NOT NULL, "LONG_LOW_VALUE" BIGINT, "LONG_HIGH_VALUE" BIGINT, "DOUBLE_LOW_VALUE" DOUBLE, "DOUBLE_HIGH_VALUE" DOUBLE, "BIG_DECIMAL_LOW_VALUE" VARCHAR(4000), "BIG_DECIMAL_HIGH_VALUE" VARCHAR(4000),"NUM_DISTINCTS" BIGINT, "NUM_NULLS" BIGINT NOT NULL, "AVG_COL_LEN" DOUBLE, "MAX_COL_LEN" BIGINT, "NUM_TRUES" BIGINT, "NUM_FALSES" BIGINT, "LAST_ANALYZED" BIGINT, "CS_ID" BIGINT NOT NULL, "PART_ID" BIGINT NOT NULL);
+
-- ----------------------------------------------
-- DDL Statements for indexes
-- ----------------------------------------------
@@ -199,6 +203,10 @@ ALTER TABLE "APP"."SKEWED_COL_VALUE_LOCA
ALTER TABLE "APP"."SKEWED_VALUES" ADD CONSTRAINT "SKEWED_VALUES_PK" PRIMARY KEY ("SD_ID_OID", "INTEGER_IDX");
+ALTER TABLE "APP"."TAB_COL_STATS" ADD CONSTRAINT "TAB_COL_STATS_PK" PRIMARY KEY ("CS_ID");
+
+ALTER TABLE "APP"."PART_COL_STATS" ADD CONSTRAINT "PART_COL_STATS_PK" PRIMARY KEY ("CS_ID");
+
-- 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;
@@ -268,6 +276,10 @@ ALTER TABLE "APP"."SKEWED_VALUES" ADD CO
ALTER TABLE "APP"."SKEWED_VALUES" ADD CONSTRAINT "SKEWED_VALUES_FK2" FOREIGN KEY ("STRING_LIST_ID_EID") REFERENCES "APP"."SKEWED_STRING_LIST" ("STRING_LIST_ID") ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE "APP"."TAB_COL_STATS" ADD CONSTRAINT "TAB_COL_STATS_FK" FOREIGN KEY ("TBL_ID") REFERENCES TBLS("TBL_ID") ON DELETE NO ACTION ON UPDATE NO ACTION;
+
+ALTER TABLE "APP"."PART_COL_STATS" ADD CONSTRAINT "PART_COL_STATS_FK" FOREIGN KEY ("PART_ID") REFERENCES PARTITIONS("PART_ID") ON DELETE NO ACTION ON UPDATE NO ACTION;
+
-- ----------------------------------------------
-- DDL Statements for checks
-- ----------------------------------------------
Modified: hive/trunk/metastore/scripts/upgrade/derby/upgrade-0.9.0-to-0.10.0.derby.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/derby/upgrade-0.9.0-to-0.10.0.derby.sql?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/derby/upgrade-0.9.0-to-0.10.0.derby.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/derby/upgrade-0.9.0-to-0.10.0.derby.sql Wed Nov 28 02:39:57 2012
@@ -1,3 +1,4 @@
-- Upgrade MetaStore schema from 0.9.0 to 0.10.0
RUN '010-HIVE-3072.derby.sql';
RUN '011-HIVE-3649.derby.sql';
+RUN '012-HIVE-1362.derby.sql';
Added: hive/trunk/metastore/scripts/upgrade/mysql/012-HIVE-1362.mysql.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/mysql/012-HIVE-1362.mysql.sql?rev=1414509&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/mysql/012-HIVE-1362.mysql.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/mysql/012-HIVE-1362.mysql.sql Wed Nov 28 02:39:57 2012
@@ -0,0 +1,50 @@
+SELECT '< HIVE-1362 Column Statistics Support in Hive >' AS ' ';
+
+CREATE TABLE IF NOT EXISTS `TAB_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,
+ `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `COLUMN_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `TBL_ID` bigint(20) NOT NULL,
+ `LONG_LOW_VALUE` bigint(20),
+ `LONG_HIGH_VALUE` bigint(20),
+ `DOUBLE_LOW_VALUE` double(53,4),
+ `DOUBLE_HIGH_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 `TAB_COL_STATS_FK` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+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_LOW_VALUE` double(53,4),
+ `DOUBLE_HIGH_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;
\ No newline at end of file
Modified: hive/trunk/metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql Wed Nov 28 02:39:57 2012
@@ -648,6 +648,61 @@ CREATE TABLE IF NOT EXISTS `TBL_PRIVS` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
+-- Table structure for table `TAB_COL_STATS`
+--
+CREATE TABLE IF NOT EXISTS `TAB_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,
+ `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `COLUMN_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+ `TBL_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 `TAB_COL_STATS_FK` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Table structure for table `PART_COL_STATS`
+--
+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;
+
+--
-- Table structure for table `TYPES`
--
Modified: hive/trunk/metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql Wed Nov 28 02:39:57 2012
@@ -1,4 +1,5 @@
SELECT 'Upgrading MetaStore schema from 0.9.0 to 0.10.0' AS ' ';
SOURCE 010-HIVE-3072.mysql.sql;
SOURCE 011-HIVE-3649.mysql.sql;
+SOURCE 012-HIVE-1362.mysql.sql;
SELECT 'Finished upgrading MetaStore schema from 0.9.0 to 0.10.0' AS ' ';
Added: hive/trunk/metastore/scripts/upgrade/oracle/012-HIVE-1362.oracle.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/oracle/012-HIVE-1362.oracle.sql?rev=1414509&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/oracle/012-HIVE-1362.oracle.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/oracle/012-HIVE-1362.oracle.sql Wed Nov 28 02:39:57 2012
@@ -0,0 +1,52 @@
+CREATE TABLE TAB_COL_STATS (
+ CS_ID NUMBER NOT NULL,
+ DB_NAME VARCHAR2(128) NOT NULL,
+ TABLE_NAME VARCHAR2(128) NOT NULL,
+ COLUMN_NAME VARCHAR2(128) NOT NULL,
+ COLUMN_TYPE VARCHAR2(128) NOT NULL,
+ TBL_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
+);
+
+ALTER TABLE TAB_COL_STATS ADD CONSTRAINT TAB_COL_STATS_PK PRIMARY KEY (CS_ID);
+ALTER TABLE TAB_COL_STATS ADD CONSTRAINT TAB_COL_STATS_FK FOREIGN KEY (TBL_ID) REFERENCES TBLS (TBL_ID) INITIALLY DEFERRED ;
+CREATE INDEX TAB_COL_STATS_N49 ON TAB_COL_STATS(TBL_ID);
+
+CREATE TABLE PART_COL_STATS (
+ CS_ID NUMBER NOT NULL,
+ DB_NAME VARCHAR2(128) NOT NULL,
+ TABLE_NAME VARCHAR2(128) NOT NULL,
+ PART_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
+);
+
+ALTER TABLE PART_COL_STATS ADD CONSTRAINT PART_COL_STATS_PK PRIMARY KEY (CS_ID);
+ALTER TABLE PART_COL_STATS ADD CONSTRAINT PART_COL_STATS_FK FOREIGN KEY (PART_ID) REFERENCES PARTITIONS (PART_ID) INITIALLY DEFERRED;
+CREATE INDEX PART_COL_STATS_N49 ON PART_COL_STATS (PART_ID);
Modified: hive/trunk/metastore/scripts/upgrade/oracle/hive-schema-0.10.0.oracle.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/oracle/hive-schema-0.10.0.oracle.sql?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/oracle/hive-schema-0.10.0.oracle.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/oracle/hive-schema-0.10.0.oracle.sql Wed Nov 28 02:39:57 2012
@@ -1,5 +1,3 @@
-
-
-- Table SEQUENCE_TABLE is an internal table required by DataNucleus.
-- NOTE: Some versions of SchemaTool do not automatically generate this table.
-- See http://www.datanucleus.org/servlet/jira/browse/NUCRDBMS-416
@@ -449,6 +447,65 @@ ALTER TABLE SKEWED_VALUES ADD CONSTRAINT
ALTER TABLE SKEWED_VALUES ADD CONSTRAINT SKEWED_VALUES_FK2 FOREIGN KEY (SD_ID_OID) REFERENCES SDS (SD_ID) INITIALLY DEFERRED ;
+-- column statistics
+
+CREATE TABLE TAB_COL_STATS (
+ CS_ID NUMBER NOT NULL,
+ DB_NAME VARCHAR2(128) NOT NULL,
+ TABLE_NAME VARCHAR2(128) NOT NULL,
+ COLUMN_NAME VARCHAR2(128) NOT NULL,
+ COLUMN_TYPE VARCHAR2(128) NOT NULL,
+ TBL_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
+);
+
+ALTER TABLE TAB_COL_STATS ADD CONSTRAINT TAB_COL_STATS_PKEY PRIMARY KEY (CS_ID);
+
+ALTER TABLE TAB_COL_STATS ADD CONSTRAINT TAB_COL_STATS_FK FOREIGN KEY (TBL_ID) REFERENCES TBLS (TBL_ID) INITIALLY DEFERRED ;
+
+CREATE INDEX TAB_COL_STATS_N49 ON TAB_COL_STATS(TBL_ID);
+
+CREATE TABLE PART_COL_STATS (
+ CS_ID NUMBER NOT NULL,
+ DB_NAME VARCHAR2(128) NOT NULL,
+ TABLE_NAME VARCHAR2(128) NOT NULL,
+ PART_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
+);
+
+ALTER TABLE PART_COL_STATS ADD CONSTRAINT PART_COL_STATS_PKEY PRIMARY KEY (CS_ID);
+
+ALTER TABLE PART_COL_STATS ADD CONSTRAINT PART_COL_STATS_FK FOREIGN KEY (PART_ID) REFERENCES PARTITIONS (PART_ID) INITIALLY DEFERRED;
+
+CREATE INDEX PART_COL_STATS_N49 ON PART_COL_STATS (PART_ID);
+
-- Constraints for table PART_COL_PRIVS for class(es) [org.apache.hadoop.hive.metastore.model.MPartitionColumnPrivilege]
ALTER TABLE PART_COL_PRIVS ADD CONSTRAINT PART_COL_PRIVS_FK1 FOREIGN KEY (PART_ID) REFERENCES PARTITIONS (PART_ID) INITIALLY DEFERRED ;
Added: hive/trunk/metastore/scripts/upgrade/postgres/012-HIVE-1362.postgres.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/postgres/012-HIVE-1362.postgres.sql?rev=1414509&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/postgres/012-HIVE-1362.postgres.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/postgres/012-HIVE-1362.postgres.sql Wed Nov 28 02:39:57 2012
@@ -0,0 +1,55 @@
+SELECT '< HIVE-1362 Column Statistics Support in Hive >';
+
+CREATE TABLE "TAB_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,
+ "COLUMN_NAME" character varying(128) DEFAULT NULL::character varying,
+ "COLUMN_TYPE" character varying(128) DEFAULT NULL::character varying,
+ "TBL_ID" bigint NOT NULL,
+ "LONG_LOW_VALUE" bigint,
+ "LONG_HIGH_VALUE" bigint,
+ "DOUBLE_LOW_VALUE", double precision,
+ "DOUBLE_HIGH_VALUES", 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
+);
+
+
+ALTER TABLE ONLY "TAB_COL_STATS" ADD CONSTRAINT "TAB_COL_STATS_pkey" PRIMARY KEY("CS_ID");
+ALTER TABLE ONLY "TAB_COL_STATS" ADD CONSTRAINT "TAB_COL_STATS_fkey" FOREIGN KEY("TBL_ID") REFERENCES "TBLS"("TBL_ID") DEFERRABLE;
+CREATE INDEX "TAB_COL_STATS_N49" ON "TAB_COL_STATS" USING btree ("TBL_ID");
+
+CREATE TABLE "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,
+ "PART_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_VALUES", 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
+);
+
+ALTER TABLE ONLY "PART_COL_STATS" ADD CONSTRAINT "PART_COL_STATS_pkey" PRIMARY KEY("CS_ID");
+ALTER TABLE ONLY "PART_COL_STATS" ADD CONSTRAINT "PART_COL_STATS_fkey" FOREIGN KEY("PART_ID") REFERENCES "PARTITIONS"("PART_ID") DEFERRABLE;
+CREATE INDEX "PART_COL_STATS_N49" ON "PART_COL_STATS" USING btree ("PART_ID");
\ No newline at end of file
Modified: hive/trunk/metastore/scripts/upgrade/postgres/hive-schema-0.10.0.postgres.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/postgres/hive-schema-0.10.0.postgres.sql?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/postgres/hive-schema-0.10.0.postgres.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/postgres/hive-schema-0.10.0.postgres.sql Wed Nov 28 02:39:57 2012
@@ -475,6 +475,58 @@ CREATE TABLE "SKEWED_VALUES" (
);
+--
+-- Name: TAB_COL_STATS Type: TABLE; Schema: public; Owner: hiveuser; Tablespace:
+--
+
+CREATE TABLE "TAB_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,
+ "COLUMN_NAME" character varying(128) DEFAULT NULL::character varying,
+ "COLUMN_TYPE" character varying(128) DEFAULT NULL::character varying,
+ "TBL_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
+);
+
+--
+-- Name: PART_COL_STATS Type: TABLE; Schema: public; Owner: hiveuser; Tablespace:
+--
+
+CREATE TABLE "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,
+ "PART_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
+);
--
-- Name: BUCKETING_COLS_pkey; Type: CONSTRAINT; Schema: public; Owner: hiveuser; Tablespace:
@@ -772,6 +824,16 @@ ALTER TABLE ONLY "SKEWED_VALUES"
ADD CONSTRAINT "SKEWED_VALUES_pkey" PRIMARY KEY ("SD_ID_OID", "INTEGER_IDX");
--
+-- Name: TAB_COL_STATS_pkey; Type: CONSTRAINT; Schema: public; Owner: hiveuser; Tablespace:
+--
+ALTER TABLE ONLY "TAB_COL_STATS" ADD CONSTRAINT "TAB_COL_STATS_pkey" PRIMARY KEY("CS_ID");
+
+--
+-- Name: PART_COL_STATS_pkey; Type: CONSTRAINT; Schema: public; Owner: hiveuser; Tablespace:
+--
+ALTER TABLE ONLY "PART_COL_STATS" ADD CONSTRAINT "PART_COL_STATS_pkey" PRIMARY KEY("CS_ID");
+
+--
-- Name: UNIQUEINDEX; Type: CONSTRAINT; Schema: public; Owner: hiveuser; Tablespace:
--
@@ -1035,6 +1097,17 @@ CREATE INDEX "TBL_PRIVS_N49" ON "TBL_PRI
CREATE INDEX "TYPE_FIELDS_N49" ON "TYPE_FIELDS" USING btree ("TYPE_NAME");
+--
+-- Name: TAB_COL_STATS_N49; Type: INDEX; Schema: public; Owner: hiveuser; Tablespace:
+--
+
+CREATE INDEX "TAB_COL_STATS_N49" ON "TAB_COL_STATS" USING btree ("TBL_ID");
+
+--
+-- Name: PART_COL_STATS_N49; Type: INDEX; Schema: public; Owner: hiveuser; Tablespace:
+--
+
+CREATE INDEX "PART_COL_STATS_N49" ON "PART_COL_STATS" USING btree ("PART_ID");
ALTER TABLE ONLY "SKEWED_STRING_LIST_VALUES"
@@ -1281,6 +1354,16 @@ ALTER TABLE ONLY "TBL_PRIVS"
ALTER TABLE ONLY "TYPE_FIELDS"
ADD CONSTRAINT "TYPE_FIELDS_TYPE_NAME_fkey" FOREIGN KEY ("TYPE_NAME") REFERENCES "TYPES"("TYPES_ID") DEFERRABLE;
+--
+-- Name: TAB_COL_STATS_fkey; Type: FK CONSTRAINT; Schema: public; Owner: hiveuser
+--
+ALTER TABLE ONLY "TAB_COL_STATS" ADD CONSTRAINT "TAB_COL_STATS_fkey" FOREIGN KEY("TBL_ID") REFERENCES "TBLS"("TBL_ID") DEFERRABLE;
+
+
+--
+-- Name: PART_COL_STATS_fkey; Type: FK CONSTRAINT; Schema: public; Owner: hiveuser
+--
+ALTER TABLE ONLY "PART_COL_STATS" ADD CONSTRAINT "PART_COL_STATS_fkey" FOREIGN KEY("PART_ID") REFERENCES "PARTITIONS"("PART_ID") DEFERRABLE;
--
-- Name: public; Type: ACL; Schema: -; Owner: hiveuser
Modified: hive/trunk/metastore/scripts/upgrade/postgres/upgrade-0.9.0-to-0.10.0.postgres.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/postgres/upgrade-0.9.0-to-0.10.0.postgres.sql?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/postgres/upgrade-0.9.0-to-0.10.0.postgres.sql (original)
+++ hive/trunk/metastore/scripts/upgrade/postgres/upgrade-0.9.0-to-0.10.0.postgres.sql Wed Nov 28 02:39:57 2012
@@ -1,4 +1,5 @@
SELECT 'Upgrading MetaStore schema from 0.9.0 to 0.10.0';
\i 010-HIVE-3072.postgres.sql;
\i 011-HIVE-3649.postgres.sql;
+\i 012-HIVE-1362.postgres.sql;
SELECT 'Finished upgrading MetaStore schema from 0.9.0 to 0.10.0';
Modified: hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java (original)
+++ hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java Wed Nov 28 02:39:57 2012
@@ -4566,15 +4566,15 @@ public class ObjectStore implements RawS
colType.equalsIgnoreCase("timestamp")) {
LongColumnStatsData longStats = new LongColumnStatsData();
longStats.setNumNulls(mStatsObj.getNumNulls());
- longStats.setHighValue(mStatsObj.getHighValueAsLong());
- longStats.setLowValue(mStatsObj.getLowValueAsLong());
+ longStats.setHighValue(mStatsObj.getLongHighValue());
+ longStats.setLowValue(mStatsObj.getLongLowValue());
longStats.setNumDVs(mStatsObj.getNumDVs());
colStatsData.setLongStats(longStats);
} else if (colType.equalsIgnoreCase("double") || colType.equalsIgnoreCase("float")) {
DoubleColumnStatsData doubleStats = new DoubleColumnStatsData();
doubleStats.setNumNulls(mStatsObj.getNumNulls());
- doubleStats.setHighValue(mStatsObj.getHighValueAsDouble());
- doubleStats.setLowValue(mStatsObj.getLowValueAsDouble());
+ doubleStats.setHighValue(mStatsObj.getDoubleHighValue());
+ doubleStats.setLowValue(mStatsObj.getDoubleLowValue());
doubleStats.setNumDVs(mStatsObj.getNumDVs());
colStatsData.setDoubleStats(doubleStats);
}
@@ -4695,9 +4695,11 @@ public class ObjectStore implements RawS
if (oldStatsObj != null) {
oldStatsObj.setAvgColLen(mStatsObj.getAvgColLen());
- oldStatsObj.setHighValue(mStatsObj.getHighValue());
+ oldStatsObj.setLongHighValue(mStatsObj.getLongHighValue());
+ oldStatsObj.setDoubleHighValue(mStatsObj.getDoubleHighValue());
oldStatsObj.setLastAnalyzed(mStatsObj.getLastAnalyzed());
- oldStatsObj.setLowValue(mStatsObj.getLowValue());
+ oldStatsObj.setLongLowValue(mStatsObj.getLongLowValue());
+ oldStatsObj.setDoubleLowValue(mStatsObj.getDoubleLowValue());
oldStatsObj.setMaxColLen(mStatsObj.getMaxColLen());
oldStatsObj.setNumDVs(mStatsObj.getNumDVs());
oldStatsObj.setNumFalses(mStatsObj.getNumFalses());
@@ -4740,15 +4742,15 @@ public class ObjectStore implements RawS
colType.equalsIgnoreCase("timestamp")) {
LongColumnStatsData longStats = new LongColumnStatsData();
longStats.setNumNulls(mStatsObj.getNumNulls());
- longStats.setHighValue(mStatsObj.getHighValueAsLong());
- longStats.setLowValue(mStatsObj.getLowValueAsLong());
+ longStats.setHighValue(mStatsObj.getLongHighValue());
+ longStats.setLowValue(mStatsObj.getLongLowValue());
longStats.setNumDVs(mStatsObj.getNumDVs());
colStatsData.setLongStats(longStats);
} else if (colType.equalsIgnoreCase("double") || colType.equalsIgnoreCase("float")) {
DoubleColumnStatsData doubleStats = new DoubleColumnStatsData();
doubleStats.setNumNulls(mStatsObj.getNumNulls());
- doubleStats.setHighValue(mStatsObj.getHighValueAsDouble());
- doubleStats.setLowValue(mStatsObj.getLowValueAsDouble());
+ doubleStats.setHighValue(mStatsObj.getDoubleHighValue());
+ doubleStats.setLowValue(mStatsObj.getDoubleLowValue());
doubleStats.setNumDVs(mStatsObj.getNumDVs());
colStatsData.setDoubleStats(doubleStats);
}
@@ -4817,9 +4819,11 @@ public class ObjectStore implements RawS
partName, partVal, colName);
if (oldStatsObj != null) {
oldStatsObj.setAvgColLen(mStatsObj.getAvgColLen());
- oldStatsObj.setHighValue(mStatsObj.getHighValue());
+ oldStatsObj.setLongHighValue(mStatsObj.getLongHighValue());
+ oldStatsObj.setDoubleHighValue(mStatsObj.getDoubleHighValue());
oldStatsObj.setLastAnalyzed(mStatsObj.getLastAnalyzed());
- oldStatsObj.setLowValue(mStatsObj.getLowValue());
+ oldStatsObj.setLongLowValue(mStatsObj.getLongLowValue());
+ oldStatsObj.setDoubleLowValue(mStatsObj.getDoubleLowValue());
oldStatsObj.setMaxColLen(mStatsObj.getMaxColLen());
oldStatsObj.setNumDVs(mStatsObj.getNumDVs());
oldStatsObj.setNumFalses(mStatsObj.getNumFalses());
Modified: hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java (original)
+++ hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java Wed Nov 28 02:39:57 2012
@@ -21,7 +21,6 @@
*/
package org.apache.hadoop.hive.metastore.model;
-import java.nio.ByteBuffer;
/**
@@ -41,8 +40,10 @@ public class MPartitionColumnStatistics
private String colName;
private String colType;
- private byte[] lowValue;
- private byte[] highValue;
+ private long longLowValue;
+ private long longHighValue;
+ private double doubleLowValue;
+ private double doubleHighValue;
private long numNulls;
private long numDVs;
private double avgColLen;
@@ -69,42 +70,6 @@ public class MPartitionColumnStatistics
this.colName = colName;
}
- public byte[] getLowValue() {
- return lowValue;
- }
-
- public long getLowValueAsLong() {
- ByteBuffer byteBuf = ByteBuffer.wrap(lowValue);
- return byteBuf.getLong();
- }
-
- public double getLowValueAsDouble() {
- ByteBuffer byteBuf = ByteBuffer.wrap(lowValue);
- return byteBuf.getDouble();
- }
-
- public byte[] getHighValue() {
- return highValue;
- }
-
- public long getHighValueAsLong() {
- ByteBuffer byteBuf = ByteBuffer.wrap(highValue);
- return byteBuf.getLong();
- }
-
- public double getHighValueAsDouble() {
- ByteBuffer byteBuf = ByteBuffer.wrap(highValue);
- return byteBuf.getDouble();
- }
-
- public void setHighValue(byte[] b) {
- this.highValue = b;
- }
-
- public void setLowValue(byte[] b) {
- this.lowValue = b;
- }
-
public long getNumNulls() {
return numNulls;
}
@@ -202,19 +167,15 @@ public class MPartitionColumnStatistics
public void setLongStats(long numNulls, long numNDVs, long lowValue, long highValue) {
this.numNulls = numNulls;
this.numDVs = numNDVs;
- byte[] bytes = ByteBuffer.allocate(Long.SIZE/8).putLong(lowValue).array();
- this.lowValue = bytes;
- bytes = ByteBuffer.allocate(Long.SIZE/8).putLong(highValue).array();
- this.highValue = bytes;
+ this.longLowValue = lowValue;
+ this.longHighValue = highValue;
}
public void setDoubleStats(long numNulls, long numNDVs, double lowValue, double highValue) {
this.numNulls = numNulls;
this.numDVs = numNDVs;
- byte[] bytes = ByteBuffer.allocate(Double.SIZE/8).putDouble(lowValue).array();
- this.lowValue = bytes;
- bytes = ByteBuffer.allocate(Double.SIZE/8).putDouble(highValue).array();
- this.highValue = bytes;
+ this.doubleLowValue = lowValue;
+ this.doubleHighValue = highValue;
}
public void setStringStats(long numNulls, long numNDVs, long maxColLen, double avgColLen) {
@@ -229,4 +190,35 @@ public class MPartitionColumnStatistics
this.maxColLen = maxColLen;
this.avgColLen = avgColLen;
}
+ public long getLongLowValue() {
+ return longLowValue;
+ }
+
+ public void setLongLowValue(long longLowValue) {
+ this.longLowValue = longLowValue;
+ }
+
+ public long getLongHighValue() {
+ return longHighValue;
+ }
+
+ public void setLongHighValue(long longHighValue) {
+ this.longHighValue = longHighValue;
+ }
+
+ public double getDoubleLowValue() {
+ return doubleLowValue;
+ }
+
+ public void setDoubleLowValue(double doubleLowValue) {
+ this.doubleLowValue = doubleLowValue;
+ }
+
+ public double getDoubleHighValue() {
+ return doubleHighValue;
+ }
+
+ public void setDoubleHighValue(double doubleHighValue) {
+ this.doubleHighValue = doubleHighValue;
+ }
}
Modified: hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MTableColumnStatistics.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MTableColumnStatistics.java?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MTableColumnStatistics.java (original)
+++ hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MTableColumnStatistics.java Wed Nov 28 02:39:57 2012
@@ -21,7 +21,6 @@
*/
package org.apache.hadoop.hive.metastore.model;
-import java.nio.ByteBuffer;
/**
@@ -39,8 +38,10 @@ public class MTableColumnStatistics {
private String colName;
private String colType;
- private byte[] lowValue;
- private byte[] highValue;
+ private long longLowValue;
+ private long longHighValue;
+ private double doubleLowValue;
+ private double doubleHighValue;
private long numNulls;
private long numDVs;
private double avgColLen;
@@ -83,47 +84,10 @@ public class MTableColumnStatistics {
this.colType = colType;
}
- public byte[] getLowValue() {
- return lowValue;
- }
-
- public long getLowValueAsLong() {
- ByteBuffer byteBuf = ByteBuffer.wrap(lowValue);
- return byteBuf.getLong();
- }
-
- public double getLowValueAsDouble() {
- ByteBuffer byteBuf = ByteBuffer.wrap(lowValue);
- return byteBuf.getDouble();
- }
-
- public byte[] getHighValue() {
- return highValue;
- }
-
- public long getHighValueAsLong() {
- ByteBuffer byteBuf = ByteBuffer.wrap(highValue);
- return byteBuf.getLong();
- }
-
- public double getHighValueAsDouble() {
- ByteBuffer byteBuf = ByteBuffer.wrap(highValue);
- return byteBuf.getDouble();
- }
-
- public void setHighValue(byte[] b) {
- this.highValue = b;
- }
-
- public void setLowValue(byte[] b) {
- this.lowValue = b;
- }
-
public long getNumNulls() {
return numNulls;
}
-
public void setNumNulls(long numNulls) {
this.numNulls = numNulls;
}
@@ -193,19 +157,15 @@ public class MTableColumnStatistics {
public void setLongStats(long numNulls, long numNDVs, long lowValue, long highValue) {
this.numNulls = numNulls;
this.numDVs = numNDVs;
- byte[] bytes = ByteBuffer.allocate(Long.SIZE/8).putLong(lowValue).array();
- this.lowValue = bytes;
- bytes = ByteBuffer.allocate(Long.SIZE/8).putLong(highValue).array();
- this.highValue = bytes;
+ this.longLowValue = lowValue;
+ this.longHighValue = highValue;
}
public void setDoubleStats(long numNulls, long numNDVs, double lowValue, double highValue) {
this.numNulls = numNulls;
this.numDVs = numNDVs;
- byte[] bytes = ByteBuffer.allocate(Double.SIZE/8).putDouble(lowValue).array();
- this.lowValue = bytes;
- bytes = ByteBuffer.allocate(Double.SIZE/8).putDouble(highValue).array();
- this.highValue = bytes;
+ this.doubleLowValue = lowValue;
+ this.doubleHighValue = highValue;
}
public void setStringStats(long numNulls, long numNDVs, long maxColLen, double avgColLen) {
@@ -220,4 +180,36 @@ public class MTableColumnStatistics {
this.maxColLen = maxColLen;
this.avgColLen = avgColLen;
}
+
+ public long getLongLowValue() {
+ return longLowValue;
+ }
+
+ public void setLongLowValue(long longLowValue) {
+ this.longLowValue = longLowValue;
+ }
+
+ public long getLongHighValue() {
+ return longHighValue;
+ }
+
+ public void setLongHighValue(long longHighValue) {
+ this.longHighValue = longHighValue;
+ }
+
+ public double getDoubleLowValue() {
+ return doubleLowValue;
+ }
+
+ public void setDoubleLowValue(double doubleLowValue) {
+ this.doubleLowValue = doubleLowValue;
+ }
+
+ public double getDoubleHighValue() {
+ return doubleHighValue;
+ }
+
+ public void setDoubleHighValue(double doubleHighValue) {
+ this.doubleHighValue = doubleHighValue;
+ }
}
Modified: hive/trunk/metastore/src/model/package.jdo
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/model/package.jdo?rev=1414509&r1=1414508&r2=1414509&view=diff
==============================================================================
--- hive/trunk/metastore/src/model/package.jdo (original)
+++ hive/trunk/metastore/src/model/package.jdo Wed Nov 28 02:39:57 2012
@@ -775,11 +775,17 @@
<field name="colType">
<column name="COLUMN_TYPE" length="128" jdbc-type="VARCHAR" allows-null="false"/>
</field>
- <field name="lowValue">
- <column name="LOW_VALUE" jdbc-type="LONGVARBINARY" allows-null="true"/>
+ <field name="longLowValue">
+ <column name="LONG_LOW_VALUE" jdbc-type="BIGINT" allows-null="true"/>
</field>
- <field name="highValue">
- <column name="HIGH_VALUE" jdbc-type="LONGVARBINARY" allows-null="true"/>
+ <field name="longHighValue">
+ <column name="LONG_HIGH_VALUE" jdbc-type="BIGINT" allows-null="true"/>
+ </field>
+ <field name="doubleLowValue">
+ <column name="DOUBLE_LOW_VALUE" jdbc-type="DOUBLE" allows-null="true"/>
+ </field>
+ <field name="doubleHighValue">
+ <column name="DOUBLE_HIGH_VALUE" jdbc-type="DOUBLE" allows-null="true"/>
</field>
<field name="numNulls">
<column name="NUM_NULLS" jdbc-type="BIGINT" allows-null="false"/>
@@ -815,6 +821,9 @@
<field name="tableName">
<column name="TABLE_NAME" length="128" jdbc-type="VARCHAR" allows-null="false"/>
</field>
+ <field name="partitionName">
+ <column name="PARTITION_NAME" length="767" jdbc-type="VARCHAR" allows-null="false"/>
+ </field>
<field name="partition">
<column name="PART_ID"/>
</field>
@@ -824,11 +833,17 @@
<field name="colType">
<column name="COLUMN_TYPE" length="128" jdbc-type="VARCHAR" allows-null="false"/>
</field>
- <field name="lowValue">
- <column name="LOW_VALUE" jdbc-type="LONGVARBINARY" allows-null="true"/>
+ <field name="longLowValue">
+ <column name="LONG_LOW_VALUE" jdbc-type="BIGINT" allows-null="true"/>
+ </field>
+ <field name="longHighValue">
+ <column name="LONG_HIGH_VALUE" jdbc-type="BIGINT" allows-null="true"/>
+ </field>
+ <field name="doubleLowValue">
+ <column name="DOUBLE_LOW_VALUE" jdbc-type="DOUBLE" allows-null="true"/>
</field>
- <field name="highValue">
- <column name="HIGH_VALUE" jdbc-type="LONGVARBINARY" allows-null="true"/>
+ <field name="doubleHighValue">
+ <column name="DOUBLE_HIGH_VALUE" jdbc-type="DOUBLE" allows-null="true"/>
</field>
<field name="numNulls">
<column name="NUM_NULLS" jdbc-type="BIGINT" allows-null="false"/>