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"/>