You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by na...@apache.org on 2012/11/09 05:17:53 UTC
svn commit: r1407353 [1/2] - in /hive/trunk: metastore/if/
metastore/scripts/upgrade/derby/ metastore/scripts/upgrade/mysql/
metastore/scripts/upgrade/oracle/ metastore/scripts/upgrade/postgres/
metastore/src/gen/thrift/gen-cpp/ metastore/src/gen/thrif...
Author: namit
Date: Fri Nov 9 04:17:48 2012
New Revision: 1407353
URL: http://svn.apache.org/viewvc?rev=1407353&view=rev
Log:
HIVE-3649 Hive List Bucketing - enhance DDL to specify list bucketing table
(Gang Tim Liu via namit)
Added:
hive/trunk/metastore/scripts/upgrade/derby/010-HIVE-3649.derby.sql
hive/trunk/metastore/scripts/upgrade/mysql/010-HIVE-3649.mysql.sql
hive/trunk/metastore/scripts/upgrade/oracle/010-HIVE-3649.oracle.sql
hive/trunk/metastore/scripts/upgrade/postgres/010-HIVE-3649.postgres.sql
hive/trunk/ql/src/test/queries/clientnegative/load_stored_as_dirs.q
hive/trunk/ql/src/test/queries/clientpositive/create_alter_list_bucketing_table1.q
hive/trunk/ql/src/test/results/clientnegative/load_stored_as_dirs.q.out
hive/trunk/ql/src/test/results/clientpositive/create_alter_list_bucketing_table1.q.out
Modified:
hive/trunk/metastore/if/hive_metastore.thrift
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/gen/thrift/gen-cpp/hive_metastore_types.cpp
hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
hive/trunk/metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php
hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php
hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
hive/trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java
hive/trunk/metastore/src/model/package.jdo
hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Operator.java
hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Query.java
hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Stage.java
hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Task.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java
hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java
hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MegaStruct.java
Modified: hive/trunk/metastore/if/hive_metastore.thrift
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/if/hive_metastore.thrift?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/if/hive_metastore.thrift (original)
+++ hive/trunk/metastore/if/hive_metastore.thrift Fri Nov 9 04:17:48 2012
@@ -149,8 +149,9 @@ struct StorageDescriptor {
7: SerDeInfo serdeInfo, // serialization and deserialization information
8: list<string> bucketCols, // reducer grouping columns and clustering columns and bucketing columns`
9: list<Order> sortCols, // sort order of the data in each bucket
- 10: map<string, string> parameters // any user supplied key value hash
- 11: optional SkewedInfo skewedInfo // skewed information
+ 10: map<string, string> parameters, // any user supplied key value hash
+ 11: optional SkewedInfo skewedInfo, // skewed information
+ 12: optional bool storedAsSubDirectories // stored as subdirectories or not
}
// table information
Added: hive/trunk/metastore/scripts/upgrade/derby/010-HIVE-3649.derby.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/derby/010-HIVE-3649.derby.sql?rev=1407353&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/derby/010-HIVE-3649.derby.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/derby/010-HIVE-3649.derby.sql Fri Nov 9 04:17:48 2012
@@ -0,0 +1 @@
+ALTER TABLE "SDS" ADD "IS_STOREDASSUBDIRECTORIES" CHAR(1) NOT NULL;
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -66,7 +66,7 @@ CREATE TABLE "APP"."PARTITION_KEYS" ("TB
CREATE TABLE "APP"."PART_COL_PRIVS" ("PART_COLUMN_GRANT_ID" BIGINT NOT NULL, "COLUMN_NAME" VARCHAR(128), "CREATE_TIME" INTEGER NOT NULL, "GRANT_OPTION" SMALLINT NOT NULL, "GRANTOR" VARCHAR(128), "GRANTOR_TYPE" VARCHAR(128), "PART_ID" BIGINT, "PRINCIPAL_NAME" VARCHAR(128), "PRINCIPAL_TYPE" VARCHAR(128), "PART_COL_PRIV" VARCHAR(128));
-CREATE TABLE "APP"."SDS" ("SD_ID" BIGINT NOT NULL, "INPUT_FORMAT" VARCHAR(4000), "IS_COMPRESSED" CHAR(1) NOT NULL, "LOCATION" VARCHAR(4000), "NUM_BUCKETS" INTEGER NOT NULL, "OUTPUT_FORMAT" VARCHAR(4000), "SERDE_ID" BIGINT, "CD_ID" BIGINT);
+CREATE TABLE "APP"."SDS" ("SD_ID" BIGINT NOT NULL, "INPUT_FORMAT" VARCHAR(4000), "IS_COMPRESSED" CHAR(1) NOT NULL, "LOCATION" VARCHAR(4000), "NUM_BUCKETS" INTEGER NOT NULL, "OUTPUT_FORMAT" VARCHAR(4000), "SERDE_ID" BIGINT, "CD_ID" BIGINT, "IS_STOREDASSUBDIRECTORIES" CHAR(1) NOT NULL);
CREATE TABLE "APP"."SEQUENCE_TABLE" ("SEQUENCE_NAME" VARCHAR(256) NOT NULL, "NEXT_VAL" BIGINT NOT NULL);
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -1,3 +1,3 @@
-- Upgrade MetaStore schema from 0.9.0 to 0.10.0
RUN '010-HIVE-3072.derby.sql';
-
+RUN '010-HIVE-3649.derby.sql';
Added: hive/trunk/metastore/scripts/upgrade/mysql/010-HIVE-3649.mysql.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/mysql/010-HIVE-3649.mysql.sql?rev=1407353&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/mysql/010-HIVE-3649.mysql.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/mysql/010-HIVE-3649.mysql.sql Fri Nov 9 04:17:48 2012
@@ -0,0 +1,2 @@
+SELECT '< HIVE-3649: Support stored as directories >' AS ' ';
+ALTER TABLE `SDS` ADD `IS_STOREDASSUBDIRECTORIES` bit(1) ;
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -385,6 +385,7 @@ CREATE TABLE IF NOT EXISTS `SDS` (
`CD_ID` bigint(20) DEFAULT NULL,
`INPUT_FORMAT` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
`IS_COMPRESSED` bit(1) NOT NULL,
+ `IS_STOREDASSUBDIRECTORIES` bit(1) NOT NULL,
`LOCATION` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
`NUM_BUCKETS` int(11) NOT NULL,
`OUTPUT_FORMAT` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -1,3 +1,4 @@
SELECT 'Upgrading MetaStore schema from 0.9.0 to 0.10.0' AS ' ';
SOURCE 010-HIVE-3072.mysql.sql;
+SOURCE 010-HIVE-3649.mysql.sql;
SELECT 'Finished upgrading MetaStore schema from 0.9.0 to 0.10.0' AS ' ';
Added: hive/trunk/metastore/scripts/upgrade/oracle/010-HIVE-3649.oracle.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/oracle/010-HIVE-3649.oracle.sql?rev=1407353&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/oracle/010-HIVE-3649.oracle.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/oracle/010-HIVE-3649.oracle.sql Fri Nov 9 04:17:48 2012
@@ -0,0 +1 @@
+alter table SDS add IS_STOREDASSUBDIRECTORIES NUMBER(1) NOT NULL;
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -252,7 +252,8 @@ CREATE TABLE SDS
LOCATION VARCHAR2(4000) NULL,
NUM_BUCKETS NUMBER (10) NOT NULL,
OUTPUT_FORMAT VARCHAR2(4000) NULL,
- SERDE_ID NUMBER NULL
+ SERDE_ID NUMBER NULL,
+ IS_STOREDASSUBDIRECTORIES NUMBER(1) NOT NULL CHECK (IS_STOREDASSUBDIRECTORIES IN (1,0))
);
ALTER TABLE SDS ADD CONSTRAINT SDS_PK PRIMARY KEY (SD_ID);
Added: hive/trunk/metastore/scripts/upgrade/postgres/010-HIVE-3649.postgres.sql
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/scripts/upgrade/postgres/010-HIVE-3649.postgres.sql?rev=1407353&view=auto
==============================================================================
--- hive/trunk/metastore/scripts/upgrade/postgres/010-HIVE-3649.postgres.sql (added)
+++ hive/trunk/metastore/scripts/upgrade/postgres/010-HIVE-3649.postgres.sql Fri Nov 9 04:17:48 2012
@@ -0,0 +1 @@
+ALTER TABLE "SDS" ADD COLUMN "IS_STOREDASSUBDIRECTORIES" boolean NOT NULL;
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -297,7 +297,8 @@ CREATE TABLE "SDS" (
"NUM_BUCKETS" bigint NOT NULL,
"OUTPUT_FORMAT" character varying(4000) DEFAULT NULL::character varying,
"SERDE_ID" bigint,
- "CD_ID" bigint
+ "CD_ID" bigint,
+ "IS_STOREDASSUBDIRECTORIES" boolean NOT NULL
);
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -1,3 +1,4 @@
SELECT 'Upgrading MetaStore schema from 0.9.0 to 0.10.0';
\i 010-HIVE-3072.postgres.sql;
+\i 010-HIVE-3649.postgres.sql;
SELECT 'Finished upgrading MetaStore schema from 0.9.0 to 0.10.0';
Modified: hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp Fri Nov 9 04:17:48 2012
@@ -1596,8 +1596,8 @@ void swap(SkewedInfo &a, SkewedInfo &b)
swap(a.__isset, b.__isset);
}
-const char* StorageDescriptor::ascii_fingerprint = "BDC4DB93B74677CE1C04198D60E6CB80";
-const uint8_t StorageDescriptor::binary_fingerprint[16] = {0xBD,0xC4,0xDB,0x93,0xB7,0x46,0x77,0xCE,0x1C,0x04,0x19,0x8D,0x60,0xE6,0xCB,0x80};
+const char* StorageDescriptor::ascii_fingerprint = "CA8C9AA5FE4C32643757D8639CEF0CD7";
+const uint8_t StorageDescriptor::binary_fingerprint[16] = {0xCA,0x8C,0x9A,0xA5,0xFE,0x4C,0x32,0x64,0x37,0x57,0xD8,0x63,0x9C,0xEF,0x0C,0xD7};
uint32_t StorageDescriptor::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -1758,6 +1758,14 @@ uint32_t StorageDescriptor::read(::apach
xfer += iprot->skip(ftype);
}
break;
+ case 12:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->storedAsSubDirectories);
+ this->__isset.storedAsSubDirectories = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -1852,6 +1860,11 @@ uint32_t StorageDescriptor::write(::apac
xfer += this->skewedInfo.write(oprot);
xfer += oprot->writeFieldEnd();
}
+ if (this->__isset.storedAsSubDirectories) {
+ xfer += oprot->writeFieldBegin("storedAsSubDirectories", ::apache::thrift::protocol::T_BOOL, 12);
+ xfer += oprot->writeBool(this->storedAsSubDirectories);
+ xfer += oprot->writeFieldEnd();
+ }
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
@@ -1870,11 +1883,12 @@ void swap(StorageDescriptor &a, StorageD
swap(a.sortCols, b.sortCols);
swap(a.parameters, b.parameters);
swap(a.skewedInfo, b.skewedInfo);
+ swap(a.storedAsSubDirectories, b.storedAsSubDirectories);
swap(a.__isset, b.__isset);
}
-const char* Table::ascii_fingerprint = "F21F7F0ACA98ECCFC83F6605440D007F";
-const uint8_t Table::binary_fingerprint[16] = {0xF2,0x1F,0x7F,0x0A,0xCA,0x98,0xEC,0xCF,0xC8,0x3F,0x66,0x05,0x44,0x0D,0x00,0x7F};
+const char* Table::ascii_fingerprint = "68640B4B66B355CF317429AF70D2C260";
+const uint8_t Table::binary_fingerprint[16] = {0x68,0x64,0x0B,0x4B,0x66,0xB3,0x55,0xCF,0x31,0x74,0x29,0xAF,0x70,0xD2,0xC2,0x60};
uint32_t Table::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -2136,8 +2150,8 @@ void swap(Table &a, Table &b) {
swap(a.__isset, b.__isset);
}
-const char* Partition::ascii_fingerprint = "E5EF1F030CF964C052658DD22257D025";
-const uint8_t Partition::binary_fingerprint[16] = {0xE5,0xEF,0x1F,0x03,0x0C,0xF9,0x64,0xC0,0x52,0x65,0x8D,0xD2,0x22,0x57,0xD0,0x25};
+const char* Partition::ascii_fingerprint = "31A52241B88A426C34087FE38343FF51";
+const uint8_t Partition::binary_fingerprint[16] = {0x31,0xA5,0x22,0x41,0xB8,0x8A,0x42,0x6C,0x34,0x08,0x7F,0xE3,0x83,0x43,0xFF,0x51};
uint32_t Partition::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -2334,8 +2348,8 @@ void swap(Partition &a, Partition &b) {
swap(a.__isset, b.__isset);
}
-const char* Index::ascii_fingerprint = "BA1090E838C806A4F8D8D137C5085EDD";
-const uint8_t Index::binary_fingerprint[16] = {0xBA,0x10,0x90,0xE8,0x38,0xC8,0x06,0xA4,0xF8,0xD8,0xD1,0x37,0xC5,0x08,0x5E,0xDD};
+const char* Index::ascii_fingerprint = "09EEF655216AC81802850988D6C470A6";
+const uint8_t Index::binary_fingerprint[16] = {0x09,0xEE,0xF6,0x55,0x21,0x6A,0xC8,0x18,0x02,0x85,0x09,0x88,0xD6,0xC4,0x70,0xA6};
uint32_t Index::read(::apache::thrift::protocol::TProtocol* iprot) {
Modified: hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h Fri Nov 9 04:17:48 2012
@@ -859,7 +859,7 @@ class SkewedInfo {
void swap(SkewedInfo &a, SkewedInfo &b);
typedef struct _StorageDescriptor__isset {
- _StorageDescriptor__isset() : cols(false), location(false), inputFormat(false), outputFormat(false), compressed(false), numBuckets(false), serdeInfo(false), bucketCols(false), sortCols(false), parameters(false), skewedInfo(false) {}
+ _StorageDescriptor__isset() : cols(false), location(false), inputFormat(false), outputFormat(false), compressed(false), numBuckets(false), serdeInfo(false), bucketCols(false), sortCols(false), parameters(false), skewedInfo(false), storedAsSubDirectories(false) {}
bool cols;
bool location;
bool inputFormat;
@@ -871,15 +871,16 @@ typedef struct _StorageDescriptor__isset
bool sortCols;
bool parameters;
bool skewedInfo;
+ bool storedAsSubDirectories;
} _StorageDescriptor__isset;
class StorageDescriptor {
public:
- static const char* ascii_fingerprint; // = "BDC4DB93B74677CE1C04198D60E6CB80";
- static const uint8_t binary_fingerprint[16]; // = {0xBD,0xC4,0xDB,0x93,0xB7,0x46,0x77,0xCE,0x1C,0x04,0x19,0x8D,0x60,0xE6,0xCB,0x80};
+ static const char* ascii_fingerprint; // = "CA8C9AA5FE4C32643757D8639CEF0CD7";
+ static const uint8_t binary_fingerprint[16]; // = {0xCA,0x8C,0x9A,0xA5,0xFE,0x4C,0x32,0x64,0x37,0x57,0xD8,0x63,0x9C,0xEF,0x0C,0xD7};
- StorageDescriptor() : location(), inputFormat(), outputFormat(), compressed(0), numBuckets(0) {
+ StorageDescriptor() : location(), inputFormat(), outputFormat(), compressed(0), numBuckets(0), storedAsSubDirectories(0) {
}
virtual ~StorageDescriptor() throw() {}
@@ -895,6 +896,7 @@ class StorageDescriptor {
std::vector<Order> sortCols;
std::map<std::string, std::string> parameters;
SkewedInfo skewedInfo;
+ bool storedAsSubDirectories;
_StorageDescriptor__isset __isset;
@@ -943,6 +945,11 @@ class StorageDescriptor {
__isset.skewedInfo = true;
}
+ void __set_storedAsSubDirectories(const bool val) {
+ storedAsSubDirectories = val;
+ __isset.storedAsSubDirectories = true;
+ }
+
bool operator == (const StorageDescriptor & rhs) const
{
if (!(cols == rhs.cols))
@@ -969,6 +976,10 @@ class StorageDescriptor {
return false;
else if (__isset.skewedInfo && !(skewedInfo == rhs.skewedInfo))
return false;
+ if (__isset.storedAsSubDirectories != rhs.__isset.storedAsSubDirectories)
+ return false;
+ else if (__isset.storedAsSubDirectories && !(storedAsSubDirectories == rhs.storedAsSubDirectories))
+ return false;
return true;
}
bool operator != (const StorageDescriptor &rhs) const {
@@ -1004,8 +1015,8 @@ typedef struct _Table__isset {
class Table {
public:
- static const char* ascii_fingerprint; // = "F21F7F0ACA98ECCFC83F6605440D007F";
- static const uint8_t binary_fingerprint[16]; // = {0xF2,0x1F,0x7F,0x0A,0xCA,0x98,0xEC,0xCF,0xC8,0x3F,0x66,0x05,0x44,0x0D,0x00,0x7F};
+ static const char* ascii_fingerprint; // = "68640B4B66B355CF317429AF70D2C260";
+ static const uint8_t binary_fingerprint[16]; // = {0x68,0x64,0x0B,0x4B,0x66,0xB3,0x55,0xCF,0x31,0x74,0x29,0xAF,0x70,0xD2,0xC2,0x60};
Table() : tableName(), dbName(), owner(), createTime(0), lastAccessTime(0), retention(0), viewOriginalText(), viewExpandedText(), tableType() {
}
@@ -1141,8 +1152,8 @@ typedef struct _Partition__isset {
class Partition {
public:
- static const char* ascii_fingerprint; // = "E5EF1F030CF964C052658DD22257D025";
- static const uint8_t binary_fingerprint[16]; // = {0xE5,0xEF,0x1F,0x03,0x0C,0xF9,0x64,0xC0,0x52,0x65,0x8D,0xD2,0x22,0x57,0xD0,0x25};
+ static const char* ascii_fingerprint; // = "31A52241B88A426C34087FE38343FF51";
+ static const uint8_t binary_fingerprint[16]; // = {0x31,0xA5,0x22,0x41,0xB8,0x8A,0x42,0x6C,0x34,0x08,0x7F,0xE3,0x83,0x43,0xFF,0x51};
Partition() : dbName(), tableName(), createTime(0), lastAccessTime(0) {
}
@@ -1245,8 +1256,8 @@ typedef struct _Index__isset {
class Index {
public:
- static const char* ascii_fingerprint; // = "BA1090E838C806A4F8D8D137C5085EDD";
- static const uint8_t binary_fingerprint[16]; // = {0xBA,0x10,0x90,0xE8,0x38,0xC8,0x06,0xA4,0xF8,0xD8,0xD1,0x37,0xC5,0x08,0x5E,0xDD};
+ static const char* ascii_fingerprint; // = "09EEF655216AC81802850988D6C470A6";
+ static const uint8_t binary_fingerprint[16]; // = {0x09,0xEE,0xF6,0x55,0x21,0x6A,0xC8,0x18,0x02,0x85,0x09,0x88,0xD6,0xC4,0x70,0xA6};
Index() : indexName(), indexHandlerClass(), dbName(), origTableName(), createTime(0), lastAccessTime(0), indexTableName(), deferredRebuild(0) {
}
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java Fri Nov 9 04:17:48 2012
@@ -708,7 +708,7 @@ public class Database implements org.apa
for (int _i79 = 0; _i79 < _map78.size; ++_i79)
{
String _key80; // required
- String _val81; // required
+ String _val81; // optional
_key80 = iprot.readString();
_val81 = iprot.readString();
struct.parameters.put(_key80, _val81);
@@ -858,7 +858,7 @@ public class Database implements org.apa
for (int _i85 = 0; _i85 < _map84.size; ++_i85)
{
String _key86; // required
- String _val87; // required
+ String _val87; // optional
_key86 = iprot.readString();
_val87 = iprot.readString();
struct.parameters.put(_key86, _val87);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java Fri Nov 9 04:17:48 2012
@@ -356,7 +356,7 @@ public class EnvironmentContext implemen
for (int _i247 = 0; _i247 < _map246.size; ++_i247)
{
String _key248; // required
- String _val249; // required
+ String _val249; // optional
_key248 = iprot.readString();
_val249 = iprot.readString();
struct.properties.put(_key248, _val249);
@@ -439,7 +439,7 @@ public class EnvironmentContext implemen
for (int _i253 = 0; _i253 < _map252.size; ++_i253)
{
String _key254; // required
- String _val255; // required
+ String _val255; // optional
_key254 = iprot.readString();
_val255 = iprot.readString();
struct.properties.put(_key254, _val255);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java Fri Nov 9 04:17:48 2012
@@ -1145,7 +1145,7 @@ public class Index implements org.apache
for (int _i211 = 0; _i211 < _map210.size; ++_i211)
{
String _key212; // required
- String _val213; // required
+ String _val213; // optional
_key212 = iprot.readString();
_val213 = iprot.readString();
struct.parameters.put(_key212, _val213);
@@ -1362,7 +1362,7 @@ public class Index implements org.apache
for (int _i217 = 0; _i217 < _map216.size; ++_i217)
{
String _key218; // required
- String _val219; // required
+ String _val219; // optional
_key218 = iprot.readString();
_val219 = iprot.readString();
struct.parameters.put(_key218, _val219);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java Fri Nov 9 04:17:48 2012
@@ -1005,7 +1005,7 @@ public class Partition implements org.ap
for (int _i196 = 0; _i196 < _map195.size; ++_i196)
{
String _key197; // required
- String _val198; // required
+ String _val198; // optional
_key197 = iprot.readString();
_val198 = iprot.readString();
struct.parameters.put(_key197, _val198);
@@ -1219,7 +1219,7 @@ public class Partition implements org.ap
for (int _i207 = 0; _i207 < _map206.size; ++_i207)
{
String _key208; // required
- String _val209; // required
+ String _val209; // optional
_key208 = iprot.readString();
_val209 = iprot.readString();
struct.parameters.put(_key208, _val209);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java Fri Nov 9 04:17:48 2012
@@ -580,7 +580,7 @@ public class PrincipalPrivilegeSet imple
for (int _i25 = 0; _i25 < _map24.size; ++_i25)
{
String _key26; // required
- List<PrivilegeGrantInfo> _val27; // required
+ List<PrivilegeGrantInfo> _val27; // optional
_key26 = iprot.readString();
{
org.apache.thrift.protocol.TList _list28 = iprot.readListBegin();
@@ -611,7 +611,7 @@ public class PrincipalPrivilegeSet imple
for (int _i32 = 0; _i32 < _map31.size; ++_i32)
{
String _key33; // required
- List<PrivilegeGrantInfo> _val34; // required
+ List<PrivilegeGrantInfo> _val34; // optional
_key33 = iprot.readString();
{
org.apache.thrift.protocol.TList _list35 = iprot.readListBegin();
@@ -642,7 +642,7 @@ public class PrincipalPrivilegeSet imple
for (int _i39 = 0; _i39 < _map38.size; ++_i39)
{
String _key40; // required
- List<PrivilegeGrantInfo> _val41; // required
+ List<PrivilegeGrantInfo> _val41; // optional
_key40 = iprot.readString();
{
org.apache.thrift.protocol.TList _list42 = iprot.readListBegin();
@@ -827,7 +827,7 @@ public class PrincipalPrivilegeSet imple
for (int _i58 = 0; _i58 < _map57.size; ++_i58)
{
String _key59; // required
- List<PrivilegeGrantInfo> _val60; // required
+ List<PrivilegeGrantInfo> _val60; // optional
_key59 = iprot.readString();
{
org.apache.thrift.protocol.TList _list61 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -852,7 +852,7 @@ public class PrincipalPrivilegeSet imple
for (int _i65 = 0; _i65 < _map64.size; ++_i65)
{
String _key66; // required
- List<PrivilegeGrantInfo> _val67; // required
+ List<PrivilegeGrantInfo> _val67; // optional
_key66 = iprot.readString();
{
org.apache.thrift.protocol.TList _list68 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -877,7 +877,7 @@ public class PrincipalPrivilegeSet imple
for (int _i72 = 0; _i72 < _map71.size; ++_i72)
{
String _key73; // required
- List<PrivilegeGrantInfo> _val74; // required
+ List<PrivilegeGrantInfo> _val74; // optional
_key73 = iprot.readString();
{
org.apache.thrift.protocol.TList _list75 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java Fri Nov 9 04:17:48 2012
@@ -476,7 +476,7 @@ public class Schema implements org.apach
for (int _i232 = 0; _i232 < _map231.size; ++_i232)
{
String _key233; // required
- String _val234; // required
+ String _val234; // optional
_key233 = iprot.readString();
_val234 = iprot.readString();
struct.properties.put(_key233, _val234);
@@ -597,7 +597,7 @@ public class Schema implements org.apach
for (int _i243 = 0; _i243 < _map242.size; ++_i243)
{
String _key244; // required
- String _val245; // required
+ String _val245; // optional
_key244 = iprot.readString();
_val245 = iprot.readString();
struct.properties.put(_key244, _val245);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java Fri Nov 9 04:17:48 2012
@@ -534,7 +534,7 @@ public class SerDeInfo implements org.ap
for (int _i89 = 0; _i89 < _map88.size; ++_i89)
{
String _key90; // required
- String _val91; // required
+ String _val91; // optional
_key90 = iprot.readString();
_val91 = iprot.readString();
struct.parameters.put(_key90, _val91);
@@ -647,7 +647,7 @@ public class SerDeInfo implements org.ap
for (int _i95 = 0; _i95 < _map94.size; ++_i95)
{
String _key96; // required
- String _val97; // required
+ String _val97; // optional
_key96 = iprot.readString();
_val97 = iprot.readString();
struct.parameters.put(_key96, _val97);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java Fri Nov 9 04:17:48 2012
@@ -613,7 +613,7 @@ public class SkewedInfo implements org.a
for (int _i108 = 0; _i108 < _map107.size; ++_i108)
{
List<String> _key109; // required
- String _val110; // required
+ String _val110; // optional
{
org.apache.thrift.protocol.TList _list111 = iprot.readListBegin();
_key109 = new ArrayList<String>(_list111.size);
@@ -815,7 +815,7 @@ public class SkewedInfo implements org.a
for (int _i134 = 0; _i134 < _map133.size; ++_i134)
{
List<String> _key135; // required
- String _val136; // required
+ String _val136; // optional
{
org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
_key135 = new ArrayList<String>(_list137.size);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java Fri Nov 9 04:17:48 2012
@@ -45,6 +45,7 @@ public class StorageDescriptor implement
private static final org.apache.thrift.protocol.TField SORT_COLS_FIELD_DESC = new org.apache.thrift.protocol.TField("sortCols", org.apache.thrift.protocol.TType.LIST, (short)9);
private static final org.apache.thrift.protocol.TField PARAMETERS_FIELD_DESC = new org.apache.thrift.protocol.TField("parameters", org.apache.thrift.protocol.TType.MAP, (short)10);
private static final org.apache.thrift.protocol.TField SKEWED_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedInfo", org.apache.thrift.protocol.TType.STRUCT, (short)11);
+ private static final org.apache.thrift.protocol.TField STORED_AS_SUB_DIRECTORIES_FIELD_DESC = new org.apache.thrift.protocol.TField("storedAsSubDirectories", org.apache.thrift.protocol.TType.BOOL, (short)12);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -63,6 +64,7 @@ public class StorageDescriptor implement
private List<Order> sortCols; // required
private Map<String,String> parameters; // required
private SkewedInfo skewedInfo; // optional
+ private boolean storedAsSubDirectories; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -76,7 +78,8 @@ public class StorageDescriptor implement
BUCKET_COLS((short)8, "bucketCols"),
SORT_COLS((short)9, "sortCols"),
PARAMETERS((short)10, "parameters"),
- SKEWED_INFO((short)11, "skewedInfo");
+ SKEWED_INFO((short)11, "skewedInfo"),
+ STORED_AS_SUB_DIRECTORIES((short)12, "storedAsSubDirectories");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -113,6 +116,8 @@ public class StorageDescriptor implement
return PARAMETERS;
case 11: // SKEWED_INFO
return SKEWED_INFO;
+ case 12: // STORED_AS_SUB_DIRECTORIES
+ return STORED_AS_SUB_DIRECTORIES;
default:
return null;
}
@@ -155,8 +160,9 @@ public class StorageDescriptor implement
// isset id assignments
private static final int __COMPRESSED_ISSET_ID = 0;
private static final int __NUMBUCKETS_ISSET_ID = 1;
+ private static final int __STOREDASSUBDIRECTORIES_ISSET_ID = 2;
private byte __isset_bitfield = 0;
- private _Fields optionals[] = {_Fields.SKEWED_INFO};
+ private _Fields optionals[] = {_Fields.SKEWED_INFO,_Fields.STORED_AS_SUB_DIRECTORIES};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -187,6 +193,8 @@ public class StorageDescriptor implement
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
tmpMap.put(_Fields.SKEWED_INFO, new org.apache.thrift.meta_data.FieldMetaData("skewedInfo", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SkewedInfo.class)));
+ tmpMap.put(_Fields.STORED_AS_SUB_DIRECTORIES, new org.apache.thrift.meta_data.FieldMetaData("storedAsSubDirectories", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StorageDescriptor.class, metaDataMap);
}
@@ -279,6 +287,7 @@ public class StorageDescriptor implement
if (other.isSetSkewedInfo()) {
this.skewedInfo = new SkewedInfo(other.skewedInfo);
}
+ this.storedAsSubDirectories = other.storedAsSubDirectories;
}
public StorageDescriptor deepCopy() {
@@ -300,6 +309,8 @@ public class StorageDescriptor implement
this.sortCols = null;
this.parameters = null;
this.skewedInfo = null;
+ setStoredAsSubDirectoriesIsSet(false);
+ this.storedAsSubDirectories = false;
}
public int getColsSize() {
@@ -609,6 +620,28 @@ public class StorageDescriptor implement
}
}
+ public boolean isStoredAsSubDirectories() {
+ return this.storedAsSubDirectories;
+ }
+
+ public void setStoredAsSubDirectories(boolean storedAsSubDirectories) {
+ this.storedAsSubDirectories = storedAsSubDirectories;
+ setStoredAsSubDirectoriesIsSet(true);
+ }
+
+ public void unsetStoredAsSubDirectories() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STOREDASSUBDIRECTORIES_ISSET_ID);
+ }
+
+ /** Returns true if field storedAsSubDirectories is set (has been assigned a value) and false otherwise */
+ public boolean isSetStoredAsSubDirectories() {
+ return EncodingUtils.testBit(__isset_bitfield, __STOREDASSUBDIRECTORIES_ISSET_ID);
+ }
+
+ public void setStoredAsSubDirectoriesIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STOREDASSUBDIRECTORIES_ISSET_ID, value);
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case COLS:
@@ -699,6 +732,14 @@ public class StorageDescriptor implement
}
break;
+ case STORED_AS_SUB_DIRECTORIES:
+ if (value == null) {
+ unsetStoredAsSubDirectories();
+ } else {
+ setStoredAsSubDirectories((Boolean)value);
+ }
+ break;
+
}
}
@@ -737,6 +778,9 @@ public class StorageDescriptor implement
case SKEWED_INFO:
return getSkewedInfo();
+ case STORED_AS_SUB_DIRECTORIES:
+ return Boolean.valueOf(isStoredAsSubDirectories());
+
}
throw new IllegalStateException();
}
@@ -770,6 +814,8 @@ public class StorageDescriptor implement
return isSetParameters();
case SKEWED_INFO:
return isSetSkewedInfo();
+ case STORED_AS_SUB_DIRECTORIES:
+ return isSetStoredAsSubDirectories();
}
throw new IllegalStateException();
}
@@ -886,6 +932,15 @@ public class StorageDescriptor implement
return false;
}
+ boolean this_present_storedAsSubDirectories = true && this.isSetStoredAsSubDirectories();
+ boolean that_present_storedAsSubDirectories = true && that.isSetStoredAsSubDirectories();
+ if (this_present_storedAsSubDirectories || that_present_storedAsSubDirectories) {
+ if (!(this_present_storedAsSubDirectories && that_present_storedAsSubDirectories))
+ return false;
+ if (this.storedAsSubDirectories != that.storedAsSubDirectories)
+ return false;
+ }
+
return true;
}
@@ -948,6 +1003,11 @@ public class StorageDescriptor implement
if (present_skewedInfo)
builder.append(skewedInfo);
+ boolean present_storedAsSubDirectories = true && (isSetStoredAsSubDirectories());
+ builder.append(present_storedAsSubDirectories);
+ if (present_storedAsSubDirectories)
+ builder.append(storedAsSubDirectories);
+
return builder.toHashCode();
}
@@ -1069,6 +1129,16 @@ public class StorageDescriptor implement
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetStoredAsSubDirectories()).compareTo(typedOther.isSetStoredAsSubDirectories());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetStoredAsSubDirectories()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storedAsSubDirectories, typedOther.storedAsSubDirectories);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -1170,6 +1240,12 @@ public class StorageDescriptor implement
}
first = false;
}
+ if (isSetStoredAsSubDirectories()) {
+ if (!first) sb.append(", ");
+ sb.append("storedAsSubDirectories:");
+ sb.append(this.storedAsSubDirectories);
+ first = false;
+ }
sb.append(")");
return sb.toString();
}
@@ -1334,7 +1410,7 @@ public class StorageDescriptor implement
for (int _i150 = 0; _i150 < _map149.size; ++_i150)
{
String _key151; // required
- String _val152; // required
+ String _val152; // optional
_key151 = iprot.readString();
_val152 = iprot.readString();
struct.parameters.put(_key151, _val152);
@@ -1355,6 +1431,14 @@ public class StorageDescriptor implement
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 12: // STORED_AS_SUB_DIRECTORIES
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.storedAsSubDirectories = iprot.readBool();
+ struct.setStoredAsSubDirectoriesIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -1450,6 +1534,11 @@ public class StorageDescriptor implement
oprot.writeFieldEnd();
}
}
+ if (struct.isSetStoredAsSubDirectories()) {
+ oprot.writeFieldBegin(STORED_AS_SUB_DIRECTORIES_FIELD_DESC);
+ oprot.writeBool(struct.storedAsSubDirectories);
+ oprot.writeFieldEnd();
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -1501,7 +1590,10 @@ public class StorageDescriptor implement
if (struct.isSetSkewedInfo()) {
optionals.set(10);
}
- oprot.writeBitSet(optionals, 11);
+ if (struct.isSetStoredAsSubDirectories()) {
+ optionals.set(11);
+ }
+ oprot.writeBitSet(optionals, 12);
if (struct.isSetCols()) {
{
oprot.writeI32(struct.cols.size());
@@ -1560,12 +1652,15 @@ public class StorageDescriptor implement
if (struct.isSetSkewedInfo()) {
struct.skewedInfo.write(oprot);
}
+ if (struct.isSetStoredAsSubDirectories()) {
+ oprot.writeBool(struct.storedAsSubDirectories);
+ }
}
@Override
public void read(org.apache.thrift.protocol.TProtocol prot, StorageDescriptor struct) throws org.apache.thrift.TException {
TTupleProtocol iprot = (TTupleProtocol) prot;
- BitSet incoming = iprot.readBitSet(11);
+ BitSet incoming = iprot.readBitSet(12);
if (incoming.get(0)) {
{
org.apache.thrift.protocol.TList _list161 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -1639,7 +1734,7 @@ public class StorageDescriptor implement
for (int _i171 = 0; _i171 < _map170.size; ++_i171)
{
String _key172; // required
- String _val173; // required
+ String _val173; // optional
_key172 = iprot.readString();
_val173 = iprot.readString();
struct.parameters.put(_key172, _val173);
@@ -1652,6 +1747,10 @@ public class StorageDescriptor implement
struct.skewedInfo.read(iprot);
struct.setSkewedInfoIsSet(true);
}
+ if (incoming.get(11)) {
+ struct.storedAsSubDirectories = iprot.readBool();
+ struct.setStoredAsSubDirectoriesIsSet(true);
+ }
}
}
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java Fri Nov 9 04:17:48 2012
@@ -1423,7 +1423,7 @@ public class Table implements org.apache
for (int _i178 = 0; _i178 < _map177.size; ++_i178)
{
String _key179; // required
- String _val180; // required
+ String _val180; // optional
_key179 = iprot.readString();
_val180 = iprot.readString();
struct.parameters.put(_key179, _val180);
@@ -1723,7 +1723,7 @@ public class Table implements org.apache
for (int _i189 = 0; _i189 < _map188.size; ++_i189)
{
String _key190; // required
- String _val191; // required
+ String _val191; // optional
_key190 = iprot.readString();
_val191 = iprot.readString();
struct.parameters.put(_key190, _val191);
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java Fri Nov 9 04:17:48 2012
@@ -16721,7 +16721,7 @@ public class ThriftHiveMetastore {
for (int _i273 = 0; _i273 < _map272.size; ++_i273)
{
String _key274; // required
- Type _val275; // required
+ Type _val275; // optional
_key274 = iprot.readString();
_val275 = new Type();
_val275.read(iprot);
@@ -16825,7 +16825,7 @@ public class ThriftHiveMetastore {
for (int _i279 = 0; _i279 < _map278.size; ++_i279)
{
String _key280; // required
- Type _val281; // required
+ Type _val281; // optional
_key280 = iprot.readString();
_val281 = new Type();
_val281.read(iprot);
@@ -59785,7 +59785,7 @@ public class ThriftHiveMetastore {
for (int _i523 = 0; _i523 < _map522.size; ++_i523)
{
String _key524; // required
- String _val525; // required
+ String _val525; // optional
_key524 = iprot.readString();
_val525 = iprot.readString();
struct.success.put(_key524, _val525);
@@ -59888,7 +59888,7 @@ public class ThriftHiveMetastore {
for (int _i529 = 0; _i529 < _map528.size; ++_i529)
{
String _key530; // required
- String _val531; // required
+ String _val531; // optional
_key530 = iprot.readString();
_val531 = iprot.readString();
struct.success.put(_key530, _val531);
@@ -60502,7 +60502,7 @@ public class ThriftHiveMetastore {
for (int _i533 = 0; _i533 < _map532.size; ++_i533)
{
String _key534; // required
- String _val535; // required
+ String _val535; // optional
_key534 = iprot.readString();
_val535 = iprot.readString();
struct.part_vals.put(_key534, _val535);
@@ -60634,7 +60634,7 @@ public class ThriftHiveMetastore {
for (int _i539 = 0; _i539 < _map538.size; ++_i539)
{
String _key540; // required
- String _val541; // required
+ String _val541; // optional
_key540 = iprot.readString();
_val541 = iprot.readString();
struct.part_vals.put(_key540, _val541);
@@ -62137,7 +62137,7 @@ public class ThriftHiveMetastore {
for (int _i543 = 0; _i543 < _map542.size; ++_i543)
{
String _key544; // required
- String _val545; // required
+ String _val545; // optional
_key544 = iprot.readString();
_val545 = iprot.readString();
struct.part_vals.put(_key544, _val545);
@@ -62269,7 +62269,7 @@ public class ThriftHiveMetastore {
for (int _i549 = 0; _i549 < _map548.size; ++_i549)
{
String _key550; // required
- String _val551; // required
+ String _val551; // optional
_key550 = iprot.readString();
_val551 = iprot.readString();
struct.part_vals.put(_key550, _val551);
Modified: hive/trunk/metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php Fri Nov 9 04:17:48 2012
@@ -2083,6 +2083,7 @@ class StorageDescriptor {
public $sortCols = null;
public $parameters = null;
public $skewedInfo = null;
+ public $storedAsSubDirectories = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -2155,6 +2156,10 @@ class StorageDescriptor {
'type' => TType::STRUCT,
'class' => 'SkewedInfo',
),
+ 12 => array(
+ 'var' => 'storedAsSubDirectories',
+ 'type' => TType::BOOL,
+ ),
);
}
if (is_array($vals)) {
@@ -2191,6 +2196,9 @@ class StorageDescriptor {
if (isset($vals['skewedInfo'])) {
$this->skewedInfo = $vals['skewedInfo'];
}
+ if (isset($vals['storedAsSubDirectories'])) {
+ $this->storedAsSubDirectories = $vals['storedAsSubDirectories'];
+ }
}
}
@@ -2337,6 +2345,13 @@ class StorageDescriptor {
$xfer += $input->skip($ftype);
}
break;
+ case 12:
+ if ($ftype == TType::BOOL) {
+ $xfer += $input->readBool($this->storedAsSubDirectories);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -2460,6 +2475,11 @@ class StorageDescriptor {
$xfer += $this->skewedInfo->write($output);
$xfer += $output->writeFieldEnd();
}
+ if ($this->storedAsSubDirectories !== null) {
+ $xfer += $output->writeFieldBegin('storedAsSubDirectories', TType::BOOL, 12);
+ $xfer += $output->writeBool($this->storedAsSubDirectories);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
Modified: hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php Fri Nov 9 04:17:48 2012
@@ -2073,6 +2073,7 @@ class StorageDescriptor {
public $sortCols = null;
public $parameters = null;
public $skewedInfo = null;
+ public $storedAsSubDirectories = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -2145,6 +2146,10 @@ class StorageDescriptor {
'type' => TType::STRUCT,
'class' => '\metastore\SkewedInfo',
),
+ 12 => array(
+ 'var' => 'storedAsSubDirectories',
+ 'type' => TType::BOOL,
+ ),
);
}
if (is_array($vals)) {
@@ -2181,6 +2186,9 @@ class StorageDescriptor {
if (isset($vals['skewedInfo'])) {
$this->skewedInfo = $vals['skewedInfo'];
}
+ if (isset($vals['storedAsSubDirectories'])) {
+ $this->storedAsSubDirectories = $vals['storedAsSubDirectories'];
+ }
}
}
@@ -2327,6 +2335,13 @@ class StorageDescriptor {
$xfer += $input->skip($ftype);
}
break;
+ case 12:
+ if ($ftype == TType::BOOL) {
+ $xfer += $input->readBool($this->storedAsSubDirectories);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -2450,6 +2465,11 @@ class StorageDescriptor {
$xfer += $this->skewedInfo->write($output);
$xfer += $output->writeFieldEnd();
}
+ if ($this->storedAsSubDirectories !== null) {
+ $xfer += $output->writeFieldBegin('storedAsSubDirectories', TType::BOOL, 12);
+ $xfer += $output->writeBool($this->storedAsSubDirectories);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
Modified: hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py Fri Nov 9 04:17:48 2012
@@ -1372,6 +1372,7 @@ class StorageDescriptor:
- sortCols
- parameters
- skewedInfo
+ - storedAsSubDirectories
"""
thrift_spec = (
@@ -1387,9 +1388,10 @@ class StorageDescriptor:
(9, TType.LIST, 'sortCols', (TType.STRUCT,(Order, Order.thrift_spec)), None, ), # 9
(10, TType.MAP, 'parameters', (TType.STRING,None,TType.STRING,None), None, ), # 10
(11, TType.STRUCT, 'skewedInfo', (SkewedInfo, SkewedInfo.thrift_spec), None, ), # 11
+ (12, TType.BOOL, 'storedAsSubDirectories', None, None, ), # 12
)
- def __init__(self, cols=None, location=None, inputFormat=None, outputFormat=None, compressed=None, numBuckets=None, serdeInfo=None, bucketCols=None, sortCols=None, parameters=None, skewedInfo=None,):
+ def __init__(self, cols=None, location=None, inputFormat=None, outputFormat=None, compressed=None, numBuckets=None, serdeInfo=None, bucketCols=None, sortCols=None, parameters=None, skewedInfo=None, storedAsSubDirectories=None,):
self.cols = cols
self.location = location
self.inputFormat = inputFormat
@@ -1401,6 +1403,7 @@ class StorageDescriptor:
self.sortCols = sortCols
self.parameters = parameters
self.skewedInfo = skewedInfo
+ self.storedAsSubDirectories = storedAsSubDirectories
def read(self, iprot):
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -1491,6 +1494,11 @@ class StorageDescriptor:
self.skewedInfo.read(iprot)
else:
iprot.skip(ftype)
+ elif fid == 12:
+ if ftype == TType.BOOL:
+ self.storedAsSubDirectories = iprot.readBool();
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -1558,6 +1566,10 @@ class StorageDescriptor:
oprot.writeFieldBegin('skewedInfo', TType.STRUCT, 11)
self.skewedInfo.write(oprot)
oprot.writeFieldEnd()
+ if self.storedAsSubDirectories is not None:
+ oprot.writeFieldBegin('storedAsSubDirectories', TType.BOOL, 12)
+ oprot.writeBool(self.storedAsSubDirectories)
+ oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
Modified: hive/trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb Fri Nov 9 04:17:48 2012
@@ -322,6 +322,7 @@ class StorageDescriptor
SORTCOLS = 9
PARAMETERS = 10
SKEWEDINFO = 11
+ STOREDASSUBDIRECTORIES = 12
FIELDS = {
COLS => {:type => ::Thrift::Types::LIST, :name => 'cols', :element => {:type => ::Thrift::Types::STRUCT, :class => ::FieldSchema}},
@@ -334,7 +335,8 @@ class StorageDescriptor
BUCKETCOLS => {:type => ::Thrift::Types::LIST, :name => 'bucketCols', :element => {:type => ::Thrift::Types::STRING}},
SORTCOLS => {:type => ::Thrift::Types::LIST, :name => 'sortCols', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Order}},
PARAMETERS => {:type => ::Thrift::Types::MAP, :name => 'parameters', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}},
- SKEWEDINFO => {:type => ::Thrift::Types::STRUCT, :name => 'skewedInfo', :class => ::SkewedInfo, :optional => true}
+ SKEWEDINFO => {:type => ::Thrift::Types::STRUCT, :name => 'skewedInfo', :class => ::SkewedInfo, :optional => true},
+ STOREDASSUBDIRECTORIES => {:type => ::Thrift::Types::BOOL, :name => 'storedAsSubDirectories', :optional => true}
}
def struct_fields; FIELDS; end
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=1407353&r1=1407352&r2=1407353&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 Fri Nov 9 04:17:48 2012
@@ -1008,6 +1008,7 @@ public class ObjectStore implements RawS
convertToSkewedValues(msd.getSkewedColValues()),
covertToSkewedMap(msd.getSkewedColValueLocationMaps()));
sd.setSkewedInfo(skewedInfo);
+ sd.setStoredAsSubDirectories(msd.isStoredAsSubDirectories());
return sd;
}
@@ -1120,7 +1121,7 @@ public class ObjectStore implements RawS
convertToMStringLists((null == sd.getSkewedInfo()) ? null : sd.getSkewedInfo()
.getSkewedColValues()),
covertToMapMStringList((null == sd.getSkewedInfo()) ? null : sd.getSkewedInfo()
- .getSkewedColValueLocationMaps()));
+ .getSkewedColValueLocationMaps()), sd.isStoredAsSubDirectories());
}
public boolean addPartition(Partition part) throws InvalidObjectException,
@@ -2106,6 +2107,7 @@ public class ObjectStore implements RawS
oldSd.setSkewedColValueLocationMaps(newSd.getSkewedColValueLocationMaps());
oldSd.setSortCols(newSd.getSortCols());
oldSd.setParameters(newSd.getParameters());
+ oldSd.setStoredAsSubDirectories(newSd.isStoredAsSubDirectories());
}
/**
Modified: hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java (original)
+++ hive/trunk/metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java Fri Nov 9 04:17:48 2012
@@ -35,6 +35,7 @@ public class MStorageDescriptor {
private List<String> skewedColNames;
private List<MStringList> skewedColValues;
private Map<MStringList, String> skewedColValueLocationMaps;
+ private boolean isStoredAsSubDirectories;
public MStorageDescriptor() {}
@@ -55,7 +56,7 @@ public class MStorageDescriptor {
String outputFormat, boolean isCompressed, int numBuckets, MSerDeInfo serDeInfo,
List<String> bucketCols, List<MOrder> sortOrder, Map<String, String> parameters,
List<String> skewedColNames, List<MStringList> skewedColValues,
- Map<MStringList, String> skewedColValueLocationMaps) {
+ Map<MStringList, String> skewedColValueLocationMaps, boolean storedAsSubDirectories) {
this.cd = cd;
this.location = location;
this.inputFormat = inputFormat;
@@ -69,6 +70,7 @@ public class MStorageDescriptor {
this.skewedColNames = skewedColNames;
this.skewedColValues = skewedColValues;
this.skewedColValueLocationMaps = skewedColValueLocationMaps;
+ this.isStoredAsSubDirectories = storedAsSubDirectories;
}
@@ -256,4 +258,20 @@ public class MStorageDescriptor {
this.skewedColValueLocationMaps = listBucketColValuesMapping;
}
+
+ /**
+ * @return the storedAsSubDirectories
+ */
+ public boolean isStoredAsSubDirectories() {
+ return isStoredAsSubDirectories;
+ }
+
+
+ /**
+ * @param storedAsSubDirectories the storedAsSubDirectories to set
+ */
+ public void setStoredAsSubDirectories(boolean storedAsSubDirectories) {
+ this.isStoredAsSubDirectories = storedAsSubDirectories;
+ }
+
}
Modified: hive/trunk/metastore/src/model/package.jdo
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/model/package.jdo?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/model/package.jdo (original)
+++ hive/trunk/metastore/src/model/package.jdo Fri Nov 9 04:17:48 2012
@@ -263,6 +263,9 @@
<column name="OUTPUT_FORMAT" length="4000" jdbc-type="VARCHAR"/>
</field>
<field name="isCompressed"/>
+ <field name="isStoredAsSubDirectories">
+ <column name="IS_STOREDASSUBDIRECTORIES"/>
+ </field>
<field name="numBuckets">
<column name="NUM_BUCKETS" jdbc-type="integer"/>
</field>
Modified: hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java (original)
+++ hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java Fri Nov 9 04:17:48 2012
@@ -178,6 +178,7 @@ public abstract class TestHiveMetaStore
sd.getSerdeInfo().getParameters()
.put(serdeConstants.SERIALIZATION_FORMAT, "1");
sd.setSortCols(new ArrayList<Order>());
+ sd.setStoredAsSubDirectories(false);
//skewed information
SkewedInfo skewInfor = new SkewedInfo();
@@ -1605,6 +1606,7 @@ public abstract class TestHiveMetaStore
assertEquals(tbl2.getTableName(), tblName);
assertEquals(tbl2.getSd().getCols().size(), typ1.getFields().size());
assertFalse(tbl2.getSd().isCompressed());
+ assertFalse(tbl2.getSd().isStoredAsSubDirectories());
assertEquals(tbl2.getSd().getNumBuckets(), 1);
assertEquals("Use this for comments etc", tbl2.getSd().getParameters()
Modified: hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Operator.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Operator.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Operator.java (original)
+++ hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Operator.java Fri Nov 9 04:17:48 2012
@@ -810,7 +810,7 @@ public class Operator implements org.apa
for (int _i25 = 0; _i25 < _map24.size; ++_i25)
{
String _key26; // required
- String _val27; // required
+ String _val27; // optional
_key26 = iprot.readString();
_val27 = iprot.readString();
struct.operatorAttributes.put(_key26, _val27);
@@ -830,7 +830,7 @@ public class Operator implements org.apa
for (int _i29 = 0; _i29 < _map28.size; ++_i29)
{
String _key30; // required
- long _val31; // required
+ long _val31; // optional
_key30 = iprot.readString();
_val31 = iprot.readI64();
struct.operatorCounters.put(_key30, _val31);
@@ -1003,7 +1003,7 @@ public class Operator implements org.apa
for (int _i37 = 0; _i37 < _map36.size; ++_i37)
{
String _key38; // required
- String _val39; // required
+ String _val39; // optional
_key38 = iprot.readString();
_val39 = iprot.readString();
struct.operatorAttributes.put(_key38, _val39);
@@ -1018,7 +1018,7 @@ public class Operator implements org.apa
for (int _i41 = 0; _i41 < _map40.size; ++_i41)
{
String _key42; // required
- long _val43; // required
+ long _val43; // optional
_key42 = iprot.readString();
_val43 = iprot.readI64();
struct.operatorCounters.put(_key42, _val43);
Modified: hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Query.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Query.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Query.java (original)
+++ hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Query.java Fri Nov 9 04:17:48 2012
@@ -983,7 +983,7 @@ public class Query implements org.apache
for (int _i101 = 0; _i101 < _map100.size; ++_i101)
{
String _key102; // required
- String _val103; // required
+ String _val103; // optional
_key102 = iprot.readString();
_val103 = iprot.readString();
struct.queryAttributes.put(_key102, _val103);
@@ -1003,7 +1003,7 @@ public class Query implements org.apache
for (int _i105 = 0; _i105 < _map104.size; ++_i105)
{
String _key106; // required
- long _val107; // required
+ long _val107; // optional
_key106 = iprot.readString();
_val107 = iprot.readI64();
struct.queryCounters.put(_key106, _val107);
@@ -1239,7 +1239,7 @@ public class Query implements org.apache
for (int _i118 = 0; _i118 < _map117.size; ++_i118)
{
String _key119; // required
- String _val120; // required
+ String _val120; // optional
_key119 = iprot.readString();
_val120 = iprot.readString();
struct.queryAttributes.put(_key119, _val120);
@@ -1254,7 +1254,7 @@ public class Query implements org.apache
for (int _i122 = 0; _i122 < _map121.size; ++_i122)
{
String _key123; // required
- long _val124; // required
+ long _val124; // optional
_key123 = iprot.readString();
_val124 = iprot.readI64();
struct.queryCounters.put(_key123, _val124);
Modified: hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Stage.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Stage.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Stage.java (original)
+++ hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Stage.java Fri Nov 9 04:17:48 2012
@@ -911,7 +911,7 @@ public class Stage implements org.apache
for (int _i73 = 0; _i73 < _map72.size; ++_i73)
{
String _key74; // required
- String _val75; // required
+ String _val75; // optional
_key74 = iprot.readString();
_val75 = iprot.readString();
struct.stageAttributes.put(_key74, _val75);
@@ -931,7 +931,7 @@ public class Stage implements org.apache
for (int _i77 = 0; _i77 < _map76.size; ++_i77)
{
String _key78; // required
- long _val79; // required
+ long _val79; // optional
_key78 = iprot.readString();
_val79 = iprot.readI64();
struct.stageCounters.put(_key78, _val79);
@@ -1147,7 +1147,7 @@ public class Stage implements org.apache
for (int _i90 = 0; _i90 < _map89.size; ++_i90)
{
String _key91; // required
- String _val92; // required
+ String _val92; // optional
_key91 = iprot.readString();
_val92 = iprot.readString();
struct.stageAttributes.put(_key91, _val92);
@@ -1162,7 +1162,7 @@ public class Stage implements org.apache
for (int _i94 = 0; _i94 < _map93.size; ++_i94)
{
String _key95; // required
- long _val96; // required
+ long _val96; // optional
_key95 = iprot.readString();
_val96 = iprot.readI64();
struct.stageCounters.put(_key95, _val96);
Modified: hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Task.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Task.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Task.java (original)
+++ hive/trunk/ql/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/ql/plan/api/Task.java Fri Nov 9 04:17:48 2012
@@ -996,7 +996,7 @@ public class Task implements org.apache.
for (int _i45 = 0; _i45 < _map44.size; ++_i45)
{
String _key46; // required
- String _val47; // required
+ String _val47; // optional
_key46 = iprot.readString();
_val47 = iprot.readString();
struct.taskAttributes.put(_key46, _val47);
@@ -1016,7 +1016,7 @@ public class Task implements org.apache.
for (int _i49 = 0; _i49 < _map48.size; ++_i49)
{
String _key50; // required
- long _val51; // required
+ long _val51; // optional
_key50 = iprot.readString();
_val51 = iprot.readI64();
struct.taskCounters.put(_key50, _val51);
@@ -1256,7 +1256,7 @@ public class Task implements org.apache.
for (int _i62 = 0; _i62 < _map61.size; ++_i62)
{
String _key63; // required
- String _val64; // required
+ String _val64; // optional
_key63 = iprot.readString();
_val64 = iprot.readString();
struct.taskAttributes.put(_key63, _val64);
@@ -1271,7 +1271,7 @@ public class Task implements org.apache.
for (int _i66 = 0; _i66 < _map65.size; ++_i66)
{
String _key67; // required
- long _val68; // required
+ long _val68; // optional
_key67 = iprot.readString();
_val68 = iprot.readI64();
struct.taskCounters.put(_key67, _val68);
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java Fri Nov 9 04:17:48 2012
@@ -245,7 +245,8 @@ public enum ErrorMsg {
SHOW_CREATETABLE_INDEX(10144, "SHOW CREATE TABLE does not support tables of type INDEX_TABLE."),
-
+ LOAD_INTO_STORED_AS_DIR(10195, "A stored-as-directories table cannot be used as target for LOAD"),
+ ALTER_TBL_STOREDASDIR_NOT_SKEWED(10196, "This operation is only valid on skewed table."),
ALTER_TBL_SKEWED_LOC_NO_LOC(10197, "Alter table skewed location doesn't have locations."),
ALTER_TBL_SKEWED_LOC_NO_MAP(10198, "Alter table skewed location doesn't have location map."),
SUPPORT_DIR_MUST_TRUE_FOR_LIST_BUCKETING(
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java Fri Nov 9 04:17:48 2012
@@ -3206,6 +3206,8 @@ public class DDLTask extends Task<DDLWor
tbl.setSkewedColNames(skewedColNames);
tbl.setSkewedColValues(skewedValues);
}
+
+ tbl.setStoredAsSubDirectories(alterTbl.isStoredAsSubDirectories());
} else if (alterTbl.getOp() == AlterTableDesc.AlterTableTypes.ALTERSKEWEDLOCATION) {
// process location one-by-one
Map<List<String>,String> locMaps = alterTbl.getSkewedLocations();
@@ -3639,6 +3641,8 @@ public class DDLTask extends Task<DDLWor
tbl.setSkewedColValues(crtTbl.getSkewedColValues());
}
+ tbl.setStoredAsSubDirectories(crtTbl.isStoredAsSubDirectories());
+
tbl.setInputFormatClass(crtTbl.getInputFormat());
tbl.setOutputFormatClass(crtTbl.getOutputFormat());
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java Fri Nov 9 04:17:48 2012
@@ -558,6 +558,14 @@ public class Table implements Serializab
tTable.getSd().setSkewedInfo(skewedInfo);
}
+ public boolean isStoredAsSubDirectories() {
+ return tTable.getSd().isStoredAsSubDirectories();
+ }
+
+ public void setStoredAsSubDirectories(boolean storedAsSubDirectories) throws HiveException {
+ tTable.getSd().setStoredAsSubDirectories(storedAsSubDirectories);
+ }
+
private boolean isField(String col) {
for (FieldSchema field : getCols()) {
if (field.getName().equals(col)) {
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java Fri Nov 9 04:17:48 2012
@@ -191,6 +191,9 @@ public final class MetaDataFormatUtils {
formatOutput("Num Buckets:", String.valueOf(storageDesc.getNumBuckets()), tableInfo);
formatOutput("Bucket Columns:", storageDesc.getBucketCols().toString(), tableInfo);
formatOutput("Sort Columns:", storageDesc.getSortCols().toString(), tableInfo);
+ if (storageDesc.isStoredAsSubDirectories()) {// optional parameter
+ formatOutput("Stored As SubDirectories:", "Yes", tableInfo);
+ }
if (null != storageDesc.getSkewedInfo()) {
List<String> skewedColNames = storageDesc.getSkewedInfo().getSkewedColNames();
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java?rev=1407353&r1=1407352&r2=1407353&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java Fri Nov 9 04:17:48 2012
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.ql.parse;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -953,4 +954,83 @@ public abstract class BaseSemanticAnalyz
}
return result;
}
+
+ /**
+ * Analyze list bucket column names
+ *
+ * @param skewedColNames
+ * @param child
+ * @return
+ * @throws SemanticException
+ */
+ protected List<String> analyzeSkewedTablDDLColNames(List<String> skewedColNames, ASTNode child)
+ throws SemanticException {
+ Tree nNode = child.getChild(0);
+ if (nNode == null) {
+ throw new SemanticException(ErrorMsg.SKEWED_TABLE_NO_COLUMN_NAME.getMsg());
+ } else {
+ ASTNode nAstNode = (ASTNode) nNode;
+ if (nAstNode.getToken().getType() != HiveParser.TOK_TABCOLNAME) {
+ throw new SemanticException(ErrorMsg.SKEWED_TABLE_NO_COLUMN_NAME.getMsg());
+ } else {
+ skewedColNames = getColumnNames(nAstNode);
+ }
+ }
+ return skewedColNames;
+ }
+
+ /**
+ * Handle skewed values in DDL.
+ *
+ * It can be used by both skewed by ... on () and set skewed location ().
+ *
+ * @param skewedValues
+ * @param child
+ * @throws SemanticException
+ */
+ protected void analyzeDDLSkewedValues(List<List<String>> skewedValues, ASTNode child)
+ throws SemanticException {
+ Tree vNode = child.getChild(1);
+ if (vNode == null) {
+ throw new SemanticException(ErrorMsg.SKEWED_TABLE_NO_COLUMN_VALUE.getMsg());
+ }
+ ASTNode vAstNode = (ASTNode) vNode;
+ switch (vAstNode.getToken().getType()) {
+ case HiveParser.TOK_TABCOLVALUE:
+ for (String str : getSkewedValueFromASTNode(vAstNode)) {
+ List<String> sList = new ArrayList<String>(Arrays.asList(str));
+ skewedValues.add(sList);
+ }
+ break;
+ case HiveParser.TOK_TABCOLVALUE_PAIR:
+ ArrayList<Node> vLNodes = vAstNode.getChildren();
+ for (Node node : vLNodes) {
+ if ( ((ASTNode) node).getToken().getType() != HiveParser.TOK_TABCOLVALUES) {
+ throw new SemanticException(
+ ErrorMsg.SKEWED_TABLE_NO_COLUMN_VALUE.getMsg());
+ } else {
+ skewedValues.add(getSkewedValuesFromASTNode(node));
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ /**
+ * process stored as directories
+ *
+ * @param child
+ * @return
+ */
+ protected boolean analyzeStoredAdDirs(ASTNode child) {
+ boolean storedAsDirs = false;
+ if ((child.getChildCount() == 3)
+ && (((ASTNode) child.getChild(2)).getToken().getType()
+ == HiveParser.TOK_STOREDASDIRS)) {
+ storedAsDirs = true;
+ }
+ return storedAsDirs;
+ }
}