Index: metastore/scripts/upgrade/mysql/010-HIVE-3072.mysql.sql =================================================================== --- metastore/scripts/upgrade/mysql/010-HIVE-3072.mysql.sql (revision 0) +++ metastore/scripts/upgrade/mysql/010-HIVE-3072.mysql.sql (revision 0) @@ -0,0 +1,49 @@ +SELECT '< HIVE-3072 Skewed Table DDL >' AS ' '; + + +CREATE TABLE IF NOT EXISTS `STRING_LIST` ( + `STRING_LIST_ID` bigint(20) NOT NULL, + PRIMARY KEY (`STRING_LIST_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE IF NOT EXISTS `STRING_LIST_VALUES` ( + `STRING_LIST_ID` bigint(20) NOT NULL, + `STRING_LIST_VALUE` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`STRING_LIST_ID`,`INTEGER_IDX`), + KEY `STRING_LIST_VALUES_N49` (`STRING_LIST_ID`), + CONSTRAINT `STRING_LIST_VALUES_FK1` FOREIGN KEY (`STRING_LIST_ID`) REFERENCES `STRING_LIST` (`STRING_LIST_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE IF NOT EXISTS `SKEWED_COL_NAMES` ( + `SD_ID` bigint(20) NOT NULL, + `SKEWED_COL_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`SD_ID`,`INTEGER_IDX`), + KEY `SKEWED_COL_NAMES_N49` (`SD_ID`), + CONSTRAINT `SKEWED_COL_NAMES_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOCATION_MAPPING` ( + `SD_ID` bigint(20) NOT NULL, + `STRING_LIST_ID_KID` bigint(20) NOT NULL, + `LOCATION` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`SD_ID`,`STRING_LIST_ID_KID`), + KEY `SKEWED_COL_VALUE_LOCATION_MAPPING_N49` (`STRING_LIST_ID_KID`), + KEY `SKEWED_COL_VALUE_LOCATION_MAPPING_N50` (`SD_ID`), + CONSTRAINT `SKEWED_COL_VALUE_LOCATION_MAPPING_FK2` FOREIGN KEY (`STRING_LIST_ID_KID`) REFERENCES `STRING_LIST` (`STRING_LIST_ID`), + CONSTRAINT `SKEWED_COL_VALUE_LOCATION_MAPPING_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE IF NOT EXISTS `SKEWED_VALUES` ( + `SD_ID_OID` bigint(20) NOT NULL, + `STRING_LIST_ID_EID` bigint(20) NOT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`SD_ID_OID`,`INTEGER_IDX`), + KEY `SKEWED_VALUES_N50` (`SD_ID_OID`), + KEY `SKEWED_VALUES_N49` (`STRING_LIST_ID_EID`), + CONSTRAINT `SKEWED_VALUES_FK2` FOREIGN KEY (`STRING_LIST_ID_EID`) REFERENCES `STRING_LIST` (`STRING_LIST_ID`), + CONSTRAINT `SKEWED_VALUES_FK1` FOREIGN KEY (`SD_ID_OID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + + Index: metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql =================================================================== --- metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql (revision 0) +++ metastore/scripts/upgrade/mysql/upgrade-0.9.0-to-0.10.0.mysql.sql (revision 0) @@ -0,0 +1,3 @@ +SELECT 'Upgrading MetaStore schema from 0.9.0 to 0.10.0' AS ' '; +SOURCE 010-HIVE-3072.mysql.sql; +SELECT 'Finished upgrading MetaStore schema from 0.9.0 to 0.10.0' AS ' '; Index: metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql =================================================================== --- metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql (revision 0) +++ metastore/scripts/upgrade/mysql/hive-schema-0.10.0.mysql.sql (revision 0) @@ -0,0 +1,686 @@ +-- MySQL dump 10.13 Distrib 5.5.25, for osx10.6 (i386) +-- +-- Host: localhost Database: test +-- ------------------------------------------------------ +-- Server version 5.5.25 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `BUCKETING_COLS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `BUCKETING_COLS` ( + `SD_ID` bigint(20) NOT NULL, + `BUCKET_COL_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`SD_ID`,`INTEGER_IDX`), + KEY `BUCKETING_COLS_N49` (`SD_ID`), + CONSTRAINT `BUCKETING_COLS_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `CDS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `CDS` ( + `CD_ID` bigint(20) NOT NULL, + PRIMARY KEY (`CD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `COLUMNS_V2` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `COLUMNS_V2` ( + `CD_ID` bigint(20) NOT NULL, + `COMMENT` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `TYPE_NAME` varchar(4000) DEFAULT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`CD_ID`,`COLUMN_NAME`), + KEY `COLUMNS_V2_N49` (`CD_ID`), + CONSTRAINT `COLUMNS_V2_FK1` FOREIGN KEY (`CD_ID`) REFERENCES `CDS` (`CD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `DATABASE_PARAMS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `DATABASE_PARAMS` ( + `DB_ID` bigint(20) NOT NULL, + `PARAM_KEY` varchar(180) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `PARAM_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`DB_ID`,`PARAM_KEY`), + KEY `DATABASE_PARAMS_N49` (`DB_ID`), + CONSTRAINT `DATABASE_PARAMS_FK1` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `DBS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `DBS` ( + `DB_ID` bigint(20) NOT NULL, + `DESC` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `DB_LOCATION_URI` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`DB_ID`), + UNIQUE KEY `UNIQUE_DATABASE` (`NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `DB_PRIVS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `DB_PRIVS` ( + `DB_GRANT_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `DB_ID` bigint(20) DEFAULT NULL, + `GRANT_OPTION` smallint(6) NOT NULL, + `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `DB_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`DB_GRANT_ID`), + UNIQUE KEY `DBPRIVILEGEINDEX` (`DB_ID`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`DB_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), + KEY `DB_PRIVS_N49` (`DB_ID`), + CONSTRAINT `DB_PRIVS_FK1` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `GLOBAL_PRIVS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` ( + `USER_GRANT_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `GRANT_OPTION` smallint(6) NOT NULL, + `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `USER_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`USER_GRANT_ID`), + UNIQUE KEY `GLOBALPRIVILEGEINDEX` (`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`USER_PRIV`,`GRANTOR`,`GRANTOR_TYPE`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `IDXS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `IDXS` ( + `INDEX_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `DEFERRED_REBUILD` bit(1) NOT NULL, + `INDEX_HANDLER_CLASS` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INDEX_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INDEX_TBL_ID` bigint(20) DEFAULT NULL, + `LAST_ACCESS_TIME` int(11) NOT NULL, + `ORIG_TBL_ID` bigint(20) DEFAULT NULL, + `SD_ID` bigint(20) DEFAULT NULL, + PRIMARY KEY (`INDEX_ID`), + UNIQUE KEY `UNIQUEINDEX` (`INDEX_NAME`,`ORIG_TBL_ID`), + KEY `IDXS_N51` (`SD_ID`), + KEY `IDXS_N50` (`INDEX_TBL_ID`), + KEY `IDXS_N49` (`ORIG_TBL_ID`), + CONSTRAINT `IDXS_FK1` FOREIGN KEY (`ORIG_TBL_ID`) REFERENCES `TBLS` (`TBL_ID`), + CONSTRAINT `IDXS_FK2` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`), + CONSTRAINT `IDXS_FK3` FOREIGN KEY (`INDEX_TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `INDEX_PARAMS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `INDEX_PARAMS` ( + `INDEX_ID` bigint(20) NOT NULL, + `PARAM_KEY` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `PARAM_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`INDEX_ID`,`PARAM_KEY`), + KEY `INDEX_PARAMS_N49` (`INDEX_ID`), + CONSTRAINT `INDEX_PARAMS_FK1` FOREIGN KEY (`INDEX_ID`) REFERENCES `IDXS` (`INDEX_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `NUCLEUS_TABLES` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `NUCLEUS_TABLES` ( + `CLASS_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `TABLE_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `TYPE` varchar(4) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `OWNER` varchar(2) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `VERSION` varchar(20) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `INTERFACE_NAME` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`CLASS_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `PARTITIONS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `PARTITIONS` ( + `PART_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `LAST_ACCESS_TIME` int(11) NOT NULL, + `PART_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `SD_ID` bigint(20) DEFAULT NULL, + `TBL_ID` bigint(20) DEFAULT NULL, + PRIMARY KEY (`PART_ID`), + UNIQUE KEY `UNIQUEPARTITION` (`PART_NAME`,`TBL_ID`), + KEY `PARTITIONS_N49` (`TBL_ID`), + KEY `PARTITIONS_N50` (`SD_ID`), + CONSTRAINT `PARTITIONS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`), + CONSTRAINT `PARTITIONS_FK2` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `PARTITION_EVENTS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `PARTITION_EVENTS` ( + `PART_NAME_ID` bigint(20) NOT NULL, + `DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `EVENT_TIME` bigint(20) NOT NULL, + `EVENT_TYPE` int(11) NOT NULL, + `PARTITION_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TBL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`PART_NAME_ID`), + KEY `PARTITIONEVENTINDEX` (`PARTITION_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `PARTITION_KEYS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `PARTITION_KEYS` ( + `TBL_ID` bigint(20) NOT NULL, + `PKEY_COMMENT` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PKEY_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `PKEY_TYPE` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`TBL_ID`,`PKEY_NAME`), + KEY `PARTITION_KEYS_N49` (`TBL_ID`), + CONSTRAINT `PARTITION_KEYS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `PARTITION_KEY_VALS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `PARTITION_KEY_VALS` ( + `PART_ID` bigint(20) NOT NULL, + `PART_KEY_VAL` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`PART_ID`,`INTEGER_IDX`), + KEY `PARTITION_KEY_VALS_N49` (`PART_ID`), + CONSTRAINT `PARTITION_KEY_VALS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `PARTITION_PARAMS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `PARTITION_PARAMS` ( + `PART_ID` bigint(20) NOT NULL, + `PARAM_KEY` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `PARAM_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`PART_ID`,`PARAM_KEY`), + KEY `PARTITION_PARAMS_N49` (`PART_ID`), + CONSTRAINT `PARTITION_PARAMS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `PART_COL_PRIVS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` ( + `PART_COLUMN_GRANT_ID` bigint(20) NOT NULL, + `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `CREATE_TIME` int(11) NOT NULL, + `GRANT_OPTION` smallint(6) NOT NULL, + `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PART_ID` bigint(20) DEFAULT NULL, + `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PART_COL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`PART_COLUMN_GRANT_ID`), + KEY `PART_COL_PRIVS_N49` (`PART_ID`), + KEY `PARTITIONCOLUMNPRIVILEGEINDEX` (`PART_ID`,`COLUMN_NAME`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`PART_COL_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), + CONSTRAINT `PART_COL_PRIVS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `PART_PRIVS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `PART_PRIVS` ( + `PART_GRANT_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `GRANT_OPTION` smallint(6) NOT NULL, + `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PART_ID` bigint(20) DEFAULT NULL, + `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PART_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`PART_GRANT_ID`), + KEY `PARTPRIVILEGEINDEX` (`PART_ID`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`PART_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), + KEY `PART_PRIVS_N49` (`PART_ID`), + CONSTRAINT `PART_PRIVS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `ROLES` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `ROLES` ( + `ROLE_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `OWNER_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `ROLE_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`ROLE_ID`), + UNIQUE KEY `ROLEENTITYINDEX` (`ROLE_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `ROLE_MAP` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `ROLE_MAP` ( + `ROLE_GRANT_ID` bigint(20) NOT NULL, + `ADD_TIME` int(11) NOT NULL, + `GRANT_OPTION` smallint(6) NOT NULL, + `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `ROLE_ID` bigint(20) DEFAULT NULL, + PRIMARY KEY (`ROLE_GRANT_ID`), + UNIQUE KEY `USERROLEMAPINDEX` (`PRINCIPAL_NAME`,`ROLE_ID`,`GRANTOR`,`GRANTOR_TYPE`), + KEY `ROLE_MAP_N49` (`ROLE_ID`), + CONSTRAINT `ROLE_MAP_FK1` FOREIGN KEY (`ROLE_ID`) REFERENCES `ROLES` (`ROLE_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SDS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SDS` ( + `SD_ID` bigint(20) NOT NULL, + `CD_ID` bigint(20) DEFAULT NULL, + `INPUT_FORMAT` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `IS_COMPRESSED` 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, + `SERDE_ID` bigint(20) DEFAULT NULL, + PRIMARY KEY (`SD_ID`), + KEY `SDS_N49` (`SERDE_ID`), + KEY `SDS_N50` (`CD_ID`), + CONSTRAINT `SDS_FK1` FOREIGN KEY (`SERDE_ID`) REFERENCES `SERDES` (`SERDE_ID`), + CONSTRAINT `SDS_FK2` FOREIGN KEY (`CD_ID`) REFERENCES `CDS` (`CD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SD_PARAMS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SD_PARAMS` ( + `SD_ID` bigint(20) NOT NULL, + `PARAM_KEY` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `PARAM_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`SD_ID`,`PARAM_KEY`), + KEY `SD_PARAMS_N49` (`SD_ID`), + CONSTRAINT `SD_PARAMS_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SEQUENCE_TABLE` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SEQUENCE_TABLE` ( + `SEQUENCE_NAME` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `NEXT_VAL` bigint(20) NOT NULL, + PRIMARY KEY (`SEQUENCE_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SERDES` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SERDES` ( + `SERDE_ID` bigint(20) NOT NULL, + `NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `SLIB` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`SERDE_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SERDE_PARAMS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SERDE_PARAMS` ( + `SERDE_ID` bigint(20) NOT NULL, + `PARAM_KEY` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `PARAM_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`SERDE_ID`,`PARAM_KEY`), + KEY `SERDE_PARAMS_N49` (`SERDE_ID`), + CONSTRAINT `SERDE_PARAMS_FK1` FOREIGN KEY (`SERDE_ID`) REFERENCES `SERDES` (`SERDE_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SKEWED_COL_NAMES` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SKEWED_COL_NAMES` ( + `SD_ID` bigint(20) NOT NULL, + `SKEWED_COL_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`SD_ID`,`INTEGER_IDX`), + KEY `SKEWED_COL_NAMES_N49` (`SD_ID`), + CONSTRAINT `SKEWED_COL_NAMES_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SKEWED_COL_VALUE_LOCATION_MAPPING` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOCATION_MAPPING` ( + `SD_ID` bigint(20) NOT NULL, + `STRING_LIST_ID_KID` bigint(20) NOT NULL, + `LOCATION` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`SD_ID`,`STRING_LIST_ID_KID`), + KEY `SKEWED_COL_VALUE_LOCATION_MAPPING_N49` (`STRING_LIST_ID_KID`), + KEY `SKEWED_COL_VALUE_LOCATION_MAPPING_N50` (`SD_ID`), + CONSTRAINT `SKEWED_COL_VALUE_LOCATION_MAPPING_FK2` FOREIGN KEY (`STRING_LIST_ID_KID`) REFERENCES `STRING_LIST` (`STRING_LIST_ID`), + CONSTRAINT `SKEWED_COL_VALUE_LOCATION_MAPPING_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SKEWED_VALUES` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SKEWED_VALUES` ( + `SD_ID_OID` bigint(20) NOT NULL, + `STRING_LIST_ID_EID` bigint(20) NOT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`SD_ID_OID`,`INTEGER_IDX`), + KEY `SKEWED_VALUES_N50` (`SD_ID_OID`), + KEY `SKEWED_VALUES_N49` (`STRING_LIST_ID_EID`), + CONSTRAINT `SKEWED_VALUES_FK2` FOREIGN KEY (`STRING_LIST_ID_EID`) REFERENCES `STRING_LIST` (`STRING_LIST_ID`), + CONSTRAINT `SKEWED_VALUES_FK1` FOREIGN KEY (`SD_ID_OID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `SORT_COLS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `SORT_COLS` ( + `SD_ID` bigint(20) NOT NULL, + `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `ORDER` int(11) NOT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`SD_ID`,`INTEGER_IDX`), + KEY `SORT_COLS_N49` (`SD_ID`), + CONSTRAINT `SORT_COLS_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `STRING_LIST` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `STRING_LIST` ( + `STRING_LIST_ID` bigint(20) NOT NULL, + PRIMARY KEY (`STRING_LIST_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `STRING_LIST_VALUES` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `STRING_LIST_VALUES` ( + `STRING_LIST_ID` bigint(20) NOT NULL, + `STRING_LIST_VALUE` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`STRING_LIST_ID`,`INTEGER_IDX`), + KEY `STRING_LIST_VALUES_N49` (`STRING_LIST_ID`), + CONSTRAINT `STRING_LIST_VALUES_FK1` FOREIGN KEY (`STRING_LIST_ID`) REFERENCES `STRING_LIST` (`STRING_LIST_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `TABLE_PARAMS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `TABLE_PARAMS` ( + `TBL_ID` bigint(20) NOT NULL, + `PARAM_KEY` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `PARAM_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`TBL_ID`,`PARAM_KEY`), + KEY `TABLE_PARAMS_N49` (`TBL_ID`), + CONSTRAINT `TABLE_PARAMS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `TBLS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `TBLS` ( + `TBL_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `DB_ID` bigint(20) DEFAULT NULL, + `LAST_ACCESS_TIME` int(11) NOT NULL, + `OWNER` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `RETENTION` int(11) NOT NULL, + `SD_ID` bigint(20) DEFAULT NULL, + `TBL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TBL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `VIEW_EXPANDED_TEXT` mediumtext, + `VIEW_ORIGINAL_TEXT` mediumtext, + PRIMARY KEY (`TBL_ID`), + UNIQUE KEY `UNIQUETABLE` (`TBL_NAME`,`DB_ID`), + KEY `TBLS_N50` (`SD_ID`), + KEY `TBLS_N49` (`DB_ID`), + CONSTRAINT `TBLS_FK1` FOREIGN KEY (`SD_ID`) REFERENCES `SDS` (`SD_ID`), + CONSTRAINT `TBLS_FK2` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `TBL_COL_PRIVS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` ( + `TBL_COLUMN_GRANT_ID` bigint(20) NOT NULL, + `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `CREATE_TIME` int(11) NOT NULL, + `GRANT_OPTION` smallint(6) NOT NULL, + `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TBL_COL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TBL_ID` bigint(20) DEFAULT NULL, + PRIMARY KEY (`TBL_COLUMN_GRANT_ID`), + KEY `TABLECOLUMNPRIVILEGEINDEX` (`TBL_ID`,`COLUMN_NAME`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`TBL_COL_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), + KEY `TBL_COL_PRIVS_N49` (`TBL_ID`), + CONSTRAINT `TBL_COL_PRIVS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `TBL_PRIVS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `TBL_PRIVS` ( + `TBL_GRANT_ID` bigint(20) NOT NULL, + `CREATE_TIME` int(11) NOT NULL, + `GRANT_OPTION` smallint(6) NOT NULL, + `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TBL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TBL_ID` bigint(20) DEFAULT NULL, + PRIMARY KEY (`TBL_GRANT_ID`), + KEY `TBL_PRIVS_N49` (`TBL_ID`), + KEY `TABLEPRIVILEGEINDEX` (`TBL_ID`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`TBL_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), + CONSTRAINT `TBL_PRIVS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `TYPES` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `TYPES` ( + `TYPES_ID` bigint(20) NOT NULL, + `TYPE_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TYPE1` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `TYPE2` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + PRIMARY KEY (`TYPES_ID`), + UNIQUE KEY `UNIQUE_TYPE` (`TYPE_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `TYPE_FIELDS` +-- + +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE IF NOT EXISTS `TYPE_FIELDS` ( + `TYPE_NAME` bigint(20) NOT NULL, + `COMMENT` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, + `FIELD_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `FIELD_TYPE` varchar(767) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, + `INTEGER_IDX` int(11) NOT NULL, + PRIMARY KEY (`TYPE_NAME`,`FIELD_NAME`), + KEY `TYPE_FIELDS_N49` (`TYPE_NAME`), + CONSTRAINT `TYPE_FIELDS_FK1` FOREIGN KEY (`TYPE_NAME`) REFERENCES `TYPES` (`TYPES_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2012-08-10 21:30:53 Index: metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java =================================================================== --- metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java (revision 1371773) +++ metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java (working copy) @@ -48,6 +48,7 @@ import org.apache.hadoop.hive.metastore.api.Partition; import org.apache.hadoop.hive.metastore.api.SerDeInfo; import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.StringList; import org.apache.hadoop.hive.metastore.api.Table; import org.apache.hadoop.hive.metastore.api.Type; import org.apache.hadoop.hive.metastore.api.UnknownDBException; @@ -172,6 +173,14 @@ .put(Constants.SERIALIZATION_FORMAT, "1"); sd.setSortCols(new ArrayList()); + //skewed information + sd.setSkewedColNames(Arrays.asList("name")); + StringList skv = new StringList(Arrays.asList("1")); + sd.setSkewedColValues(Arrays.asList(skv)); + Map scvlm = new HashMap(); + scvlm.put(skv, "location1"); + sd.setSkewedColValueLocationMaps(scvlm); + tbl.setPartitionKeys(new ArrayList(2)); tbl.getPartitionKeys().add( new FieldSchema("ds", Constants.STRING_TYPE_NAME, "")); Index: metastore/src/model/package.jdo =================================================================== --- metastore/src/model/package.jdo (revision 1371773) +++ metastore/src/model/package.jdo (working copy) @@ -233,6 +233,19 @@ + + + + + + + + + + + + + @@ -291,6 +304,26 @@ + + + + + + + + + + + + + + + + + + + + Index: metastore/src/model/org/apache/hadoop/hive/metastore/model/MStringList.java =================================================================== --- metastore/src/model/org/apache/hadoop/hive/metastore/model/MStringList.java (revision 0) +++ metastore/src/model/org/apache/hadoop/hive/metastore/model/MStringList.java (revision 0) @@ -0,0 +1,55 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hive.metastore.model; + +import java.util.List; + +public class MStringList { + private List internalList; + + /** + * + * @param list + */ + public MStringList(List list){ + this.internalList = list; + } + + /** + * @return the internalList + */ + public List getInternalList() { + return internalList; + } + + /** + * @param internalList the internalList to set + */ + public void setInternalList(List internalList) { + this.internalList = internalList; + } + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return internalList.toString() ; + } + +} Index: metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java =================================================================== --- metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java (revision 1371773) +++ metastore/src/model/org/apache/hadoop/hive/metastore/model/MStorageDescriptor.java (working copy) @@ -32,6 +32,9 @@ private List bucketCols; private List sortCols; private Map parameters; + private List skewedColNames; + private List skewedColValues; + private Map skewedColValueLocationMaps; public MStorageDescriptor() {} @@ -50,7 +53,9 @@ */ public MStorageDescriptor(MColumnDescriptor cd, String location, String inputFormat, String outputFormat, boolean isCompressed, int numBuckets, MSerDeInfo serDeInfo, - List bucketCols, List sortOrder, Map parameters) { + List bucketCols, List sortOrder, Map parameters, + List skewedColNames, List skewedColValues, + Map skewedColValueLocationMaps) { this.cd = cd; this.location = location; this.inputFormat = inputFormat; @@ -61,6 +66,9 @@ this.bucketCols = bucketCols; this.sortCols = sortOrder; this.parameters = parameters; + this.skewedColNames = skewedColNames; + this.skewedColValues = skewedColValues; + this.skewedColValueLocationMaps = skewedColValueLocationMaps; } @@ -205,4 +213,47 @@ public List getSortCols() { return sortCols; } + + /** + * @return the skewedColNames + */ + public List getSkewedColNames() { + return skewedColNames; + } + + /** + * @param skewedColNames the skewedColNames to set + */ + public void setSkewedColNames(List skewedColNames) { + this.skewedColNames = skewedColNames; + } + + /** + * @return the skewedColValues + */ + public List getSkewedColValues() { + return skewedColValues; + } + + /** + * @param skewedColValues the skewedColValues to set + */ + public void setSkewedColValues(List skewedColValues) { + this.skewedColValues = skewedColValues; + } + + /** + * @return the skewedColValueLocationMaps + */ + public Map getSkewedColValueLocationMaps() { + return skewedColValueLocationMaps; + } + + /** + * @param skewedColValueLocationMaps the skewedColValueLocationMaps to set + */ + public void setSkewedColValueLocationMaps(Map listBucketColValuesMapping) { + this.skewedColValueLocationMaps = listBucketColValuesMapping; + } + } Index: metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java =================================================================== --- metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java (revision 1371773) +++ metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java (working copy) @@ -74,6 +74,7 @@ import org.apache.hadoop.hive.metastore.api.Role; import org.apache.hadoop.hive.metastore.api.SerDeInfo; import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.StringList; import org.apache.hadoop.hive.metastore.api.Table; import org.apache.hadoop.hive.metastore.api.Type; import org.apache.hadoop.hive.metastore.api.UnknownDBException; @@ -94,6 +95,7 @@ import org.apache.hadoop.hive.metastore.model.MRoleMap; import org.apache.hadoop.hive.metastore.model.MSerDeInfo; import org.apache.hadoop.hive.metastore.model.MStorageDescriptor; +import org.apache.hadoop.hive.metastore.model.MStringList; import org.apache.hadoop.hive.metastore.model.MTable; import org.apache.hadoop.hive.metastore.model.MTableColumnPrivilege; import org.apache.hadoop.hive.metastore.model.MTablePrivilege; @@ -978,7 +980,9 @@ msd.getLocation(), msd.getInputFormat(), msd.getOutputFormat(), msd .isCompressed(), msd.getNumBuckets(), converToSerDeInfo(msd .getSerDeInfo()), msd.getBucketCols(), convertToOrders(msd - .getSortCols()), msd.getParameters()); + .getSortCols()), msd.getParameters(), msd.getSkewedColNames(), + convertToStringLists(msd.getSkewedColValues()), + covertToMapStringList(msd.getSkewedColValueLocationMaps())); } private StorageDescriptor convertToStorageDescriptor(MStorageDescriptor msd) @@ -987,6 +991,70 @@ } /** + * Convert a list of MStringList to a list of StringList + * + * @param mLists + * @return + */ + private List convertToStringLists(List mLists) { + List lists = null; + if (mLists != null) { + lists = new ArrayList(mLists.size()); + for (MStringList element : mLists) { + lists.add(new StringList(element.getInternalList())); + } + } + return lists; + } + + private List convertToMStringLists(List mLists) { + List lists = null; + if (mLists != null) { + lists = new ArrayList(mLists.size()); + for (StringList element : mLists) { + lists.add(new MStringList(element.getInternalList())); + } + } + return lists; + } + + /** + * Convert a MStringList Map to a StringList Map + * @param mMap + * @return + */ + private Map covertToMapStringList(Map mMap) { + Map map = null; + if(mMap != null) { + map = new HashMap(mMap.size()); + Set keys = mMap.keySet(); + for (MStringList key : keys) { + map.put(new StringList(key.getInternalList()), mMap.get(key)); + } + } + return map; + } + + /** + * Covert a StringList Map to a MStringList Map + * @param mMap + * @return + */ + private Map covertToMapMStringList(Map mMap) { + Map map = null; + if(mMap != null) { + map = new HashMap(mMap.size()); + Set keys = mMap.keySet(); + for (StringList key : keys) { + map.put(new MStringList(key.getInternalList()), mMap.get(key)); + } + } + return map; + } + + + + /** * Converts a storage descriptor to a db-backed storage descriptor. Creates a * new db-backed column descriptor object for this SD. * @param sd the storage descriptor to wrap in a db-backed object @@ -1020,7 +1088,9 @@ .getLocation(), sd.getInputFormat(), sd.getOutputFormat(), sd .isCompressed(), sd.getNumBuckets(), converToMSerDeInfo(sd .getSerdeInfo()), sd.getBucketCols(), - convertToMOrders(sd.getSortCols()), sd.getParameters()); + convertToMOrders(sd.getSortCols()), sd.getParameters(), sd.getSkewedColNames(), + convertToMStringLists(sd.getSkewedColValues()), + covertToMapMStringList(sd.getSkewedColValueLocationMaps())); } public boolean addPartition(Partition part) throws InvalidObjectException, @@ -1958,6 +2028,9 @@ oldSd.getSerDeInfo().setSerializationLib( newSd.getSerDeInfo().getSerializationLib()); oldSd.getSerDeInfo().setParameters(newSd.getSerDeInfo().getParameters()); + oldSd.setSkewedColNames(newSd.getSkewedColNames()); + oldSd.setSkewedColValues(newSd.getSkewedColValues()); + oldSd.setSkewedColValueLocationMaps(newSd.getSkewedColValueLocationMaps()); } /** Index: metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py =================================================================== --- metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py (revision 1371773) +++ metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py (working copy) @@ -1230,6 +1230,74 @@ def __ne__(self, other): return not (self == other) +class StringList: + """ + Attributes: + - internalList + """ + + thrift_spec = ( + None, # 0 + (1, TType.LIST, 'internalList', (TType.STRING,None), None, ), # 1 + ) + + def __init__(self, internalList=None,): + self.internalList = internalList + + 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: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.LIST: + self.internalList = [] + (_etype90, _size87) = iprot.readListBegin() + for _i91 in xrange(_size87): + _elem92 = iprot.readString(); + self.internalList.append(_elem92) + iprot.readListEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('StringList') + if self.internalList is not None: + oprot.writeFieldBegin('internalList', TType.LIST, 1) + oprot.writeListBegin(TType.STRING, len(self.internalList)) + for iter93 in self.internalList: + oprot.writeString(iter93) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + class StorageDescriptor: """ Attributes: @@ -1243,6 +1311,9 @@ - bucketCols - sortCols - parameters + - skewedColNames + - skewedColValues + - skewedColValueLocationMaps """ thrift_spec = ( @@ -1257,9 +1328,12 @@ (8, TType.LIST, 'bucketCols', (TType.STRING,None), None, ), # 8 (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.LIST, 'skewedColNames', (TType.STRING,None), None, ), # 11 + (12, TType.LIST, 'skewedColValues', (TType.STRUCT,(StringList, StringList.thrift_spec)), None, ), # 12 + (13, TType.MAP, 'skewedColValueLocationMaps', (TType.STRUCT,(StringList, StringList.thrift_spec),TType.STRING,None), None, ), # 13 ) - def __init__(self, cols=None, location=None, inputFormat=None, outputFormat=None, compressed=None, numBuckets=None, serdeInfo=None, bucketCols=None, sortCols=None, parameters=None,): + def __init__(self, cols=None, location=None, inputFormat=None, outputFormat=None, compressed=None, numBuckets=None, serdeInfo=None, bucketCols=None, sortCols=None, parameters=None, skewedColNames=None, skewedColValues=None, skewedColValueLocationMaps=None,): self.cols = cols self.location = location self.inputFormat = inputFormat @@ -1270,6 +1344,9 @@ self.bucketCols = bucketCols self.sortCols = sortCols self.parameters = parameters + self.skewedColNames = skewedColNames + self.skewedColValues = skewedColValues + self.skewedColValueLocationMaps = skewedColValueLocationMaps 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: @@ -1283,11 +1360,11 @@ if fid == 1: if ftype == TType.LIST: self.cols = [] - (_etype90, _size87) = iprot.readListBegin() - for _i91 in xrange(_size87): - _elem92 = FieldSchema() - _elem92.read(iprot) - self.cols.append(_elem92) + (_etype97, _size94) = iprot.readListBegin() + for _i98 in xrange(_size94): + _elem99 = FieldSchema() + _elem99.read(iprot) + self.cols.append(_elem99) iprot.readListEnd() else: iprot.skip(ftype) @@ -1325,35 +1402,68 @@ elif fid == 8: if ftype == TType.LIST: self.bucketCols = [] - (_etype96, _size93) = iprot.readListBegin() - for _i97 in xrange(_size93): - _elem98 = iprot.readString(); - self.bucketCols.append(_elem98) + (_etype103, _size100) = iprot.readListBegin() + for _i104 in xrange(_size100): + _elem105 = iprot.readString(); + self.bucketCols.append(_elem105) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 9: if ftype == TType.LIST: self.sortCols = [] - (_etype102, _size99) = iprot.readListBegin() - for _i103 in xrange(_size99): - _elem104 = Order() - _elem104.read(iprot) - self.sortCols.append(_elem104) + (_etype109, _size106) = iprot.readListBegin() + for _i110 in xrange(_size106): + _elem111 = Order() + _elem111.read(iprot) + self.sortCols.append(_elem111) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 10: if ftype == TType.MAP: self.parameters = {} - (_ktype106, _vtype107, _size105 ) = iprot.readMapBegin() - for _i109 in xrange(_size105): - _key110 = iprot.readString(); - _val111 = iprot.readString(); - self.parameters[_key110] = _val111 + (_ktype113, _vtype114, _size112 ) = iprot.readMapBegin() + for _i116 in xrange(_size112): + _key117 = iprot.readString(); + _val118 = iprot.readString(); + self.parameters[_key117] = _val118 iprot.readMapEnd() else: iprot.skip(ftype) + elif fid == 11: + if ftype == TType.LIST: + self.skewedColNames = [] + (_etype122, _size119) = iprot.readListBegin() + for _i123 in xrange(_size119): + _elem124 = iprot.readString(); + self.skewedColNames.append(_elem124) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 12: + if ftype == TType.LIST: + self.skewedColValues = [] + (_etype128, _size125) = iprot.readListBegin() + for _i129 in xrange(_size125): + _elem130 = StringList() + _elem130.read(iprot) + self.skewedColValues.append(_elem130) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 13: + if ftype == TType.MAP: + self.skewedColValueLocationMaps = {} + (_ktype132, _vtype133, _size131 ) = iprot.readMapBegin() + for _i135 in xrange(_size131): + _key136 = StringList() + _key136.read(iprot) + _val137 = iprot.readString(); + self.skewedColValueLocationMaps[_key136] = _val137 + iprot.readMapEnd() + else: + iprot.skip(ftype) else: iprot.skip(ftype) iprot.readFieldEnd() @@ -1367,8 +1477,8 @@ if self.cols is not None: oprot.writeFieldBegin('cols', TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.cols)) - for iter112 in self.cols: - iter112.write(oprot) + for iter138 in self.cols: + iter138.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.location is not None: @@ -1398,25 +1508,47 @@ if self.bucketCols is not None: oprot.writeFieldBegin('bucketCols', TType.LIST, 8) oprot.writeListBegin(TType.STRING, len(self.bucketCols)) - for iter113 in self.bucketCols: - oprot.writeString(iter113) + for iter139 in self.bucketCols: + oprot.writeString(iter139) oprot.writeListEnd() oprot.writeFieldEnd() if self.sortCols is not None: oprot.writeFieldBegin('sortCols', TType.LIST, 9) oprot.writeListBegin(TType.STRUCT, len(self.sortCols)) - for iter114 in self.sortCols: - iter114.write(oprot) + for iter140 in self.sortCols: + iter140.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.parameters is not None: oprot.writeFieldBegin('parameters', TType.MAP, 10) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameters)) - for kiter115,viter116 in self.parameters.items(): - oprot.writeString(kiter115) - oprot.writeString(viter116) + for kiter141,viter142 in self.parameters.items(): + oprot.writeString(kiter141) + oprot.writeString(viter142) oprot.writeMapEnd() oprot.writeFieldEnd() + if self.skewedColNames is not None: + oprot.writeFieldBegin('skewedColNames', TType.LIST, 11) + oprot.writeListBegin(TType.STRING, len(self.skewedColNames)) + for iter143 in self.skewedColNames: + oprot.writeString(iter143) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.skewedColValues is not None: + oprot.writeFieldBegin('skewedColValues', TType.LIST, 12) + oprot.writeListBegin(TType.STRUCT, len(self.skewedColValues)) + for iter144 in self.skewedColValues: + iter144.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.skewedColValueLocationMaps is not None: + oprot.writeFieldBegin('skewedColValueLocationMaps', TType.MAP, 13) + oprot.writeMapBegin(TType.STRUCT, TType.STRING, len(self.skewedColValueLocationMaps)) + for kiter145,viter146 in self.skewedColValueLocationMaps.items(): + kiter145.write(oprot) + oprot.writeString(viter146) + oprot.writeMapEnd() + oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -1533,22 +1665,22 @@ elif fid == 8: if ftype == TType.LIST: self.partitionKeys = [] - (_etype120, _size117) = iprot.readListBegin() - for _i121 in xrange(_size117): - _elem122 = FieldSchema() - _elem122.read(iprot) - self.partitionKeys.append(_elem122) + (_etype150, _size147) = iprot.readListBegin() + for _i151 in xrange(_size147): + _elem152 = FieldSchema() + _elem152.read(iprot) + self.partitionKeys.append(_elem152) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 9: if ftype == TType.MAP: self.parameters = {} - (_ktype124, _vtype125, _size123 ) = iprot.readMapBegin() - for _i127 in xrange(_size123): - _key128 = iprot.readString(); - _val129 = iprot.readString(); - self.parameters[_key128] = _val129 + (_ktype154, _vtype155, _size153 ) = iprot.readMapBegin() + for _i157 in xrange(_size153): + _key158 = iprot.readString(); + _val159 = iprot.readString(); + self.parameters[_key158] = _val159 iprot.readMapEnd() else: iprot.skip(ftype) @@ -1614,16 +1746,16 @@ if self.partitionKeys is not None: oprot.writeFieldBegin('partitionKeys', TType.LIST, 8) oprot.writeListBegin(TType.STRUCT, len(self.partitionKeys)) - for iter130 in self.partitionKeys: - iter130.write(oprot) + for iter160 in self.partitionKeys: + iter160.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.parameters is not None: oprot.writeFieldBegin('parameters', TType.MAP, 9) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameters)) - for kiter131,viter132 in self.parameters.items(): - oprot.writeString(kiter131) - oprot.writeString(viter132) + for kiter161,viter162 in self.parameters.items(): + oprot.writeString(kiter161) + oprot.writeString(viter162) oprot.writeMapEnd() oprot.writeFieldEnd() if self.viewOriginalText is not None: @@ -1707,10 +1839,10 @@ if fid == 1: if ftype == TType.LIST: self.values = [] - (_etype136, _size133) = iprot.readListBegin() - for _i137 in xrange(_size133): - _elem138 = iprot.readString(); - self.values.append(_elem138) + (_etype166, _size163) = iprot.readListBegin() + for _i167 in xrange(_size163): + _elem168 = iprot.readString(); + self.values.append(_elem168) iprot.readListEnd() else: iprot.skip(ftype) @@ -1743,11 +1875,11 @@ elif fid == 7: if ftype == TType.MAP: self.parameters = {} - (_ktype140, _vtype141, _size139 ) = iprot.readMapBegin() - for _i143 in xrange(_size139): - _key144 = iprot.readString(); - _val145 = iprot.readString(); - self.parameters[_key144] = _val145 + (_ktype170, _vtype171, _size169 ) = iprot.readMapBegin() + for _i173 in xrange(_size169): + _key174 = iprot.readString(); + _val175 = iprot.readString(); + self.parameters[_key174] = _val175 iprot.readMapEnd() else: iprot.skip(ftype) @@ -1770,8 +1902,8 @@ if self.values is not None: oprot.writeFieldBegin('values', TType.LIST, 1) oprot.writeListBegin(TType.STRING, len(self.values)) - for iter146 in self.values: - oprot.writeString(iter146) + for iter176 in self.values: + oprot.writeString(iter176) oprot.writeListEnd() oprot.writeFieldEnd() if self.dbName is not None: @@ -1797,9 +1929,9 @@ if self.parameters is not None: oprot.writeFieldBegin('parameters', TType.MAP, 7) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameters)) - for kiter147,viter148 in self.parameters.items(): - oprot.writeString(kiter147) - oprot.writeString(viter148) + for kiter177,viter178 in self.parameters.items(): + oprot.writeString(kiter177) + oprot.writeString(viter178) oprot.writeMapEnd() oprot.writeFieldEnd() if self.privileges is not None: @@ -1918,11 +2050,11 @@ elif fid == 9: if ftype == TType.MAP: self.parameters = {} - (_ktype150, _vtype151, _size149 ) = iprot.readMapBegin() - for _i153 in xrange(_size149): - _key154 = iprot.readString(); - _val155 = iprot.readString(); - self.parameters[_key154] = _val155 + (_ktype180, _vtype181, _size179 ) = iprot.readMapBegin() + for _i183 in xrange(_size179): + _key184 = iprot.readString(); + _val185 = iprot.readString(); + self.parameters[_key184] = _val185 iprot.readMapEnd() else: iprot.skip(ftype) @@ -1976,9 +2108,9 @@ if self.parameters is not None: oprot.writeFieldBegin('parameters', TType.MAP, 9) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameters)) - for kiter156,viter157 in self.parameters.items(): - oprot.writeString(kiter156) - oprot.writeString(viter157) + for kiter186,viter187 in self.parameters.items(): + oprot.writeString(kiter186) + oprot.writeString(viter187) oprot.writeMapEnd() oprot.writeFieldEnd() if self.deferredRebuild is not None: @@ -2032,22 +2164,22 @@ if fid == 1: if ftype == TType.LIST: self.fieldSchemas = [] - (_etype161, _size158) = iprot.readListBegin() - for _i162 in xrange(_size158): - _elem163 = FieldSchema() - _elem163.read(iprot) - self.fieldSchemas.append(_elem163) + (_etype191, _size188) = iprot.readListBegin() + for _i192 in xrange(_size188): + _elem193 = FieldSchema() + _elem193.read(iprot) + self.fieldSchemas.append(_elem193) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.MAP: self.properties = {} - (_ktype165, _vtype166, _size164 ) = iprot.readMapBegin() - for _i168 in xrange(_size164): - _key169 = iprot.readString(); - _val170 = iprot.readString(); - self.properties[_key169] = _val170 + (_ktype195, _vtype196, _size194 ) = iprot.readMapBegin() + for _i198 in xrange(_size194): + _key199 = iprot.readString(); + _val200 = iprot.readString(); + self.properties[_key199] = _val200 iprot.readMapEnd() else: iprot.skip(ftype) @@ -2064,16 +2196,16 @@ if self.fieldSchemas is not None: oprot.writeFieldBegin('fieldSchemas', TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.fieldSchemas)) - for iter171 in self.fieldSchemas: - iter171.write(oprot) + for iter201 in self.fieldSchemas: + iter201.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.properties is not None: oprot.writeFieldBegin('properties', TType.MAP, 2) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties)) - for kiter172,viter173 in self.properties.items(): - oprot.writeString(kiter172) - oprot.writeString(viter173) + for kiter202,viter203 in self.properties.items(): + oprot.writeString(kiter202) + oprot.writeString(viter203) oprot.writeMapEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -2120,11 +2252,11 @@ if fid == 1: if ftype == TType.MAP: self.properties = {} - (_ktype175, _vtype176, _size174 ) = iprot.readMapBegin() - for _i178 in xrange(_size174): - _key179 = iprot.readString(); - _val180 = iprot.readString(); - self.properties[_key179] = _val180 + (_ktype205, _vtype206, _size204 ) = iprot.readMapBegin() + for _i208 in xrange(_size204): + _key209 = iprot.readString(); + _val210 = iprot.readString(); + self.properties[_key209] = _val210 iprot.readMapEnd() else: iprot.skip(ftype) @@ -2141,9 +2273,9 @@ if self.properties is not None: oprot.writeFieldBegin('properties', TType.MAP, 1) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties)) - for kiter181,viter182 in self.properties.items(): - oprot.writeString(kiter181) - oprot.writeString(viter182) + for kiter211,viter212 in self.properties.items(): + oprot.writeString(kiter211) + oprot.writeString(viter212) oprot.writeMapEnd() oprot.writeFieldEnd() oprot.writeFieldStop() Index: metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py =================================================================== --- metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py (revision 1371773) +++ metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py (working copy) @@ -4815,10 +4815,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype186, _size183) = iprot.readListBegin() - for _i187 in xrange(_size183): - _elem188 = iprot.readString(); - self.success.append(_elem188) + (_etype216, _size213) = iprot.readListBegin() + for _i217 in xrange(_size213): + _elem218 = iprot.readString(); + self.success.append(_elem218) iprot.readListEnd() else: iprot.skip(ftype) @@ -4841,8 +4841,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter189 in self.success: - oprot.writeString(iter189) + for iter219 in self.success: + oprot.writeString(iter219) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -4937,10 +4937,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype193, _size190) = iprot.readListBegin() - for _i194 in xrange(_size190): - _elem195 = iprot.readString(); - self.success.append(_elem195) + (_etype223, _size220) = iprot.readListBegin() + for _i224 in xrange(_size220): + _elem225 = iprot.readString(); + self.success.append(_elem225) iprot.readListEnd() else: iprot.skip(ftype) @@ -4963,8 +4963,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter196 in self.success: - oprot.writeString(iter196) + for iter226 in self.success: + oprot.writeString(iter226) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -5674,12 +5674,12 @@ if fid == 0: if ftype == TType.MAP: self.success = {} - (_ktype198, _vtype199, _size197 ) = iprot.readMapBegin() - for _i201 in xrange(_size197): - _key202 = iprot.readString(); - _val203 = Type() - _val203.read(iprot) - self.success[_key202] = _val203 + (_ktype228, _vtype229, _size227 ) = iprot.readMapBegin() + for _i231 in xrange(_size227): + _key232 = iprot.readString(); + _val233 = Type() + _val233.read(iprot) + self.success[_key232] = _val233 iprot.readMapEnd() else: iprot.skip(ftype) @@ -5702,9 +5702,9 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.MAP, 0) oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success)) - for kiter204,viter205 in self.success.items(): - oprot.writeString(kiter204) - viter205.write(oprot) + for kiter234,viter235 in self.success.items(): + oprot.writeString(kiter234) + viter235.write(oprot) oprot.writeMapEnd() oprot.writeFieldEnd() if self.o2 is not None: @@ -5835,11 +5835,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype209, _size206) = iprot.readListBegin() - for _i210 in xrange(_size206): - _elem211 = FieldSchema() - _elem211.read(iprot) - self.success.append(_elem211) + (_etype239, _size236) = iprot.readListBegin() + for _i240 in xrange(_size236): + _elem241 = FieldSchema() + _elem241.read(iprot) + self.success.append(_elem241) iprot.readListEnd() else: iprot.skip(ftype) @@ -5874,8 +5874,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter212 in self.success: - iter212.write(oprot) + for iter242 in self.success: + iter242.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -6014,11 +6014,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype216, _size213) = iprot.readListBegin() - for _i217 in xrange(_size213): - _elem218 = FieldSchema() - _elem218.read(iprot) - self.success.append(_elem218) + (_etype246, _size243) = iprot.readListBegin() + for _i247 in xrange(_size243): + _elem248 = FieldSchema() + _elem248.read(iprot) + self.success.append(_elem248) iprot.readListEnd() else: iprot.skip(ftype) @@ -6053,8 +6053,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter219 in self.success: - iter219.write(oprot) + for iter249 in self.success: + iter249.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -6680,10 +6680,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype223, _size220) = iprot.readListBegin() - for _i224 in xrange(_size220): - _elem225 = iprot.readString(); - self.success.append(_elem225) + (_etype253, _size250) = iprot.readListBegin() + for _i254 in xrange(_size250): + _elem255 = iprot.readString(); + self.success.append(_elem255) iprot.readListEnd() else: iprot.skip(ftype) @@ -6706,8 +6706,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter226 in self.success: - oprot.writeString(iter226) + for iter256 in self.success: + oprot.writeString(iter256) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -6820,10 +6820,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype230, _size227) = iprot.readListBegin() - for _i231 in xrange(_size227): - _elem232 = iprot.readString(); - self.success.append(_elem232) + (_etype260, _size257) = iprot.readListBegin() + for _i261 in xrange(_size257): + _elem262 = iprot.readString(); + self.success.append(_elem262) iprot.readListEnd() else: iprot.skip(ftype) @@ -6846,8 +6846,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter233 in self.success: - oprot.writeString(iter233) + for iter263 in self.success: + oprot.writeString(iter263) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -7064,10 +7064,10 @@ elif fid == 2: if ftype == TType.LIST: self.tbl_names = [] - (_etype237, _size234) = iprot.readListBegin() - for _i238 in xrange(_size234): - _elem239 = iprot.readString(); - self.tbl_names.append(_elem239) + (_etype267, _size264) = iprot.readListBegin() + for _i268 in xrange(_size264): + _elem269 = iprot.readString(); + self.tbl_names.append(_elem269) iprot.readListEnd() else: iprot.skip(ftype) @@ -7088,8 +7088,8 @@ if self.tbl_names is not None: oprot.writeFieldBegin('tbl_names', TType.LIST, 2) oprot.writeListBegin(TType.STRING, len(self.tbl_names)) - for iter240 in self.tbl_names: - oprot.writeString(iter240) + for iter270 in self.tbl_names: + oprot.writeString(iter270) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7144,11 +7144,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype244, _size241) = iprot.readListBegin() - for _i245 in xrange(_size241): - _elem246 = Table() - _elem246.read(iprot) - self.success.append(_elem246) + (_etype274, _size271) = iprot.readListBegin() + for _i275 in xrange(_size271): + _elem276 = Table() + _elem276.read(iprot) + self.success.append(_elem276) iprot.readListEnd() else: iprot.skip(ftype) @@ -7183,8 +7183,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter247 in self.success: - iter247.write(oprot) + for iter277 in self.success: + iter277.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -7335,10 +7335,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype251, _size248) = iprot.readListBegin() - for _i252 in xrange(_size248): - _elem253 = iprot.readString(); - self.success.append(_elem253) + (_etype281, _size278) = iprot.readListBegin() + for _i282 in xrange(_size278): + _elem283 = iprot.readString(); + self.success.append(_elem283) iprot.readListEnd() else: iprot.skip(ftype) @@ -7373,8 +7373,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter254 in self.success: - oprot.writeString(iter254) + for iter284 in self.success: + oprot.writeString(iter284) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -8097,11 +8097,11 @@ if fid == 1: if ftype == TType.LIST: self.new_parts = [] - (_etype258, _size255) = iprot.readListBegin() - for _i259 in xrange(_size255): - _elem260 = Partition() - _elem260.read(iprot) - self.new_parts.append(_elem260) + (_etype288, _size285) = iprot.readListBegin() + for _i289 in xrange(_size285): + _elem290 = Partition() + _elem290.read(iprot) + self.new_parts.append(_elem290) iprot.readListEnd() else: iprot.skip(ftype) @@ -8118,8 +8118,8 @@ if self.new_parts is not None: oprot.writeFieldBegin('new_parts', TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.new_parts)) - for iter261 in self.new_parts: - iter261.write(oprot) + for iter291 in self.new_parts: + iter291.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8280,10 +8280,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype265, _size262) = iprot.readListBegin() - for _i266 in xrange(_size262): - _elem267 = iprot.readString(); - self.part_vals.append(_elem267) + (_etype295, _size292) = iprot.readListBegin() + for _i296 in xrange(_size292): + _elem297 = iprot.readString(); + self.part_vals.append(_elem297) iprot.readListEnd() else: iprot.skip(ftype) @@ -8308,8 +8308,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter268 in self.part_vals: - oprot.writeString(iter268) + for iter298 in self.part_vals: + oprot.writeString(iter298) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8657,10 +8657,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype272, _size269) = iprot.readListBegin() - for _i273 in xrange(_size269): - _elem274 = iprot.readString(); - self.part_vals.append(_elem274) + (_etype302, _size299) = iprot.readListBegin() + for _i303 in xrange(_size299): + _elem304 = iprot.readString(); + self.part_vals.append(_elem304) iprot.readListEnd() else: iprot.skip(ftype) @@ -8690,8 +8690,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter275 in self.part_vals: - oprot.writeString(iter275) + for iter305 in self.part_vals: + oprot.writeString(iter305) oprot.writeListEnd() oprot.writeFieldEnd() if self.deleteData is not None: @@ -9024,10 +9024,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype279, _size276) = iprot.readListBegin() - for _i280 in xrange(_size276): - _elem281 = iprot.readString(); - self.part_vals.append(_elem281) + (_etype309, _size306) = iprot.readListBegin() + for _i310 in xrange(_size306): + _elem311 = iprot.readString(); + self.part_vals.append(_elem311) iprot.readListEnd() else: iprot.skip(ftype) @@ -9052,8 +9052,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter282 in self.part_vals: - oprot.writeString(iter282) + for iter312 in self.part_vals: + oprot.writeString(iter312) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9208,10 +9208,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype286, _size283) = iprot.readListBegin() - for _i287 in xrange(_size283): - _elem288 = iprot.readString(); - self.part_vals.append(_elem288) + (_etype316, _size313) = iprot.readListBegin() + for _i317 in xrange(_size313): + _elem318 = iprot.readString(); + self.part_vals.append(_elem318) iprot.readListEnd() else: iprot.skip(ftype) @@ -9223,10 +9223,10 @@ elif fid == 5: if ftype == TType.LIST: self.group_names = [] - (_etype292, _size289) = iprot.readListBegin() - for _i293 in xrange(_size289): - _elem294 = iprot.readString(); - self.group_names.append(_elem294) + (_etype322, _size319) = iprot.readListBegin() + for _i323 in xrange(_size319): + _elem324 = iprot.readString(); + self.group_names.append(_elem324) iprot.readListEnd() else: iprot.skip(ftype) @@ -9251,8 +9251,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter295 in self.part_vals: - oprot.writeString(iter295) + for iter325 in self.part_vals: + oprot.writeString(iter325) oprot.writeListEnd() oprot.writeFieldEnd() if self.user_name is not None: @@ -9262,8 +9262,8 @@ if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter296 in self.group_names: - oprot.writeString(iter296) + for iter326 in self.group_names: + oprot.writeString(iter326) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9655,11 +9655,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype300, _size297) = iprot.readListBegin() - for _i301 in xrange(_size297): - _elem302 = Partition() - _elem302.read(iprot) - self.success.append(_elem302) + (_etype330, _size327) = iprot.readListBegin() + for _i331 in xrange(_size327): + _elem332 = Partition() + _elem332.read(iprot) + self.success.append(_elem332) iprot.readListEnd() else: iprot.skip(ftype) @@ -9688,8 +9688,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter303 in self.success: - iter303.write(oprot) + for iter333 in self.success: + iter333.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -9776,10 +9776,10 @@ elif fid == 5: if ftype == TType.LIST: self.group_names = [] - (_etype307, _size304) = iprot.readListBegin() - for _i308 in xrange(_size304): - _elem309 = iprot.readString(); - self.group_names.append(_elem309) + (_etype337, _size334) = iprot.readListBegin() + for _i338 in xrange(_size334): + _elem339 = iprot.readString(); + self.group_names.append(_elem339) iprot.readListEnd() else: iprot.skip(ftype) @@ -9812,8 +9812,8 @@ if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter310 in self.group_names: - oprot.writeString(iter310) + for iter340 in self.group_names: + oprot.writeString(iter340) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9865,11 +9865,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype314, _size311) = iprot.readListBegin() - for _i315 in xrange(_size311): - _elem316 = Partition() - _elem316.read(iprot) - self.success.append(_elem316) + (_etype344, _size341) = iprot.readListBegin() + for _i345 in xrange(_size341): + _elem346 = Partition() + _elem346.read(iprot) + self.success.append(_elem346) iprot.readListEnd() else: iprot.skip(ftype) @@ -9898,8 +9898,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter317 in self.success: - iter317.write(oprot) + for iter347 in self.success: + iter347.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -10040,10 +10040,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype321, _size318) = iprot.readListBegin() - for _i322 in xrange(_size318): - _elem323 = iprot.readString(); - self.success.append(_elem323) + (_etype351, _size348) = iprot.readListBegin() + for _i352 in xrange(_size348): + _elem353 = iprot.readString(); + self.success.append(_elem353) iprot.readListEnd() else: iprot.skip(ftype) @@ -10066,8 +10066,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter324 in self.success: - oprot.writeString(iter324) + for iter354 in self.success: + oprot.writeString(iter354) oprot.writeListEnd() oprot.writeFieldEnd() if self.o2 is not None: @@ -10137,10 +10137,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype328, _size325) = iprot.readListBegin() - for _i329 in xrange(_size325): - _elem330 = iprot.readString(); - self.part_vals.append(_elem330) + (_etype358, _size355) = iprot.readListBegin() + for _i359 in xrange(_size355): + _elem360 = iprot.readString(); + self.part_vals.append(_elem360) iprot.readListEnd() else: iprot.skip(ftype) @@ -10170,8 +10170,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter331 in self.part_vals: - oprot.writeString(iter331) + for iter361 in self.part_vals: + oprot.writeString(iter361) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts is not None: @@ -10227,11 +10227,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype335, _size332) = iprot.readListBegin() - for _i336 in xrange(_size332): - _elem337 = Partition() - _elem337.read(iprot) - self.success.append(_elem337) + (_etype365, _size362) = iprot.readListBegin() + for _i366 in xrange(_size362): + _elem367 = Partition() + _elem367.read(iprot) + self.success.append(_elem367) iprot.readListEnd() else: iprot.skip(ftype) @@ -10260,8 +10260,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter338 in self.success: - iter338.write(oprot) + for iter368 in self.success: + iter368.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -10341,10 +10341,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype342, _size339) = iprot.readListBegin() - for _i343 in xrange(_size339): - _elem344 = iprot.readString(); - self.part_vals.append(_elem344) + (_etype372, _size369) = iprot.readListBegin() + for _i373 in xrange(_size369): + _elem374 = iprot.readString(); + self.part_vals.append(_elem374) iprot.readListEnd() else: iprot.skip(ftype) @@ -10361,10 +10361,10 @@ elif fid == 6: if ftype == TType.LIST: self.group_names = [] - (_etype348, _size345) = iprot.readListBegin() - for _i349 in xrange(_size345): - _elem350 = iprot.readString(); - self.group_names.append(_elem350) + (_etype378, _size375) = iprot.readListBegin() + for _i379 in xrange(_size375): + _elem380 = iprot.readString(); + self.group_names.append(_elem380) iprot.readListEnd() else: iprot.skip(ftype) @@ -10389,8 +10389,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter351 in self.part_vals: - oprot.writeString(iter351) + for iter381 in self.part_vals: + oprot.writeString(iter381) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts is not None: @@ -10404,8 +10404,8 @@ if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 6) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter352 in self.group_names: - oprot.writeString(iter352) + for iter382 in self.group_names: + oprot.writeString(iter382) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -10457,11 +10457,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype356, _size353) = iprot.readListBegin() - for _i357 in xrange(_size353): - _elem358 = Partition() - _elem358.read(iprot) - self.success.append(_elem358) + (_etype386, _size383) = iprot.readListBegin() + for _i387 in xrange(_size383): + _elem388 = Partition() + _elem388.read(iprot) + self.success.append(_elem388) iprot.readListEnd() else: iprot.skip(ftype) @@ -10490,8 +10490,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter359 in self.success: - iter359.write(oprot) + for iter389 in self.success: + iter389.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -10565,10 +10565,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype363, _size360) = iprot.readListBegin() - for _i364 in xrange(_size360): - _elem365 = iprot.readString(); - self.part_vals.append(_elem365) + (_etype393, _size390) = iprot.readListBegin() + for _i394 in xrange(_size390): + _elem395 = iprot.readString(); + self.part_vals.append(_elem395) iprot.readListEnd() else: iprot.skip(ftype) @@ -10598,8 +10598,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter366 in self.part_vals: - oprot.writeString(iter366) + for iter396 in self.part_vals: + oprot.writeString(iter396) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts is not None: @@ -10655,10 +10655,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype370, _size367) = iprot.readListBegin() - for _i371 in xrange(_size367): - _elem372 = iprot.readString(); - self.success.append(_elem372) + (_etype400, _size397) = iprot.readListBegin() + for _i401 in xrange(_size397): + _elem402 = iprot.readString(); + self.success.append(_elem402) iprot.readListEnd() else: iprot.skip(ftype) @@ -10687,8 +10687,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter373 in self.success: - oprot.writeString(iter373) + for iter403 in self.success: + oprot.writeString(iter403) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -10844,11 +10844,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype377, _size374) = iprot.readListBegin() - for _i378 in xrange(_size374): - _elem379 = Partition() - _elem379.read(iprot) - self.success.append(_elem379) + (_etype407, _size404) = iprot.readListBegin() + for _i408 in xrange(_size404): + _elem409 = Partition() + _elem409.read(iprot) + self.success.append(_elem409) iprot.readListEnd() else: iprot.skip(ftype) @@ -10877,8 +10877,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter380 in self.success: - iter380.write(oprot) + for iter410 in self.success: + iter410.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -10949,10 +10949,10 @@ elif fid == 3: if ftype == TType.LIST: self.names = [] - (_etype384, _size381) = iprot.readListBegin() - for _i385 in xrange(_size381): - _elem386 = iprot.readString(); - self.names.append(_elem386) + (_etype414, _size411) = iprot.readListBegin() + for _i415 in xrange(_size411): + _elem416 = iprot.readString(); + self.names.append(_elem416) iprot.readListEnd() else: iprot.skip(ftype) @@ -10977,8 +10977,8 @@ if self.names is not None: oprot.writeFieldBegin('names', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.names)) - for iter387 in self.names: - oprot.writeString(iter387) + for iter417 in self.names: + oprot.writeString(iter417) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -11030,11 +11030,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype391, _size388) = iprot.readListBegin() - for _i392 in xrange(_size388): - _elem393 = Partition() - _elem393.read(iprot) - self.success.append(_elem393) + (_etype421, _size418) = iprot.readListBegin() + for _i422 in xrange(_size418): + _elem423 = Partition() + _elem423.read(iprot) + self.success.append(_elem423) iprot.readListEnd() else: iprot.skip(ftype) @@ -11063,8 +11063,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter394 in self.success: - iter394.write(oprot) + for iter424 in self.success: + iter424.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -11469,10 +11469,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype398, _size395) = iprot.readListBegin() - for _i399 in xrange(_size395): - _elem400 = iprot.readString(); - self.part_vals.append(_elem400) + (_etype428, _size425) = iprot.readListBegin() + for _i429 in xrange(_size425): + _elem430 = iprot.readString(); + self.part_vals.append(_elem430) iprot.readListEnd() else: iprot.skip(ftype) @@ -11503,8 +11503,8 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter401 in self.part_vals: - oprot.writeString(iter401) + for iter431 in self.part_vals: + oprot.writeString(iter431) oprot.writeListEnd() oprot.writeFieldEnd() if self.new_part is not None: @@ -11835,10 +11835,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype405, _size402) = iprot.readListBegin() - for _i406 in xrange(_size402): - _elem407 = iprot.readString(); - self.success.append(_elem407) + (_etype435, _size432) = iprot.readListBegin() + for _i436 in xrange(_size432): + _elem437 = iprot.readString(); + self.success.append(_elem437) iprot.readListEnd() else: iprot.skip(ftype) @@ -11861,8 +11861,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter408 in self.success: - oprot.writeString(iter408) + for iter438 in self.success: + oprot.writeString(iter438) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -11975,11 +11975,11 @@ if fid == 0: if ftype == TType.MAP: self.success = {} - (_ktype410, _vtype411, _size409 ) = iprot.readMapBegin() - for _i413 in xrange(_size409): - _key414 = iprot.readString(); - _val415 = iprot.readString(); - self.success[_key414] = _val415 + (_ktype440, _vtype441, _size439 ) = iprot.readMapBegin() + for _i443 in xrange(_size439): + _key444 = iprot.readString(); + _val445 = iprot.readString(); + self.success[_key444] = _val445 iprot.readMapEnd() else: iprot.skip(ftype) @@ -12002,9 +12002,9 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.MAP, 0) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success)) - for kiter416,viter417 in self.success.items(): - oprot.writeString(kiter416) - oprot.writeString(viter417) + for kiter446,viter447 in self.success.items(): + oprot.writeString(kiter446) + oprot.writeString(viter447) oprot.writeMapEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -12074,11 +12074,11 @@ elif fid == 3: if ftype == TType.MAP: self.part_vals = {} - (_ktype419, _vtype420, _size418 ) = iprot.readMapBegin() - for _i422 in xrange(_size418): - _key423 = iprot.readString(); - _val424 = iprot.readString(); - self.part_vals[_key423] = _val424 + (_ktype449, _vtype450, _size448 ) = iprot.readMapBegin() + for _i452 in xrange(_size448): + _key453 = iprot.readString(); + _val454 = iprot.readString(); + self.part_vals[_key453] = _val454 iprot.readMapEnd() else: iprot.skip(ftype) @@ -12108,9 +12108,9 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.MAP, 3) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.part_vals)) - for kiter425,viter426 in self.part_vals.items(): - oprot.writeString(kiter425) - oprot.writeString(viter426) + for kiter455,viter456 in self.part_vals.items(): + oprot.writeString(kiter455) + oprot.writeString(viter456) oprot.writeMapEnd() oprot.writeFieldEnd() if self.eventType is not None: @@ -12306,11 +12306,11 @@ elif fid == 3: if ftype == TType.MAP: self.part_vals = {} - (_ktype428, _vtype429, _size427 ) = iprot.readMapBegin() - for _i431 in xrange(_size427): - _key432 = iprot.readString(); - _val433 = iprot.readString(); - self.part_vals[_key432] = _val433 + (_ktype458, _vtype459, _size457 ) = iprot.readMapBegin() + for _i461 in xrange(_size457): + _key462 = iprot.readString(); + _val463 = iprot.readString(); + self.part_vals[_key462] = _val463 iprot.readMapEnd() else: iprot.skip(ftype) @@ -12340,9 +12340,9 @@ if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.MAP, 3) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.part_vals)) - for kiter434,viter435 in self.part_vals.items(): - oprot.writeString(kiter434) - oprot.writeString(viter435) + for kiter464,viter465 in self.part_vals.items(): + oprot.writeString(kiter464) + oprot.writeString(viter465) oprot.writeMapEnd() oprot.writeFieldEnd() if self.eventType is not None: @@ -13314,11 +13314,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype439, _size436) = iprot.readListBegin() - for _i440 in xrange(_size436): - _elem441 = Index() - _elem441.read(iprot) - self.success.append(_elem441) + (_etype469, _size466) = iprot.readListBegin() + for _i470 in xrange(_size466): + _elem471 = Index() + _elem471.read(iprot) + self.success.append(_elem471) iprot.readListEnd() else: iprot.skip(ftype) @@ -13347,8 +13347,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter442 in self.success: - iter442.write(oprot) + for iter472 in self.success: + iter472.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -13489,10 +13489,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype446, _size443) = iprot.readListBegin() - for _i447 in xrange(_size443): - _elem448 = iprot.readString(); - self.success.append(_elem448) + (_etype476, _size473) = iprot.readListBegin() + for _i477 in xrange(_size473): + _elem478 = iprot.readString(); + self.success.append(_elem478) iprot.readListEnd() else: iprot.skip(ftype) @@ -13515,8 +13515,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter449 in self.success: - oprot.writeString(iter449) + for iter479 in self.success: + oprot.writeString(iter479) oprot.writeListEnd() oprot.writeFieldEnd() if self.o2 is not None: @@ -13876,10 +13876,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype453, _size450) = iprot.readListBegin() - for _i454 in xrange(_size450): - _elem455 = iprot.readString(); - self.success.append(_elem455) + (_etype483, _size480) = iprot.readListBegin() + for _i484 in xrange(_size480): + _elem485 = iprot.readString(); + self.success.append(_elem485) iprot.readListEnd() else: iprot.skip(ftype) @@ -13902,8 +13902,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter456 in self.success: - oprot.writeString(iter456) + for iter486 in self.success: + oprot.writeString(iter486) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -14376,11 +14376,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype460, _size457) = iprot.readListBegin() - for _i461 in xrange(_size457): - _elem462 = Role() - _elem462.read(iprot) - self.success.append(_elem462) + (_etype490, _size487) = iprot.readListBegin() + for _i491 in xrange(_size487): + _elem492 = Role() + _elem492.read(iprot) + self.success.append(_elem492) iprot.readListEnd() else: iprot.skip(ftype) @@ -14403,8 +14403,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter463 in self.success: - iter463.write(oprot) + for iter493 in self.success: + iter493.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -14472,10 +14472,10 @@ elif fid == 3: if ftype == TType.LIST: self.group_names = [] - (_etype467, _size464) = iprot.readListBegin() - for _i468 in xrange(_size464): - _elem469 = iprot.readString(); - self.group_names.append(_elem469) + (_etype497, _size494) = iprot.readListBegin() + for _i498 in xrange(_size494): + _elem499 = iprot.readString(); + self.group_names.append(_elem499) iprot.readListEnd() else: iprot.skip(ftype) @@ -14500,8 +14500,8 @@ if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter470 in self.group_names: - oprot.writeString(iter470) + for iter500 in self.group_names: + oprot.writeString(iter500) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -14708,11 +14708,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype474, _size471) = iprot.readListBegin() - for _i475 in xrange(_size471): - _elem476 = HiveObjectPrivilege() - _elem476.read(iprot) - self.success.append(_elem476) + (_etype504, _size501) = iprot.readListBegin() + for _i505 in xrange(_size501): + _elem506 = HiveObjectPrivilege() + _elem506.read(iprot) + self.success.append(_elem506) iprot.readListEnd() else: iprot.skip(ftype) @@ -14735,8 +14735,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter477 in self.success: - iter477.write(oprot) + for iter507 in self.success: + iter507.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -15061,10 +15061,10 @@ elif fid == 2: if ftype == TType.LIST: self.group_names = [] - (_etype481, _size478) = iprot.readListBegin() - for _i482 in xrange(_size478): - _elem483 = iprot.readString(); - self.group_names.append(_elem483) + (_etype511, _size508) = iprot.readListBegin() + for _i512 in xrange(_size508): + _elem513 = iprot.readString(); + self.group_names.append(_elem513) iprot.readListEnd() else: iprot.skip(ftype) @@ -15085,8 +15085,8 @@ if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 2) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter484 in self.group_names: - oprot.writeString(iter484) + for iter514 in self.group_names: + oprot.writeString(iter514) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -15135,10 +15135,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype488, _size485) = iprot.readListBegin() - for _i489 in xrange(_size485): - _elem490 = iprot.readString(); - self.success.append(_elem490) + (_etype518, _size515) = iprot.readListBegin() + for _i519 in xrange(_size515): + _elem520 = iprot.readString(); + self.success.append(_elem520) iprot.readListEnd() else: iprot.skip(ftype) @@ -15161,8 +15161,8 @@ if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter491 in self.success: - oprot.writeString(iter491) + for iter521 in self.success: + oprot.writeString(iter521) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: Index: metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp =================================================================== --- metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp (revision 1371773) +++ metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp (working copy) @@ -715,14 +715,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size163; - ::apache::thrift::protocol::TType _etype166; - iprot->readListBegin(_etype166, _size163); - this->success.resize(_size163); - uint32_t _i167; - for (_i167 = 0; _i167 < _size163; ++_i167) + uint32_t _size189; + ::apache::thrift::protocol::TType _etype192; + iprot->readListBegin(_etype192, _size189); + this->success.resize(_size189); + uint32_t _i193; + for (_i193 = 0; _i193 < _size189; ++_i193) { - xfer += iprot->readString(this->success[_i167]); + xfer += iprot->readString(this->success[_i193]); } iprot->readListEnd(); } @@ -761,10 +761,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter168; - for (_iter168 = this->success.begin(); _iter168 != this->success.end(); ++_iter168) + std::vector ::const_iterator _iter194; + for (_iter194 = this->success.begin(); _iter194 != this->success.end(); ++_iter194) { - xfer += oprot->writeString((*_iter168)); + xfer += oprot->writeString((*_iter194)); } xfer += oprot->writeListEnd(); } @@ -803,14 +803,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size169; - ::apache::thrift::protocol::TType _etype172; - iprot->readListBegin(_etype172, _size169); - (*(this->success)).resize(_size169); - uint32_t _i173; - for (_i173 = 0; _i173 < _size169; ++_i173) + uint32_t _size195; + ::apache::thrift::protocol::TType _etype198; + iprot->readListBegin(_etype198, _size195); + (*(this->success)).resize(_size195); + uint32_t _i199; + for (_i199 = 0; _i199 < _size195; ++_i199) { - xfer += iprot->readString((*(this->success))[_i173]); + xfer += iprot->readString((*(this->success))[_i199]); } iprot->readListEnd(); } @@ -911,14 +911,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size174; - ::apache::thrift::protocol::TType _etype177; - iprot->readListBegin(_etype177, _size174); - this->success.resize(_size174); - uint32_t _i178; - for (_i178 = 0; _i178 < _size174; ++_i178) + uint32_t _size200; + ::apache::thrift::protocol::TType _etype203; + iprot->readListBegin(_etype203, _size200); + this->success.resize(_size200); + uint32_t _i204; + for (_i204 = 0; _i204 < _size200; ++_i204) { - xfer += iprot->readString(this->success[_i178]); + xfer += iprot->readString(this->success[_i204]); } iprot->readListEnd(); } @@ -957,10 +957,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter179; - for (_iter179 = this->success.begin(); _iter179 != this->success.end(); ++_iter179) + std::vector ::const_iterator _iter205; + for (_iter205 = this->success.begin(); _iter205 != this->success.end(); ++_iter205) { - xfer += oprot->writeString((*_iter179)); + xfer += oprot->writeString((*_iter205)); } xfer += oprot->writeListEnd(); } @@ -999,14 +999,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size180; - ::apache::thrift::protocol::TType _etype183; - iprot->readListBegin(_etype183, _size180); - (*(this->success)).resize(_size180); - uint32_t _i184; - for (_i184 = 0; _i184 < _size180; ++_i184) + uint32_t _size206; + ::apache::thrift::protocol::TType _etype209; + iprot->readListBegin(_etype209, _size206); + (*(this->success)).resize(_size206); + uint32_t _i210; + for (_i210 = 0; _i210 < _size206; ++_i210) { - xfer += iprot->readString((*(this->success))[_i184]); + xfer += iprot->readString((*(this->success))[_i210]); } iprot->readListEnd(); } @@ -1927,17 +1927,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->success.clear(); - uint32_t _size185; - ::apache::thrift::protocol::TType _ktype186; - ::apache::thrift::protocol::TType _vtype187; - iprot->readMapBegin(_ktype186, _vtype187, _size185); - uint32_t _i189; - for (_i189 = 0; _i189 < _size185; ++_i189) + uint32_t _size211; + ::apache::thrift::protocol::TType _ktype212; + ::apache::thrift::protocol::TType _vtype213; + iprot->readMapBegin(_ktype212, _vtype213, _size211); + uint32_t _i215; + for (_i215 = 0; _i215 < _size211; ++_i215) { - std::string _key190; - xfer += iprot->readString(_key190); - Type& _val191 = this->success[_key190]; - xfer += _val191.read(iprot); + std::string _key216; + xfer += iprot->readString(_key216); + Type& _val217 = this->success[_key216]; + xfer += _val217.read(iprot); } iprot->readMapEnd(); } @@ -1976,11 +1976,11 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::map ::const_iterator _iter192; - for (_iter192 = this->success.begin(); _iter192 != this->success.end(); ++_iter192) + std::map ::const_iterator _iter218; + for (_iter218 = this->success.begin(); _iter218 != this->success.end(); ++_iter218) { - xfer += oprot->writeString(_iter192->first); - xfer += _iter192->second.write(oprot); + xfer += oprot->writeString(_iter218->first); + xfer += _iter218->second.write(oprot); } xfer += oprot->writeMapEnd(); } @@ -2019,17 +2019,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { (*(this->success)).clear(); - uint32_t _size193; - ::apache::thrift::protocol::TType _ktype194; - ::apache::thrift::protocol::TType _vtype195; - iprot->readMapBegin(_ktype194, _vtype195, _size193); - uint32_t _i197; - for (_i197 = 0; _i197 < _size193; ++_i197) + uint32_t _size219; + ::apache::thrift::protocol::TType _ktype220; + ::apache::thrift::protocol::TType _vtype221; + iprot->readMapBegin(_ktype220, _vtype221, _size219); + uint32_t _i223; + for (_i223 = 0; _i223 < _size219; ++_i223) { - std::string _key198; - xfer += iprot->readString(_key198); - Type& _val199 = (*(this->success))[_key198]; - xfer += _val199.read(iprot); + std::string _key224; + xfer += iprot->readString(_key224); + Type& _val225 = (*(this->success))[_key224]; + xfer += _val225.read(iprot); } iprot->readMapEnd(); } @@ -2158,14 +2158,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size200; - ::apache::thrift::protocol::TType _etype203; - iprot->readListBegin(_etype203, _size200); - this->success.resize(_size200); - uint32_t _i204; - for (_i204 = 0; _i204 < _size200; ++_i204) + uint32_t _size226; + ::apache::thrift::protocol::TType _etype229; + iprot->readListBegin(_etype229, _size226); + this->success.resize(_size226); + uint32_t _i230; + for (_i230 = 0; _i230 < _size226; ++_i230) { - xfer += this->success[_i204].read(iprot); + xfer += this->success[_i230].read(iprot); } iprot->readListEnd(); } @@ -2220,10 +2220,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter205; - for (_iter205 = this->success.begin(); _iter205 != this->success.end(); ++_iter205) + std::vector ::const_iterator _iter231; + for (_iter231 = this->success.begin(); _iter231 != this->success.end(); ++_iter231) { - xfer += (*_iter205).write(oprot); + xfer += (*_iter231).write(oprot); } xfer += oprot->writeListEnd(); } @@ -2270,14 +2270,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size206; - ::apache::thrift::protocol::TType _etype209; - iprot->readListBegin(_etype209, _size206); - (*(this->success)).resize(_size206); - uint32_t _i210; - for (_i210 = 0; _i210 < _size206; ++_i210) + uint32_t _size232; + ::apache::thrift::protocol::TType _etype235; + iprot->readListBegin(_etype235, _size232); + (*(this->success)).resize(_size232); + uint32_t _i236; + for (_i236 = 0; _i236 < _size232; ++_i236) { - xfer += (*(this->success))[_i210].read(iprot); + xfer += (*(this->success))[_i236].read(iprot); } iprot->readListEnd(); } @@ -2422,14 +2422,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size211; - ::apache::thrift::protocol::TType _etype214; - iprot->readListBegin(_etype214, _size211); - this->success.resize(_size211); - uint32_t _i215; - for (_i215 = 0; _i215 < _size211; ++_i215) + uint32_t _size237; + ::apache::thrift::protocol::TType _etype240; + iprot->readListBegin(_etype240, _size237); + this->success.resize(_size237); + uint32_t _i241; + for (_i241 = 0; _i241 < _size237; ++_i241) { - xfer += this->success[_i215].read(iprot); + xfer += this->success[_i241].read(iprot); } iprot->readListEnd(); } @@ -2484,10 +2484,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter216; - for (_iter216 = this->success.begin(); _iter216 != this->success.end(); ++_iter216) + std::vector ::const_iterator _iter242; + for (_iter242 = this->success.begin(); _iter242 != this->success.end(); ++_iter242) { - xfer += (*_iter216).write(oprot); + xfer += (*_iter242).write(oprot); } xfer += oprot->writeListEnd(); } @@ -2534,14 +2534,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size217; - ::apache::thrift::protocol::TType _etype220; - iprot->readListBegin(_etype220, _size217); - (*(this->success)).resize(_size217); - uint32_t _i221; - for (_i221 = 0; _i221 < _size217; ++_i221) + uint32_t _size243; + ::apache::thrift::protocol::TType _etype246; + iprot->readListBegin(_etype246, _size243); + (*(this->success)).resize(_size243); + uint32_t _i247; + for (_i247 = 0; _i247 < _size243; ++_i247) { - xfer += (*(this->success))[_i221].read(iprot); + xfer += (*(this->success))[_i247].read(iprot); } iprot->readListEnd(); } @@ -3342,14 +3342,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size222; - ::apache::thrift::protocol::TType _etype225; - iprot->readListBegin(_etype225, _size222); - this->success.resize(_size222); - uint32_t _i226; - for (_i226 = 0; _i226 < _size222; ++_i226) + uint32_t _size248; + ::apache::thrift::protocol::TType _etype251; + iprot->readListBegin(_etype251, _size248); + this->success.resize(_size248); + uint32_t _i252; + for (_i252 = 0; _i252 < _size248; ++_i252) { - xfer += iprot->readString(this->success[_i226]); + xfer += iprot->readString(this->success[_i252]); } iprot->readListEnd(); } @@ -3388,10 +3388,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter227; - for (_iter227 = this->success.begin(); _iter227 != this->success.end(); ++_iter227) + std::vector ::const_iterator _iter253; + for (_iter253 = this->success.begin(); _iter253 != this->success.end(); ++_iter253) { - xfer += oprot->writeString((*_iter227)); + xfer += oprot->writeString((*_iter253)); } xfer += oprot->writeListEnd(); } @@ -3430,14 +3430,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size228; - ::apache::thrift::protocol::TType _etype231; - iprot->readListBegin(_etype231, _size228); - (*(this->success)).resize(_size228); - uint32_t _i232; - for (_i232 = 0; _i232 < _size228; ++_i232) + uint32_t _size254; + ::apache::thrift::protocol::TType _etype257; + iprot->readListBegin(_etype257, _size254); + (*(this->success)).resize(_size254); + uint32_t _i258; + for (_i258 = 0; _i258 < _size254; ++_i258) { - xfer += iprot->readString((*(this->success))[_i232]); + xfer += iprot->readString((*(this->success))[_i258]); } iprot->readListEnd(); } @@ -3552,14 +3552,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size233; - ::apache::thrift::protocol::TType _etype236; - iprot->readListBegin(_etype236, _size233); - this->success.resize(_size233); - uint32_t _i237; - for (_i237 = 0; _i237 < _size233; ++_i237) + uint32_t _size259; + ::apache::thrift::protocol::TType _etype262; + iprot->readListBegin(_etype262, _size259); + this->success.resize(_size259); + uint32_t _i263; + for (_i263 = 0; _i263 < _size259; ++_i263) { - xfer += iprot->readString(this->success[_i237]); + xfer += iprot->readString(this->success[_i263]); } iprot->readListEnd(); } @@ -3598,10 +3598,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter238; - for (_iter238 = this->success.begin(); _iter238 != this->success.end(); ++_iter238) + std::vector ::const_iterator _iter264; + for (_iter264 = this->success.begin(); _iter264 != this->success.end(); ++_iter264) { - xfer += oprot->writeString((*_iter238)); + xfer += oprot->writeString((*_iter264)); } xfer += oprot->writeListEnd(); } @@ -3640,14 +3640,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size239; - ::apache::thrift::protocol::TType _etype242; - iprot->readListBegin(_etype242, _size239); - (*(this->success)).resize(_size239); - uint32_t _i243; - for (_i243 = 0; _i243 < _size239; ++_i243) + uint32_t _size265; + ::apache::thrift::protocol::TType _etype268; + iprot->readListBegin(_etype268, _size265); + (*(this->success)).resize(_size265); + uint32_t _i269; + for (_i269 = 0; _i269 < _size265; ++_i269) { - xfer += iprot->readString((*(this->success))[_i243]); + xfer += iprot->readString((*(this->success))[_i269]); } iprot->readListEnd(); } @@ -3920,14 +3920,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->tbl_names.clear(); - uint32_t _size244; - ::apache::thrift::protocol::TType _etype247; - iprot->readListBegin(_etype247, _size244); - this->tbl_names.resize(_size244); - uint32_t _i248; - for (_i248 = 0; _i248 < _size244; ++_i248) + uint32_t _size270; + ::apache::thrift::protocol::TType _etype273; + iprot->readListBegin(_etype273, _size270); + this->tbl_names.resize(_size270); + uint32_t _i274; + for (_i274 = 0; _i274 < _size270; ++_i274) { - xfer += iprot->readString(this->tbl_names[_i248]); + xfer += iprot->readString(this->tbl_names[_i274]); } iprot->readListEnd(); } @@ -3957,10 +3957,10 @@ xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->tbl_names.size())); - std::vector ::const_iterator _iter249; - for (_iter249 = this->tbl_names.begin(); _iter249 != this->tbl_names.end(); ++_iter249) + std::vector ::const_iterator _iter275; + for (_iter275 = this->tbl_names.begin(); _iter275 != this->tbl_names.end(); ++_iter275) { - xfer += oprot->writeString((*_iter249)); + xfer += oprot->writeString((*_iter275)); } xfer += oprot->writeListEnd(); } @@ -3979,10 +3979,10 @@ xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->tbl_names)).size())); - std::vector ::const_iterator _iter250; - for (_iter250 = (*(this->tbl_names)).begin(); _iter250 != (*(this->tbl_names)).end(); ++_iter250) + std::vector ::const_iterator _iter276; + for (_iter276 = (*(this->tbl_names)).begin(); _iter276 != (*(this->tbl_names)).end(); ++_iter276) { - xfer += oprot->writeString((*_iter250)); + xfer += oprot->writeString((*_iter276)); } xfer += oprot->writeListEnd(); } @@ -4016,14 +4016,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size251; - ::apache::thrift::protocol::TType _etype254; - iprot->readListBegin(_etype254, _size251); - this->success.resize(_size251); - uint32_t _i255; - for (_i255 = 0; _i255 < _size251; ++_i255) + uint32_t _size277; + ::apache::thrift::protocol::TType _etype280; + iprot->readListBegin(_etype280, _size277); + this->success.resize(_size277); + uint32_t _i281; + for (_i281 = 0; _i281 < _size277; ++_i281) { - xfer += this->success[_i255].read(iprot); + xfer += this->success[_i281].read(iprot); } iprot->readListEnd(); } @@ -4078,10 +4078,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter256; - for (_iter256 = this->success.begin(); _iter256 != this->success.end(); ++_iter256) + std::vector
::const_iterator _iter282; + for (_iter282 = this->success.begin(); _iter282 != this->success.end(); ++_iter282) { - xfer += (*_iter256).write(oprot); + xfer += (*_iter282).write(oprot); } xfer += oprot->writeListEnd(); } @@ -4128,14 +4128,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size257; - ::apache::thrift::protocol::TType _etype260; - iprot->readListBegin(_etype260, _size257); - (*(this->success)).resize(_size257); - uint32_t _i261; - for (_i261 = 0; _i261 < _size257; ++_i261) + uint32_t _size283; + ::apache::thrift::protocol::TType _etype286; + iprot->readListBegin(_etype286, _size283); + (*(this->success)).resize(_size283); + uint32_t _i287; + for (_i287 = 0; _i287 < _size283; ++_i287) { - xfer += (*(this->success))[_i261].read(iprot); + xfer += (*(this->success))[_i287].read(iprot); } iprot->readListEnd(); } @@ -4294,14 +4294,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size262; - ::apache::thrift::protocol::TType _etype265; - iprot->readListBegin(_etype265, _size262); - this->success.resize(_size262); - uint32_t _i266; - for (_i266 = 0; _i266 < _size262; ++_i266) + uint32_t _size288; + ::apache::thrift::protocol::TType _etype291; + iprot->readListBegin(_etype291, _size288); + this->success.resize(_size288); + uint32_t _i292; + for (_i292 = 0; _i292 < _size288; ++_i292) { - xfer += iprot->readString(this->success[_i266]); + xfer += iprot->readString(this->success[_i292]); } iprot->readListEnd(); } @@ -4356,10 +4356,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter267; - for (_iter267 = this->success.begin(); _iter267 != this->success.end(); ++_iter267) + std::vector ::const_iterator _iter293; + for (_iter293 = this->success.begin(); _iter293 != this->success.end(); ++_iter293) { - xfer += oprot->writeString((*_iter267)); + xfer += oprot->writeString((*_iter293)); } xfer += oprot->writeListEnd(); } @@ -4406,14 +4406,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size268; - ::apache::thrift::protocol::TType _etype271; - iprot->readListBegin(_etype271, _size268); - (*(this->success)).resize(_size268); - uint32_t _i272; - for (_i272 = 0; _i272 < _size268; ++_i272) + uint32_t _size294; + ::apache::thrift::protocol::TType _etype297; + iprot->readListBegin(_etype297, _size294); + (*(this->success)).resize(_size294); + uint32_t _i298; + for (_i298 = 0; _i298 < _size294; ++_i298) { - xfer += iprot->readString((*(this->success))[_i272]); + xfer += iprot->readString((*(this->success))[_i298]); } iprot->readListEnd(); } @@ -5358,14 +5358,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->new_parts.clear(); - uint32_t _size273; - ::apache::thrift::protocol::TType _etype276; - iprot->readListBegin(_etype276, _size273); - this->new_parts.resize(_size273); - uint32_t _i277; - for (_i277 = 0; _i277 < _size273; ++_i277) + uint32_t _size299; + ::apache::thrift::protocol::TType _etype302; + iprot->readListBegin(_etype302, _size299); + this->new_parts.resize(_size299); + uint32_t _i303; + for (_i303 = 0; _i303 < _size299; ++_i303) { - xfer += this->new_parts[_i277].read(iprot); + xfer += this->new_parts[_i303].read(iprot); } iprot->readListEnd(); } @@ -5392,10 +5392,10 @@ xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 1); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->new_parts.size())); - std::vector ::const_iterator _iter278; - for (_iter278 = this->new_parts.begin(); _iter278 != this->new_parts.end(); ++_iter278) + std::vector ::const_iterator _iter304; + for (_iter304 = this->new_parts.begin(); _iter304 != this->new_parts.end(); ++_iter304) { - xfer += (*_iter278).write(oprot); + xfer += (*_iter304).write(oprot); } xfer += oprot->writeListEnd(); } @@ -5411,10 +5411,10 @@ xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 1); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast((*(this->new_parts)).size())); - std::vector ::const_iterator _iter279; - for (_iter279 = (*(this->new_parts)).begin(); _iter279 != (*(this->new_parts)).end(); ++_iter279) + std::vector ::const_iterator _iter305; + for (_iter305 = (*(this->new_parts)).begin(); _iter305 != (*(this->new_parts)).end(); ++_iter305) { - xfer += (*_iter279).write(oprot); + xfer += (*_iter305).write(oprot); } xfer += oprot->writeListEnd(); } @@ -5620,14 +5620,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size280; - ::apache::thrift::protocol::TType _etype283; - iprot->readListBegin(_etype283, _size280); - this->part_vals.resize(_size280); - uint32_t _i284; - for (_i284 = 0; _i284 < _size280; ++_i284) + uint32_t _size306; + ::apache::thrift::protocol::TType _etype309; + iprot->readListBegin(_etype309, _size306); + this->part_vals.resize(_size306); + uint32_t _i310; + for (_i310 = 0; _i310 < _size306; ++_i310) { - xfer += iprot->readString(this->part_vals[_i284]); + xfer += iprot->readString(this->part_vals[_i310]); } iprot->readListEnd(); } @@ -5660,10 +5660,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter285; - for (_iter285 = this->part_vals.begin(); _iter285 != this->part_vals.end(); ++_iter285) + std::vector ::const_iterator _iter311; + for (_iter311 = this->part_vals.begin(); _iter311 != this->part_vals.end(); ++_iter311) { - xfer += oprot->writeString((*_iter285)); + xfer += oprot->writeString((*_iter311)); } xfer += oprot->writeListEnd(); } @@ -5685,10 +5685,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter286; - for (_iter286 = (*(this->part_vals)).begin(); _iter286 != (*(this->part_vals)).end(); ++_iter286) + std::vector ::const_iterator _iter312; + for (_iter312 = (*(this->part_vals)).begin(); _iter312 != (*(this->part_vals)).end(); ++_iter312) { - xfer += oprot->writeString((*_iter286)); + xfer += oprot->writeString((*_iter312)); } xfer += oprot->writeListEnd(); } @@ -6140,14 +6140,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size287; - ::apache::thrift::protocol::TType _etype290; - iprot->readListBegin(_etype290, _size287); - this->part_vals.resize(_size287); - uint32_t _i291; - for (_i291 = 0; _i291 < _size287; ++_i291) + uint32_t _size313; + ::apache::thrift::protocol::TType _etype316; + iprot->readListBegin(_etype316, _size313); + this->part_vals.resize(_size313); + uint32_t _i317; + for (_i317 = 0; _i317 < _size313; ++_i317) { - xfer += iprot->readString(this->part_vals[_i291]); + xfer += iprot->readString(this->part_vals[_i317]); } iprot->readListEnd(); } @@ -6188,10 +6188,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter292; - for (_iter292 = this->part_vals.begin(); _iter292 != this->part_vals.end(); ++_iter292) + std::vector ::const_iterator _iter318; + for (_iter318 = this->part_vals.begin(); _iter318 != this->part_vals.end(); ++_iter318) { - xfer += oprot->writeString((*_iter292)); + xfer += oprot->writeString((*_iter318)); } xfer += oprot->writeListEnd(); } @@ -6216,10 +6216,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter293; - for (_iter293 = (*(this->part_vals)).begin(); _iter293 != (*(this->part_vals)).end(); ++_iter293) + std::vector ::const_iterator _iter319; + for (_iter319 = (*(this->part_vals)).begin(); _iter319 != (*(this->part_vals)).end(); ++_iter319) { - xfer += oprot->writeString((*_iter293)); + xfer += oprot->writeString((*_iter319)); } xfer += oprot->writeListEnd(); } @@ -6648,14 +6648,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size294; - ::apache::thrift::protocol::TType _etype297; - iprot->readListBegin(_etype297, _size294); - this->part_vals.resize(_size294); - uint32_t _i298; - for (_i298 = 0; _i298 < _size294; ++_i298) + uint32_t _size320; + ::apache::thrift::protocol::TType _etype323; + iprot->readListBegin(_etype323, _size320); + this->part_vals.resize(_size320); + uint32_t _i324; + for (_i324 = 0; _i324 < _size320; ++_i324) { - xfer += iprot->readString(this->part_vals[_i298]); + xfer += iprot->readString(this->part_vals[_i324]); } iprot->readListEnd(); } @@ -6688,10 +6688,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter299; - for (_iter299 = this->part_vals.begin(); _iter299 != this->part_vals.end(); ++_iter299) + std::vector ::const_iterator _iter325; + for (_iter325 = this->part_vals.begin(); _iter325 != this->part_vals.end(); ++_iter325) { - xfer += oprot->writeString((*_iter299)); + xfer += oprot->writeString((*_iter325)); } xfer += oprot->writeListEnd(); } @@ -6713,10 +6713,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter300; - for (_iter300 = (*(this->part_vals)).begin(); _iter300 != (*(this->part_vals)).end(); ++_iter300) + std::vector ::const_iterator _iter326; + for (_iter326 = (*(this->part_vals)).begin(); _iter326 != (*(this->part_vals)).end(); ++_iter326) { - xfer += oprot->writeString((*_iter300)); + xfer += oprot->writeString((*_iter326)); } xfer += oprot->writeListEnd(); } @@ -6902,14 +6902,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size301; - ::apache::thrift::protocol::TType _etype304; - iprot->readListBegin(_etype304, _size301); - this->part_vals.resize(_size301); - uint32_t _i305; - for (_i305 = 0; _i305 < _size301; ++_i305) + uint32_t _size327; + ::apache::thrift::protocol::TType _etype330; + iprot->readListBegin(_etype330, _size327); + this->part_vals.resize(_size327); + uint32_t _i331; + for (_i331 = 0; _i331 < _size327; ++_i331) { - xfer += iprot->readString(this->part_vals[_i305]); + xfer += iprot->readString(this->part_vals[_i331]); } iprot->readListEnd(); } @@ -6930,14 +6930,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size306; - ::apache::thrift::protocol::TType _etype309; - iprot->readListBegin(_etype309, _size306); - this->group_names.resize(_size306); - uint32_t _i310; - for (_i310 = 0; _i310 < _size306; ++_i310) + uint32_t _size332; + ::apache::thrift::protocol::TType _etype335; + iprot->readListBegin(_etype335, _size332); + this->group_names.resize(_size332); + uint32_t _i336; + for (_i336 = 0; _i336 < _size332; ++_i336) { - xfer += iprot->readString(this->group_names[_i310]); + xfer += iprot->readString(this->group_names[_i336]); } iprot->readListEnd(); } @@ -6970,10 +6970,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter311; - for (_iter311 = this->part_vals.begin(); _iter311 != this->part_vals.end(); ++_iter311) + std::vector ::const_iterator _iter337; + for (_iter337 = this->part_vals.begin(); _iter337 != this->part_vals.end(); ++_iter337) { - xfer += oprot->writeString((*_iter311)); + xfer += oprot->writeString((*_iter337)); } xfer += oprot->writeListEnd(); } @@ -6984,10 +6984,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->group_names.size())); - std::vector ::const_iterator _iter312; - for (_iter312 = this->group_names.begin(); _iter312 != this->group_names.end(); ++_iter312) + std::vector ::const_iterator _iter338; + for (_iter338 = this->group_names.begin(); _iter338 != this->group_names.end(); ++_iter338) { - xfer += oprot->writeString((*_iter312)); + xfer += oprot->writeString((*_iter338)); } xfer += oprot->writeListEnd(); } @@ -7009,10 +7009,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter313; - for (_iter313 = (*(this->part_vals)).begin(); _iter313 != (*(this->part_vals)).end(); ++_iter313) + std::vector ::const_iterator _iter339; + for (_iter339 = (*(this->part_vals)).begin(); _iter339 != (*(this->part_vals)).end(); ++_iter339) { - xfer += oprot->writeString((*_iter313)); + xfer += oprot->writeString((*_iter339)); } xfer += oprot->writeListEnd(); } @@ -7023,10 +7023,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->group_names)).size())); - std::vector ::const_iterator _iter314; - for (_iter314 = (*(this->group_names)).begin(); _iter314 != (*(this->group_names)).end(); ++_iter314) + std::vector ::const_iterator _iter340; + for (_iter340 = (*(this->group_names)).begin(); _iter340 != (*(this->group_names)).end(); ++_iter340) { - xfer += oprot->writeString((*_iter314)); + xfer += oprot->writeString((*_iter340)); } xfer += oprot->writeListEnd(); } @@ -7512,14 +7512,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size315; - ::apache::thrift::protocol::TType _etype318; - iprot->readListBegin(_etype318, _size315); - this->success.resize(_size315); - uint32_t _i319; - for (_i319 = 0; _i319 < _size315; ++_i319) + uint32_t _size341; + ::apache::thrift::protocol::TType _etype344; + iprot->readListBegin(_etype344, _size341); + this->success.resize(_size341); + uint32_t _i345; + for (_i345 = 0; _i345 < _size341; ++_i345) { - xfer += this->success[_i319].read(iprot); + xfer += this->success[_i345].read(iprot); } iprot->readListEnd(); } @@ -7566,10 +7566,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter320; - for (_iter320 = this->success.begin(); _iter320 != this->success.end(); ++_iter320) + std::vector ::const_iterator _iter346; + for (_iter346 = this->success.begin(); _iter346 != this->success.end(); ++_iter346) { - xfer += (*_iter320).write(oprot); + xfer += (*_iter346).write(oprot); } xfer += oprot->writeListEnd(); } @@ -7612,14 +7612,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size321; - ::apache::thrift::protocol::TType _etype324; - iprot->readListBegin(_etype324, _size321); - (*(this->success)).resize(_size321); - uint32_t _i325; - for (_i325 = 0; _i325 < _size321; ++_i325) + uint32_t _size347; + ::apache::thrift::protocol::TType _etype350; + iprot->readListBegin(_etype350, _size347); + (*(this->success)).resize(_size347); + uint32_t _i351; + for (_i351 = 0; _i351 < _size347; ++_i351) { - xfer += (*(this->success))[_i325].read(iprot); + xfer += (*(this->success))[_i351].read(iprot); } iprot->readListEnd(); } @@ -7712,14 +7712,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size326; - ::apache::thrift::protocol::TType _etype329; - iprot->readListBegin(_etype329, _size326); - this->group_names.resize(_size326); - uint32_t _i330; - for (_i330 = 0; _i330 < _size326; ++_i330) + uint32_t _size352; + ::apache::thrift::protocol::TType _etype355; + iprot->readListBegin(_etype355, _size352); + this->group_names.resize(_size352); + uint32_t _i356; + for (_i356 = 0; _i356 < _size352; ++_i356) { - xfer += iprot->readString(this->group_names[_i330]); + xfer += iprot->readString(this->group_names[_i356]); } iprot->readListEnd(); } @@ -7758,10 +7758,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->group_names.size())); - std::vector ::const_iterator _iter331; - for (_iter331 = this->group_names.begin(); _iter331 != this->group_names.end(); ++_iter331) + std::vector ::const_iterator _iter357; + for (_iter357 = this->group_names.begin(); _iter357 != this->group_names.end(); ++_iter357) { - xfer += oprot->writeString((*_iter331)); + xfer += oprot->writeString((*_iter357)); } xfer += oprot->writeListEnd(); } @@ -7789,10 +7789,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->group_names)).size())); - std::vector ::const_iterator _iter332; - for (_iter332 = (*(this->group_names)).begin(); _iter332 != (*(this->group_names)).end(); ++_iter332) + std::vector ::const_iterator _iter358; + for (_iter358 = (*(this->group_names)).begin(); _iter358 != (*(this->group_names)).end(); ++_iter358) { - xfer += oprot->writeString((*_iter332)); + xfer += oprot->writeString((*_iter358)); } xfer += oprot->writeListEnd(); } @@ -7826,14 +7826,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size333; - ::apache::thrift::protocol::TType _etype336; - iprot->readListBegin(_etype336, _size333); - this->success.resize(_size333); - uint32_t _i337; - for (_i337 = 0; _i337 < _size333; ++_i337) + uint32_t _size359; + ::apache::thrift::protocol::TType _etype362; + iprot->readListBegin(_etype362, _size359); + this->success.resize(_size359); + uint32_t _i363; + for (_i363 = 0; _i363 < _size359; ++_i363) { - xfer += this->success[_i337].read(iprot); + xfer += this->success[_i363].read(iprot); } iprot->readListEnd(); } @@ -7880,10 +7880,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter338; - for (_iter338 = this->success.begin(); _iter338 != this->success.end(); ++_iter338) + std::vector ::const_iterator _iter364; + for (_iter364 = this->success.begin(); _iter364 != this->success.end(); ++_iter364) { - xfer += (*_iter338).write(oprot); + xfer += (*_iter364).write(oprot); } xfer += oprot->writeListEnd(); } @@ -7926,14 +7926,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size339; - ::apache::thrift::protocol::TType _etype342; - iprot->readListBegin(_etype342, _size339); - (*(this->success)).resize(_size339); - uint32_t _i343; - for (_i343 = 0; _i343 < _size339; ++_i343) + uint32_t _size365; + ::apache::thrift::protocol::TType _etype368; + iprot->readListBegin(_etype368, _size365); + (*(this->success)).resize(_size365); + uint32_t _i369; + for (_i369 = 0; _i369 < _size365; ++_i369) { - xfer += (*(this->success))[_i343].read(iprot); + xfer += (*(this->success))[_i369].read(iprot); } iprot->readListEnd(); } @@ -8084,14 +8084,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size344; - ::apache::thrift::protocol::TType _etype347; - iprot->readListBegin(_etype347, _size344); - this->success.resize(_size344); - uint32_t _i348; - for (_i348 = 0; _i348 < _size344; ++_i348) + uint32_t _size370; + ::apache::thrift::protocol::TType _etype373; + iprot->readListBegin(_etype373, _size370); + this->success.resize(_size370); + uint32_t _i374; + for (_i374 = 0; _i374 < _size370; ++_i374) { - xfer += iprot->readString(this->success[_i348]); + xfer += iprot->readString(this->success[_i374]); } iprot->readListEnd(); } @@ -8130,10 +8130,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter349; - for (_iter349 = this->success.begin(); _iter349 != this->success.end(); ++_iter349) + std::vector ::const_iterator _iter375; + for (_iter375 = this->success.begin(); _iter375 != this->success.end(); ++_iter375) { - xfer += oprot->writeString((*_iter349)); + xfer += oprot->writeString((*_iter375)); } xfer += oprot->writeListEnd(); } @@ -8172,14 +8172,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size350; - ::apache::thrift::protocol::TType _etype353; - iprot->readListBegin(_etype353, _size350); - (*(this->success)).resize(_size350); - uint32_t _i354; - for (_i354 = 0; _i354 < _size350; ++_i354) + uint32_t _size376; + ::apache::thrift::protocol::TType _etype379; + iprot->readListBegin(_etype379, _size376); + (*(this->success)).resize(_size376); + uint32_t _i380; + for (_i380 = 0; _i380 < _size376; ++_i380) { - xfer += iprot->readString((*(this->success))[_i354]); + xfer += iprot->readString((*(this->success))[_i380]); } iprot->readListEnd(); } @@ -8248,14 +8248,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size355; - ::apache::thrift::protocol::TType _etype358; - iprot->readListBegin(_etype358, _size355); - this->part_vals.resize(_size355); - uint32_t _i359; - for (_i359 = 0; _i359 < _size355; ++_i359) + uint32_t _size381; + ::apache::thrift::protocol::TType _etype384; + iprot->readListBegin(_etype384, _size381); + this->part_vals.resize(_size381); + uint32_t _i385; + for (_i385 = 0; _i385 < _size381; ++_i385) { - xfer += iprot->readString(this->part_vals[_i359]); + xfer += iprot->readString(this->part_vals[_i385]); } iprot->readListEnd(); } @@ -8296,10 +8296,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter360; - for (_iter360 = this->part_vals.begin(); _iter360 != this->part_vals.end(); ++_iter360) + std::vector ::const_iterator _iter386; + for (_iter386 = this->part_vals.begin(); _iter386 != this->part_vals.end(); ++_iter386) { - xfer += oprot->writeString((*_iter360)); + xfer += oprot->writeString((*_iter386)); } xfer += oprot->writeListEnd(); } @@ -8324,10 +8324,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter361; - for (_iter361 = (*(this->part_vals)).begin(); _iter361 != (*(this->part_vals)).end(); ++_iter361) + std::vector ::const_iterator _iter387; + for (_iter387 = (*(this->part_vals)).begin(); _iter387 != (*(this->part_vals)).end(); ++_iter387) { - xfer += oprot->writeString((*_iter361)); + xfer += oprot->writeString((*_iter387)); } xfer += oprot->writeListEnd(); } @@ -8364,14 +8364,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size362; - ::apache::thrift::protocol::TType _etype365; - iprot->readListBegin(_etype365, _size362); - this->success.resize(_size362); - uint32_t _i366; - for (_i366 = 0; _i366 < _size362; ++_i366) + uint32_t _size388; + ::apache::thrift::protocol::TType _etype391; + iprot->readListBegin(_etype391, _size388); + this->success.resize(_size388); + uint32_t _i392; + for (_i392 = 0; _i392 < _size388; ++_i392) { - xfer += this->success[_i366].read(iprot); + xfer += this->success[_i392].read(iprot); } iprot->readListEnd(); } @@ -8418,10 +8418,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter367; - for (_iter367 = this->success.begin(); _iter367 != this->success.end(); ++_iter367) + std::vector ::const_iterator _iter393; + for (_iter393 = this->success.begin(); _iter393 != this->success.end(); ++_iter393) { - xfer += (*_iter367).write(oprot); + xfer += (*_iter393).write(oprot); } xfer += oprot->writeListEnd(); } @@ -8464,14 +8464,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size368; - ::apache::thrift::protocol::TType _etype371; - iprot->readListBegin(_etype371, _size368); - (*(this->success)).resize(_size368); - uint32_t _i372; - for (_i372 = 0; _i372 < _size368; ++_i372) + uint32_t _size394; + ::apache::thrift::protocol::TType _etype397; + iprot->readListBegin(_etype397, _size394); + (*(this->success)).resize(_size394); + uint32_t _i398; + for (_i398 = 0; _i398 < _size394; ++_i398) { - xfer += (*(this->success))[_i372].read(iprot); + xfer += (*(this->success))[_i398].read(iprot); } iprot->readListEnd(); } @@ -8548,14 +8548,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size373; - ::apache::thrift::protocol::TType _etype376; - iprot->readListBegin(_etype376, _size373); - this->part_vals.resize(_size373); - uint32_t _i377; - for (_i377 = 0; _i377 < _size373; ++_i377) + uint32_t _size399; + ::apache::thrift::protocol::TType _etype402; + iprot->readListBegin(_etype402, _size399); + this->part_vals.resize(_size399); + uint32_t _i403; + for (_i403 = 0; _i403 < _size399; ++_i403) { - xfer += iprot->readString(this->part_vals[_i377]); + xfer += iprot->readString(this->part_vals[_i403]); } iprot->readListEnd(); } @@ -8584,14 +8584,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size378; - ::apache::thrift::protocol::TType _etype381; - iprot->readListBegin(_etype381, _size378); - this->group_names.resize(_size378); - uint32_t _i382; - for (_i382 = 0; _i382 < _size378; ++_i382) + uint32_t _size404; + ::apache::thrift::protocol::TType _etype407; + iprot->readListBegin(_etype407, _size404); + this->group_names.resize(_size404); + uint32_t _i408; + for (_i408 = 0; _i408 < _size404; ++_i408) { - xfer += iprot->readString(this->group_names[_i382]); + xfer += iprot->readString(this->group_names[_i408]); } iprot->readListEnd(); } @@ -8624,10 +8624,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter383; - for (_iter383 = this->part_vals.begin(); _iter383 != this->part_vals.end(); ++_iter383) + std::vector ::const_iterator _iter409; + for (_iter409 = this->part_vals.begin(); _iter409 != this->part_vals.end(); ++_iter409) { - xfer += oprot->writeString((*_iter383)); + xfer += oprot->writeString((*_iter409)); } xfer += oprot->writeListEnd(); } @@ -8641,10 +8641,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 6); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->group_names.size())); - std::vector ::const_iterator _iter384; - for (_iter384 = this->group_names.begin(); _iter384 != this->group_names.end(); ++_iter384) + std::vector ::const_iterator _iter410; + for (_iter410 = this->group_names.begin(); _iter410 != this->group_names.end(); ++_iter410) { - xfer += oprot->writeString((*_iter384)); + xfer += oprot->writeString((*_iter410)); } xfer += oprot->writeListEnd(); } @@ -8666,10 +8666,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter385; - for (_iter385 = (*(this->part_vals)).begin(); _iter385 != (*(this->part_vals)).end(); ++_iter385) + std::vector ::const_iterator _iter411; + for (_iter411 = (*(this->part_vals)).begin(); _iter411 != (*(this->part_vals)).end(); ++_iter411) { - xfer += oprot->writeString((*_iter385)); + xfer += oprot->writeString((*_iter411)); } xfer += oprot->writeListEnd(); } @@ -8683,10 +8683,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 6); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->group_names)).size())); - std::vector ::const_iterator _iter386; - for (_iter386 = (*(this->group_names)).begin(); _iter386 != (*(this->group_names)).end(); ++_iter386) + std::vector ::const_iterator _iter412; + for (_iter412 = (*(this->group_names)).begin(); _iter412 != (*(this->group_names)).end(); ++_iter412) { - xfer += oprot->writeString((*_iter386)); + xfer += oprot->writeString((*_iter412)); } xfer += oprot->writeListEnd(); } @@ -8720,14 +8720,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size387; - ::apache::thrift::protocol::TType _etype390; - iprot->readListBegin(_etype390, _size387); - this->success.resize(_size387); - uint32_t _i391; - for (_i391 = 0; _i391 < _size387; ++_i391) + uint32_t _size413; + ::apache::thrift::protocol::TType _etype416; + iprot->readListBegin(_etype416, _size413); + this->success.resize(_size413); + uint32_t _i417; + for (_i417 = 0; _i417 < _size413; ++_i417) { - xfer += this->success[_i391].read(iprot); + xfer += this->success[_i417].read(iprot); } iprot->readListEnd(); } @@ -8774,10 +8774,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter392; - for (_iter392 = this->success.begin(); _iter392 != this->success.end(); ++_iter392) + std::vector ::const_iterator _iter418; + for (_iter418 = this->success.begin(); _iter418 != this->success.end(); ++_iter418) { - xfer += (*_iter392).write(oprot); + xfer += (*_iter418).write(oprot); } xfer += oprot->writeListEnd(); } @@ -8820,14 +8820,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size393; - ::apache::thrift::protocol::TType _etype396; - iprot->readListBegin(_etype396, _size393); - (*(this->success)).resize(_size393); - uint32_t _i397; - for (_i397 = 0; _i397 < _size393; ++_i397) + uint32_t _size419; + ::apache::thrift::protocol::TType _etype422; + iprot->readListBegin(_etype422, _size419); + (*(this->success)).resize(_size419); + uint32_t _i423; + for (_i423 = 0; _i423 < _size419; ++_i423) { - xfer += (*(this->success))[_i397].read(iprot); + xfer += (*(this->success))[_i423].read(iprot); } iprot->readListEnd(); } @@ -8904,14 +8904,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size398; - ::apache::thrift::protocol::TType _etype401; - iprot->readListBegin(_etype401, _size398); - this->part_vals.resize(_size398); - uint32_t _i402; - for (_i402 = 0; _i402 < _size398; ++_i402) + uint32_t _size424; + ::apache::thrift::protocol::TType _etype427; + iprot->readListBegin(_etype427, _size424); + this->part_vals.resize(_size424); + uint32_t _i428; + for (_i428 = 0; _i428 < _size424; ++_i428) { - xfer += iprot->readString(this->part_vals[_i402]); + xfer += iprot->readString(this->part_vals[_i428]); } iprot->readListEnd(); } @@ -8952,10 +8952,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter403; - for (_iter403 = this->part_vals.begin(); _iter403 != this->part_vals.end(); ++_iter403) + std::vector ::const_iterator _iter429; + for (_iter429 = this->part_vals.begin(); _iter429 != this->part_vals.end(); ++_iter429) { - xfer += oprot->writeString((*_iter403)); + xfer += oprot->writeString((*_iter429)); } xfer += oprot->writeListEnd(); } @@ -8980,10 +8980,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter404; - for (_iter404 = (*(this->part_vals)).begin(); _iter404 != (*(this->part_vals)).end(); ++_iter404) + std::vector ::const_iterator _iter430; + for (_iter430 = (*(this->part_vals)).begin(); _iter430 != (*(this->part_vals)).end(); ++_iter430) { - xfer += oprot->writeString((*_iter404)); + xfer += oprot->writeString((*_iter430)); } xfer += oprot->writeListEnd(); } @@ -9020,14 +9020,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size405; - ::apache::thrift::protocol::TType _etype408; - iprot->readListBegin(_etype408, _size405); - this->success.resize(_size405); - uint32_t _i409; - for (_i409 = 0; _i409 < _size405; ++_i409) + uint32_t _size431; + ::apache::thrift::protocol::TType _etype434; + iprot->readListBegin(_etype434, _size431); + this->success.resize(_size431); + uint32_t _i435; + for (_i435 = 0; _i435 < _size431; ++_i435) { - xfer += iprot->readString(this->success[_i409]); + xfer += iprot->readString(this->success[_i435]); } iprot->readListEnd(); } @@ -9074,10 +9074,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter410; - for (_iter410 = this->success.begin(); _iter410 != this->success.end(); ++_iter410) + std::vector ::const_iterator _iter436; + for (_iter436 = this->success.begin(); _iter436 != this->success.end(); ++_iter436) { - xfer += oprot->writeString((*_iter410)); + xfer += oprot->writeString((*_iter436)); } xfer += oprot->writeListEnd(); } @@ -9120,14 +9120,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size411; - ::apache::thrift::protocol::TType _etype414; - iprot->readListBegin(_etype414, _size411); - (*(this->success)).resize(_size411); - uint32_t _i415; - for (_i415 = 0; _i415 < _size411; ++_i415) + uint32_t _size437; + ::apache::thrift::protocol::TType _etype440; + iprot->readListBegin(_etype440, _size437); + (*(this->success)).resize(_size437); + uint32_t _i441; + for (_i441 = 0; _i441 < _size437; ++_i441) { - xfer += iprot->readString((*(this->success))[_i415]); + xfer += iprot->readString((*(this->success))[_i441]); } iprot->readListEnd(); } @@ -9292,14 +9292,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size416; - ::apache::thrift::protocol::TType _etype419; - iprot->readListBegin(_etype419, _size416); - this->success.resize(_size416); - uint32_t _i420; - for (_i420 = 0; _i420 < _size416; ++_i420) + uint32_t _size442; + ::apache::thrift::protocol::TType _etype445; + iprot->readListBegin(_etype445, _size442); + this->success.resize(_size442); + uint32_t _i446; + for (_i446 = 0; _i446 < _size442; ++_i446) { - xfer += this->success[_i420].read(iprot); + xfer += this->success[_i446].read(iprot); } iprot->readListEnd(); } @@ -9346,10 +9346,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter421; - for (_iter421 = this->success.begin(); _iter421 != this->success.end(); ++_iter421) + std::vector ::const_iterator _iter447; + for (_iter447 = this->success.begin(); _iter447 != this->success.end(); ++_iter447) { - xfer += (*_iter421).write(oprot); + xfer += (*_iter447).write(oprot); } xfer += oprot->writeListEnd(); } @@ -9392,14 +9392,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size422; - ::apache::thrift::protocol::TType _etype425; - iprot->readListBegin(_etype425, _size422); - (*(this->success)).resize(_size422); - uint32_t _i426; - for (_i426 = 0; _i426 < _size422; ++_i426) + uint32_t _size448; + ::apache::thrift::protocol::TType _etype451; + iprot->readListBegin(_etype451, _size448); + (*(this->success)).resize(_size448); + uint32_t _i452; + for (_i452 = 0; _i452 < _size448; ++_i452) { - xfer += (*(this->success))[_i426].read(iprot); + xfer += (*(this->success))[_i452].read(iprot); } iprot->readListEnd(); } @@ -9476,14 +9476,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->names.clear(); - uint32_t _size427; - ::apache::thrift::protocol::TType _etype430; - iprot->readListBegin(_etype430, _size427); - this->names.resize(_size427); - uint32_t _i431; - for (_i431 = 0; _i431 < _size427; ++_i431) + uint32_t _size453; + ::apache::thrift::protocol::TType _etype456; + iprot->readListBegin(_etype456, _size453); + this->names.resize(_size453); + uint32_t _i457; + for (_i457 = 0; _i457 < _size453; ++_i457) { - xfer += iprot->readString(this->names[_i431]); + xfer += iprot->readString(this->names[_i457]); } iprot->readListEnd(); } @@ -9516,10 +9516,10 @@ xfer += oprot->writeFieldBegin("names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->names.size())); - std::vector ::const_iterator _iter432; - for (_iter432 = this->names.begin(); _iter432 != this->names.end(); ++_iter432) + std::vector ::const_iterator _iter458; + for (_iter458 = this->names.begin(); _iter458 != this->names.end(); ++_iter458) { - xfer += oprot->writeString((*_iter432)); + xfer += oprot->writeString((*_iter458)); } xfer += oprot->writeListEnd(); } @@ -9541,10 +9541,10 @@ xfer += oprot->writeFieldBegin("names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->names)).size())); - std::vector ::const_iterator _iter433; - for (_iter433 = (*(this->names)).begin(); _iter433 != (*(this->names)).end(); ++_iter433) + std::vector ::const_iterator _iter459; + for (_iter459 = (*(this->names)).begin(); _iter459 != (*(this->names)).end(); ++_iter459) { - xfer += oprot->writeString((*_iter433)); + xfer += oprot->writeString((*_iter459)); } xfer += oprot->writeListEnd(); } @@ -9578,14 +9578,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size434; - ::apache::thrift::protocol::TType _etype437; - iprot->readListBegin(_etype437, _size434); - this->success.resize(_size434); - uint32_t _i438; - for (_i438 = 0; _i438 < _size434; ++_i438) + uint32_t _size460; + ::apache::thrift::protocol::TType _etype463; + iprot->readListBegin(_etype463, _size460); + this->success.resize(_size460); + uint32_t _i464; + for (_i464 = 0; _i464 < _size460; ++_i464) { - xfer += this->success[_i438].read(iprot); + xfer += this->success[_i464].read(iprot); } iprot->readListEnd(); } @@ -9632,10 +9632,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter439; - for (_iter439 = this->success.begin(); _iter439 != this->success.end(); ++_iter439) + std::vector ::const_iterator _iter465; + for (_iter465 = this->success.begin(); _iter465 != this->success.end(); ++_iter465) { - xfer += (*_iter439).write(oprot); + xfer += (*_iter465).write(oprot); } xfer += oprot->writeListEnd(); } @@ -9678,14 +9678,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size440; - ::apache::thrift::protocol::TType _etype443; - iprot->readListBegin(_etype443, _size440); - (*(this->success)).resize(_size440); - uint32_t _i444; - for (_i444 = 0; _i444 < _size440; ++_i444) + uint32_t _size466; + ::apache::thrift::protocol::TType _etype469; + iprot->readListBegin(_etype469, _size466); + (*(this->success)).resize(_size466); + uint32_t _i470; + for (_i470 = 0; _i470 < _size466; ++_i470) { - xfer += (*(this->success))[_i444].read(iprot); + xfer += (*(this->success))[_i470].read(iprot); } iprot->readListEnd(); } @@ -10188,14 +10188,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size445; - ::apache::thrift::protocol::TType _etype448; - iprot->readListBegin(_etype448, _size445); - this->part_vals.resize(_size445); - uint32_t _i449; - for (_i449 = 0; _i449 < _size445; ++_i449) + uint32_t _size471; + ::apache::thrift::protocol::TType _etype474; + iprot->readListBegin(_etype474, _size471); + this->part_vals.resize(_size471); + uint32_t _i475; + for (_i475 = 0; _i475 < _size471; ++_i475) { - xfer += iprot->readString(this->part_vals[_i449]); + xfer += iprot->readString(this->part_vals[_i475]); } iprot->readListEnd(); } @@ -10236,10 +10236,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::vector ::const_iterator _iter450; - for (_iter450 = this->part_vals.begin(); _iter450 != this->part_vals.end(); ++_iter450) + std::vector ::const_iterator _iter476; + for (_iter476 = this->part_vals.begin(); _iter476 != this->part_vals.end(); ++_iter476) { - xfer += oprot->writeString((*_iter450)); + xfer += oprot->writeString((*_iter476)); } xfer += oprot->writeListEnd(); } @@ -10264,10 +10264,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::vector ::const_iterator _iter451; - for (_iter451 = (*(this->part_vals)).begin(); _iter451 != (*(this->part_vals)).end(); ++_iter451) + std::vector ::const_iterator _iter477; + for (_iter477 = (*(this->part_vals)).begin(); _iter477 != (*(this->part_vals)).end(); ++_iter477) { - xfer += oprot->writeString((*_iter451)); + xfer += oprot->writeString((*_iter477)); } xfer += oprot->writeListEnd(); } @@ -10674,14 +10674,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size452; - ::apache::thrift::protocol::TType _etype455; - iprot->readListBegin(_etype455, _size452); - this->success.resize(_size452); - uint32_t _i456; - for (_i456 = 0; _i456 < _size452; ++_i456) + uint32_t _size478; + ::apache::thrift::protocol::TType _etype481; + iprot->readListBegin(_etype481, _size478); + this->success.resize(_size478); + uint32_t _i482; + for (_i482 = 0; _i482 < _size478; ++_i482) { - xfer += iprot->readString(this->success[_i456]); + xfer += iprot->readString(this->success[_i482]); } iprot->readListEnd(); } @@ -10720,10 +10720,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter457; - for (_iter457 = this->success.begin(); _iter457 != this->success.end(); ++_iter457) + std::vector ::const_iterator _iter483; + for (_iter483 = this->success.begin(); _iter483 != this->success.end(); ++_iter483) { - xfer += oprot->writeString((*_iter457)); + xfer += oprot->writeString((*_iter483)); } xfer += oprot->writeListEnd(); } @@ -10762,14 +10762,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size458; - ::apache::thrift::protocol::TType _etype461; - iprot->readListBegin(_etype461, _size458); - (*(this->success)).resize(_size458); - uint32_t _i462; - for (_i462 = 0; _i462 < _size458; ++_i462) + uint32_t _size484; + ::apache::thrift::protocol::TType _etype487; + iprot->readListBegin(_etype487, _size484); + (*(this->success)).resize(_size484); + uint32_t _i488; + for (_i488 = 0; _i488 < _size484; ++_i488) { - xfer += iprot->readString((*(this->success))[_i462]); + xfer += iprot->readString((*(this->success))[_i488]); } iprot->readListEnd(); } @@ -10884,17 +10884,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->success.clear(); - uint32_t _size463; - ::apache::thrift::protocol::TType _ktype464; - ::apache::thrift::protocol::TType _vtype465; - iprot->readMapBegin(_ktype464, _vtype465, _size463); - uint32_t _i467; - for (_i467 = 0; _i467 < _size463; ++_i467) + uint32_t _size489; + ::apache::thrift::protocol::TType _ktype490; + ::apache::thrift::protocol::TType _vtype491; + iprot->readMapBegin(_ktype490, _vtype491, _size489); + uint32_t _i493; + for (_i493 = 0; _i493 < _size489; ++_i493) { - std::string _key468; - xfer += iprot->readString(_key468); - std::string& _val469 = this->success[_key468]; - xfer += iprot->readString(_val469); + std::string _key494; + xfer += iprot->readString(_key494); + std::string& _val495 = this->success[_key494]; + xfer += iprot->readString(_val495); } iprot->readMapEnd(); } @@ -10933,11 +10933,11 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::map ::const_iterator _iter470; - for (_iter470 = this->success.begin(); _iter470 != this->success.end(); ++_iter470) + std::map ::const_iterator _iter496; + for (_iter496 = this->success.begin(); _iter496 != this->success.end(); ++_iter496) { - xfer += oprot->writeString(_iter470->first); - xfer += oprot->writeString(_iter470->second); + xfer += oprot->writeString(_iter496->first); + xfer += oprot->writeString(_iter496->second); } xfer += oprot->writeMapEnd(); } @@ -10976,17 +10976,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { (*(this->success)).clear(); - uint32_t _size471; - ::apache::thrift::protocol::TType _ktype472; - ::apache::thrift::protocol::TType _vtype473; - iprot->readMapBegin(_ktype472, _vtype473, _size471); - uint32_t _i475; - for (_i475 = 0; _i475 < _size471; ++_i475) + uint32_t _size497; + ::apache::thrift::protocol::TType _ktype498; + ::apache::thrift::protocol::TType _vtype499; + iprot->readMapBegin(_ktype498, _vtype499, _size497); + uint32_t _i501; + for (_i501 = 0; _i501 < _size497; ++_i501) { - std::string _key476; - xfer += iprot->readString(_key476); - std::string& _val477 = (*(this->success))[_key476]; - xfer += iprot->readString(_val477); + std::string _key502; + xfer += iprot->readString(_key502); + std::string& _val503 = (*(this->success))[_key502]; + xfer += iprot->readString(_val503); } iprot->readMapEnd(); } @@ -11055,17 +11055,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->part_vals.clear(); - uint32_t _size478; - ::apache::thrift::protocol::TType _ktype479; - ::apache::thrift::protocol::TType _vtype480; - iprot->readMapBegin(_ktype479, _vtype480, _size478); - uint32_t _i482; - for (_i482 = 0; _i482 < _size478; ++_i482) + uint32_t _size504; + ::apache::thrift::protocol::TType _ktype505; + ::apache::thrift::protocol::TType _vtype506; + iprot->readMapBegin(_ktype505, _vtype506, _size504); + uint32_t _i508; + for (_i508 = 0; _i508 < _size504; ++_i508) { - std::string _key483; - xfer += iprot->readString(_key483); - std::string& _val484 = this->part_vals[_key483]; - xfer += iprot->readString(_val484); + std::string _key509; + xfer += iprot->readString(_key509); + std::string& _val510 = this->part_vals[_key509]; + xfer += iprot->readString(_val510); } iprot->readMapEnd(); } @@ -11076,9 +11076,9 @@ break; case 4: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast485; - xfer += iprot->readI32(ecast485); - this->eventType = (PartitionEventType::type)ecast485; + int32_t ecast511; + xfer += iprot->readI32(ecast511); + this->eventType = (PartitionEventType::type)ecast511; this->__isset.eventType = true; } else { xfer += iprot->skip(ftype); @@ -11108,11 +11108,11 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::map ::const_iterator _iter486; - for (_iter486 = this->part_vals.begin(); _iter486 != this->part_vals.end(); ++_iter486) + std::map ::const_iterator _iter512; + for (_iter512 = this->part_vals.begin(); _iter512 != this->part_vals.end(); ++_iter512) { - xfer += oprot->writeString(_iter486->first); - xfer += oprot->writeString(_iter486->second); + xfer += oprot->writeString(_iter512->first); + xfer += oprot->writeString(_iter512->second); } xfer += oprot->writeMapEnd(); } @@ -11137,11 +11137,11 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::map ::const_iterator _iter487; - for (_iter487 = (*(this->part_vals)).begin(); _iter487 != (*(this->part_vals)).end(); ++_iter487) + std::map ::const_iterator _iter513; + for (_iter513 = (*(this->part_vals)).begin(); _iter513 != (*(this->part_vals)).end(); ++_iter513) { - xfer += oprot->writeString(_iter487->first); - xfer += oprot->writeString(_iter487->second); + xfer += oprot->writeString(_iter513->first); + xfer += oprot->writeString(_iter513->second); } xfer += oprot->writeMapEnd(); } @@ -11390,17 +11390,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->part_vals.clear(); - uint32_t _size488; - ::apache::thrift::protocol::TType _ktype489; - ::apache::thrift::protocol::TType _vtype490; - iprot->readMapBegin(_ktype489, _vtype490, _size488); - uint32_t _i492; - for (_i492 = 0; _i492 < _size488; ++_i492) + uint32_t _size514; + ::apache::thrift::protocol::TType _ktype515; + ::apache::thrift::protocol::TType _vtype516; + iprot->readMapBegin(_ktype515, _vtype516, _size514); + uint32_t _i518; + for (_i518 = 0; _i518 < _size514; ++_i518) { - std::string _key493; - xfer += iprot->readString(_key493); - std::string& _val494 = this->part_vals[_key493]; - xfer += iprot->readString(_val494); + std::string _key519; + xfer += iprot->readString(_key519); + std::string& _val520 = this->part_vals[_key519]; + xfer += iprot->readString(_val520); } iprot->readMapEnd(); } @@ -11411,9 +11411,9 @@ break; case 4: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast495; - xfer += iprot->readI32(ecast495); - this->eventType = (PartitionEventType::type)ecast495; + int32_t ecast521; + xfer += iprot->readI32(ecast521); + this->eventType = (PartitionEventType::type)ecast521; this->__isset.eventType = true; } else { xfer += iprot->skip(ftype); @@ -11443,11 +11443,11 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->part_vals.size())); - std::map ::const_iterator _iter496; - for (_iter496 = this->part_vals.begin(); _iter496 != this->part_vals.end(); ++_iter496) + std::map ::const_iterator _iter522; + for (_iter522 = this->part_vals.begin(); _iter522 != this->part_vals.end(); ++_iter522) { - xfer += oprot->writeString(_iter496->first); - xfer += oprot->writeString(_iter496->second); + xfer += oprot->writeString(_iter522->first); + xfer += oprot->writeString(_iter522->second); } xfer += oprot->writeMapEnd(); } @@ -11472,11 +11472,11 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast((*(this->part_vals)).size())); - std::map ::const_iterator _iter497; - for (_iter497 = (*(this->part_vals)).begin(); _iter497 != (*(this->part_vals)).end(); ++_iter497) + std::map ::const_iterator _iter523; + for (_iter523 = (*(this->part_vals)).begin(); _iter523 != (*(this->part_vals)).end(); ++_iter523) { - xfer += oprot->writeString(_iter497->first); - xfer += oprot->writeString(_iter497->second); + xfer += oprot->writeString(_iter523->first); + xfer += oprot->writeString(_iter523->second); } xfer += oprot->writeMapEnd(); } @@ -12737,14 +12737,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size498; - ::apache::thrift::protocol::TType _etype501; - iprot->readListBegin(_etype501, _size498); - this->success.resize(_size498); - uint32_t _i502; - for (_i502 = 0; _i502 < _size498; ++_i502) + uint32_t _size524; + ::apache::thrift::protocol::TType _etype527; + iprot->readListBegin(_etype527, _size524); + this->success.resize(_size524); + uint32_t _i528; + for (_i528 = 0; _i528 < _size524; ++_i528) { - xfer += this->success[_i502].read(iprot); + xfer += this->success[_i528].read(iprot); } iprot->readListEnd(); } @@ -12791,10 +12791,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter503; - for (_iter503 = this->success.begin(); _iter503 != this->success.end(); ++_iter503) + std::vector ::const_iterator _iter529; + for (_iter529 = this->success.begin(); _iter529 != this->success.end(); ++_iter529) { - xfer += (*_iter503).write(oprot); + xfer += (*_iter529).write(oprot); } xfer += oprot->writeListEnd(); } @@ -12837,14 +12837,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size504; - ::apache::thrift::protocol::TType _etype507; - iprot->readListBegin(_etype507, _size504); - (*(this->success)).resize(_size504); - uint32_t _i508; - for (_i508 = 0; _i508 < _size504; ++_i508) + uint32_t _size530; + ::apache::thrift::protocol::TType _etype533; + iprot->readListBegin(_etype533, _size530); + (*(this->success)).resize(_size530); + uint32_t _i534; + for (_i534 = 0; _i534 < _size530; ++_i534) { - xfer += (*(this->success))[_i508].read(iprot); + xfer += (*(this->success))[_i534].read(iprot); } iprot->readListEnd(); } @@ -12995,14 +12995,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size509; - ::apache::thrift::protocol::TType _etype512; - iprot->readListBegin(_etype512, _size509); - this->success.resize(_size509); - uint32_t _i513; - for (_i513 = 0; _i513 < _size509; ++_i513) + uint32_t _size535; + ::apache::thrift::protocol::TType _etype538; + iprot->readListBegin(_etype538, _size535); + this->success.resize(_size535); + uint32_t _i539; + for (_i539 = 0; _i539 < _size535; ++_i539) { - xfer += iprot->readString(this->success[_i513]); + xfer += iprot->readString(this->success[_i539]); } iprot->readListEnd(); } @@ -13041,10 +13041,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter514; - for (_iter514 = this->success.begin(); _iter514 != this->success.end(); ++_iter514) + std::vector ::const_iterator _iter540; + for (_iter540 = this->success.begin(); _iter540 != this->success.end(); ++_iter540) { - xfer += oprot->writeString((*_iter514)); + xfer += oprot->writeString((*_iter540)); } xfer += oprot->writeListEnd(); } @@ -13083,14 +13083,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size515; - ::apache::thrift::protocol::TType _etype518; - iprot->readListBegin(_etype518, _size515); - (*(this->success)).resize(_size515); - uint32_t _i519; - for (_i519 = 0; _i519 < _size515; ++_i519) + uint32_t _size541; + ::apache::thrift::protocol::TType _etype544; + iprot->readListBegin(_etype544, _size541); + (*(this->success)).resize(_size541); + uint32_t _i545; + for (_i545 = 0; _i545 < _size541; ++_i545) { - xfer += iprot->readString((*(this->success))[_i519]); + xfer += iprot->readString((*(this->success))[_i545]); } iprot->readListEnd(); } @@ -13547,14 +13547,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size520; - ::apache::thrift::protocol::TType _etype523; - iprot->readListBegin(_etype523, _size520); - this->success.resize(_size520); - uint32_t _i524; - for (_i524 = 0; _i524 < _size520; ++_i524) + uint32_t _size546; + ::apache::thrift::protocol::TType _etype549; + iprot->readListBegin(_etype549, _size546); + this->success.resize(_size546); + uint32_t _i550; + for (_i550 = 0; _i550 < _size546; ++_i550) { - xfer += iprot->readString(this->success[_i524]); + xfer += iprot->readString(this->success[_i550]); } iprot->readListEnd(); } @@ -13593,10 +13593,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter525; - for (_iter525 = this->success.begin(); _iter525 != this->success.end(); ++_iter525) + std::vector ::const_iterator _iter551; + for (_iter551 = this->success.begin(); _iter551 != this->success.end(); ++_iter551) { - xfer += oprot->writeString((*_iter525)); + xfer += oprot->writeString((*_iter551)); } xfer += oprot->writeListEnd(); } @@ -13635,14 +13635,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size526; - ::apache::thrift::protocol::TType _etype529; - iprot->readListBegin(_etype529, _size526); - (*(this->success)).resize(_size526); - uint32_t _i530; - for (_i530 = 0; _i530 < _size526; ++_i530) + uint32_t _size552; + ::apache::thrift::protocol::TType _etype555; + iprot->readListBegin(_etype555, _size552); + (*(this->success)).resize(_size552); + uint32_t _i556; + for (_i556 = 0; _i556 < _size552; ++_i556) { - xfer += iprot->readString((*(this->success))[_i530]); + xfer += iprot->readString((*(this->success))[_i556]); } iprot->readListEnd(); } @@ -13709,9 +13709,9 @@ break; case 3: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast531; - xfer += iprot->readI32(ecast531); - this->principal_type = (PrincipalType::type)ecast531; + int32_t ecast557; + xfer += iprot->readI32(ecast557); + this->principal_type = (PrincipalType::type)ecast557; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -13727,9 +13727,9 @@ break; case 5: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast532; - xfer += iprot->readI32(ecast532); - this->grantorType = (PrincipalType::type)ecast532; + int32_t ecast558; + xfer += iprot->readI32(ecast558); + this->grantorType = (PrincipalType::type)ecast558; this->__isset.grantorType = true; } else { xfer += iprot->skip(ftype); @@ -13961,9 +13961,9 @@ break; case 3: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast533; - xfer += iprot->readI32(ecast533); - this->principal_type = (PrincipalType::type)ecast533; + int32_t ecast559; + xfer += iprot->readI32(ecast559); + this->principal_type = (PrincipalType::type)ecast559; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -14161,9 +14161,9 @@ break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast534; - xfer += iprot->readI32(ecast534); - this->principal_type = (PrincipalType::type)ecast534; + int32_t ecast560; + xfer += iprot->readI32(ecast560); + this->principal_type = (PrincipalType::type)ecast560; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -14233,14 +14233,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size535; - ::apache::thrift::protocol::TType _etype538; - iprot->readListBegin(_etype538, _size535); - this->success.resize(_size535); - uint32_t _i539; - for (_i539 = 0; _i539 < _size535; ++_i539) + uint32_t _size561; + ::apache::thrift::protocol::TType _etype564; + iprot->readListBegin(_etype564, _size561); + this->success.resize(_size561); + uint32_t _i565; + for (_i565 = 0; _i565 < _size561; ++_i565) { - xfer += this->success[_i539].read(iprot); + xfer += this->success[_i565].read(iprot); } iprot->readListEnd(); } @@ -14279,10 +14279,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter540; - for (_iter540 = this->success.begin(); _iter540 != this->success.end(); ++_iter540) + std::vector ::const_iterator _iter566; + for (_iter566 = this->success.begin(); _iter566 != this->success.end(); ++_iter566) { - xfer += (*_iter540).write(oprot); + xfer += (*_iter566).write(oprot); } xfer += oprot->writeListEnd(); } @@ -14321,14 +14321,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size541; - ::apache::thrift::protocol::TType _etype544; - iprot->readListBegin(_etype544, _size541); - (*(this->success)).resize(_size541); - uint32_t _i545; - for (_i545 = 0; _i545 < _size541; ++_i545) + uint32_t _size567; + ::apache::thrift::protocol::TType _etype570; + iprot->readListBegin(_etype570, _size567); + (*(this->success)).resize(_size567); + uint32_t _i571; + for (_i571 = 0; _i571 < _size567; ++_i571) { - xfer += (*(this->success))[_i545].read(iprot); + xfer += (*(this->success))[_i571].read(iprot); } iprot->readListEnd(); } @@ -14397,14 +14397,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size546; - ::apache::thrift::protocol::TType _etype549; - iprot->readListBegin(_etype549, _size546); - this->group_names.resize(_size546); - uint32_t _i550; - for (_i550 = 0; _i550 < _size546; ++_i550) + uint32_t _size572; + ::apache::thrift::protocol::TType _etype575; + iprot->readListBegin(_etype575, _size572); + this->group_names.resize(_size572); + uint32_t _i576; + for (_i576 = 0; _i576 < _size572; ++_i576) { - xfer += iprot->readString(this->group_names[_i550]); + xfer += iprot->readString(this->group_names[_i576]); } iprot->readListEnd(); } @@ -14437,10 +14437,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->group_names.size())); - std::vector ::const_iterator _iter551; - for (_iter551 = this->group_names.begin(); _iter551 != this->group_names.end(); ++_iter551) + std::vector ::const_iterator _iter577; + for (_iter577 = this->group_names.begin(); _iter577 != this->group_names.end(); ++_iter577) { - xfer += oprot->writeString((*_iter551)); + xfer += oprot->writeString((*_iter577)); } xfer += oprot->writeListEnd(); } @@ -14462,10 +14462,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->group_names)).size())); - std::vector ::const_iterator _iter552; - for (_iter552 = (*(this->group_names)).begin(); _iter552 != (*(this->group_names)).end(); ++_iter552) + std::vector ::const_iterator _iter578; + for (_iter578 = (*(this->group_names)).begin(); _iter578 != (*(this->group_names)).end(); ++_iter578) { - xfer += oprot->writeString((*_iter552)); + xfer += oprot->writeString((*_iter578)); } xfer += oprot->writeListEnd(); } @@ -14621,9 +14621,9 @@ break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast553; - xfer += iprot->readI32(ecast553); - this->principal_type = (PrincipalType::type)ecast553; + int32_t ecast579; + xfer += iprot->readI32(ecast579); + this->principal_type = (PrincipalType::type)ecast579; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -14707,14 +14707,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size554; - ::apache::thrift::protocol::TType _etype557; - iprot->readListBegin(_etype557, _size554); - this->success.resize(_size554); - uint32_t _i558; - for (_i558 = 0; _i558 < _size554; ++_i558) + uint32_t _size580; + ::apache::thrift::protocol::TType _etype583; + iprot->readListBegin(_etype583, _size580); + this->success.resize(_size580); + uint32_t _i584; + for (_i584 = 0; _i584 < _size580; ++_i584) { - xfer += this->success[_i558].read(iprot); + xfer += this->success[_i584].read(iprot); } iprot->readListEnd(); } @@ -14753,10 +14753,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->success.size())); - std::vector ::const_iterator _iter559; - for (_iter559 = this->success.begin(); _iter559 != this->success.end(); ++_iter559) + std::vector ::const_iterator _iter585; + for (_iter585 = this->success.begin(); _iter585 != this->success.end(); ++_iter585) { - xfer += (*_iter559).write(oprot); + xfer += (*_iter585).write(oprot); } xfer += oprot->writeListEnd(); } @@ -14795,14 +14795,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size560; - ::apache::thrift::protocol::TType _etype563; - iprot->readListBegin(_etype563, _size560); - (*(this->success)).resize(_size560); - uint32_t _i564; - for (_i564 = 0; _i564 < _size560; ++_i564) + uint32_t _size586; + ::apache::thrift::protocol::TType _etype589; + iprot->readListBegin(_etype589, _size586); + (*(this->success)).resize(_size586); + uint32_t _i590; + for (_i590 = 0; _i590 < _size586; ++_i590) { - xfer += (*(this->success))[_i564].read(iprot); + xfer += (*(this->success))[_i590].read(iprot); } iprot->readListEnd(); } @@ -15219,14 +15219,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size565; - ::apache::thrift::protocol::TType _etype568; - iprot->readListBegin(_etype568, _size565); - this->group_names.resize(_size565); - uint32_t _i569; - for (_i569 = 0; _i569 < _size565; ++_i569) + uint32_t _size591; + ::apache::thrift::protocol::TType _etype594; + iprot->readListBegin(_etype594, _size591); + this->group_names.resize(_size591); + uint32_t _i595; + for (_i595 = 0; _i595 < _size591; ++_i595) { - xfer += iprot->readString(this->group_names[_i569]); + xfer += iprot->readString(this->group_names[_i595]); } iprot->readListEnd(); } @@ -15256,10 +15256,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 2); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->group_names.size())); - std::vector ::const_iterator _iter570; - for (_iter570 = this->group_names.begin(); _iter570 != this->group_names.end(); ++_iter570) + std::vector ::const_iterator _iter596; + for (_iter596 = this->group_names.begin(); _iter596 != this->group_names.end(); ++_iter596) { - xfer += oprot->writeString((*_iter570)); + xfer += oprot->writeString((*_iter596)); } xfer += oprot->writeListEnd(); } @@ -15278,10 +15278,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 2); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast((*(this->group_names)).size())); - std::vector ::const_iterator _iter571; - for (_iter571 = (*(this->group_names)).begin(); _iter571 != (*(this->group_names)).end(); ++_iter571) + std::vector ::const_iterator _iter597; + for (_iter597 = (*(this->group_names)).begin(); _iter597 != (*(this->group_names)).end(); ++_iter597) { - xfer += oprot->writeString((*_iter571)); + xfer += oprot->writeString((*_iter597)); } xfer += oprot->writeListEnd(); } @@ -15315,14 +15315,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size572; - ::apache::thrift::protocol::TType _etype575; - iprot->readListBegin(_etype575, _size572); - this->success.resize(_size572); - uint32_t _i576; - for (_i576 = 0; _i576 < _size572; ++_i576) + uint32_t _size598; + ::apache::thrift::protocol::TType _etype601; + iprot->readListBegin(_etype601, _size598); + this->success.resize(_size598); + uint32_t _i602; + for (_i602 = 0; _i602 < _size598; ++_i602) { - xfer += iprot->readString(this->success[_i576]); + xfer += iprot->readString(this->success[_i602]); } iprot->readListEnd(); } @@ -15361,10 +15361,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->success.size())); - std::vector ::const_iterator _iter577; - for (_iter577 = this->success.begin(); _iter577 != this->success.end(); ++_iter577) + std::vector ::const_iterator _iter603; + for (_iter603 = this->success.begin(); _iter603 != this->success.end(); ++_iter603) { - xfer += oprot->writeString((*_iter577)); + xfer += oprot->writeString((*_iter603)); } xfer += oprot->writeListEnd(); } @@ -15403,14 +15403,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size578; - ::apache::thrift::protocol::TType _etype581; - iprot->readListBegin(_etype581, _size578); - (*(this->success)).resize(_size578); - uint32_t _i582; - for (_i582 = 0; _i582 < _size578; ++_i582) + uint32_t _size604; + ::apache::thrift::protocol::TType _etype607; + iprot->readListBegin(_etype607, _size604); + (*(this->success)).resize(_size604); + uint32_t _i608; + for (_i608 = 0; _i608 < _size604; ++_i608) { - xfer += iprot->readString((*(this->success))[_i582]); + xfer += iprot->readString((*(this->success))[_i608]); } iprot->readListEnd(); } Index: metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp =================================================================== --- metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp (revision 1371773) +++ metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp (working copy) @@ -1253,10 +1253,10 @@ return xfer; } -const char* StorageDescriptor::ascii_fingerprint = "11E4CE18F895C13812C853DFDCD1293F"; -const uint8_t StorageDescriptor::binary_fingerprint[16] = {0x11,0xE4,0xCE,0x18,0xF8,0x95,0xC1,0x38,0x12,0xC8,0x53,0xDF,0xDC,0xD1,0x29,0x3F}; +const char* StringList::ascii_fingerprint = "ACE4F644F0FDD289DDC4EE5B83BC13C0"; +const uint8_t StringList::binary_fingerprint[16] = {0xAC,0xE4,0xF6,0x44,0xF0,0xFD,0xD2,0x89,0xDD,0xC4,0xEE,0x5B,0x83,0xBC,0x13,0xC0}; -uint32_t StorageDescriptor::read(::apache::thrift::protocol::TProtocol* iprot) { +uint32_t StringList::read(::apache::thrift::protocol::TProtocol* iprot) { uint32_t xfer = 0; std::string fname; @@ -1279,18 +1279,92 @@ case 1: if (ftype == ::apache::thrift::protocol::T_LIST) { { - this->cols.clear(); + this->internalList.clear(); uint32_t _size79; ::apache::thrift::protocol::TType _etype82; iprot->readListBegin(_etype82, _size79); - this->cols.resize(_size79); + this->internalList.resize(_size79); uint32_t _i83; for (_i83 = 0; _i83 < _size79; ++_i83) { - xfer += this->cols[_i83].read(iprot); + xfer += iprot->readString(this->internalList[_i83]); } iprot->readListEnd(); } + this->__isset.internalList = true; + } else { + xfer += iprot->skip(ftype); + } + break; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + return xfer; +} + +uint32_t StringList::write(::apache::thrift::protocol::TProtocol* oprot) const { + uint32_t xfer = 0; + xfer += oprot->writeStructBegin("StringList"); + xfer += oprot->writeFieldBegin("internalList", ::apache::thrift::protocol::T_LIST, 1); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->internalList.size())); + std::vector ::const_iterator _iter84; + for (_iter84 = this->internalList.begin(); _iter84 != this->internalList.end(); ++_iter84) + { + xfer += oprot->writeString((*_iter84)); + } + xfer += oprot->writeListEnd(); + } + xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + +const char* StorageDescriptor::ascii_fingerprint = "691790B49AD9284F1A9EEB8C9B88C951"; +const uint8_t StorageDescriptor::binary_fingerprint[16] = {0x69,0x17,0x90,0xB4,0x9A,0xD9,0x28,0x4F,0x1A,0x9E,0xEB,0x8C,0x9B,0x88,0xC9,0x51}; + +uint32_t StorageDescriptor::read(::apache::thrift::protocol::TProtocol* iprot) { + + uint32_t xfer = 0; + std::string fname; + ::apache::thrift::protocol::TType ftype; + int16_t fid; + + xfer += iprot->readStructBegin(fname); + + using ::apache::thrift::protocol::TProtocolException; + + + while (true) + { + xfer += iprot->readFieldBegin(fname, ftype, fid); + if (ftype == ::apache::thrift::protocol::T_STOP) { + break; + } + switch (fid) + { + case 1: + if (ftype == ::apache::thrift::protocol::T_LIST) { + { + this->cols.clear(); + uint32_t _size85; + ::apache::thrift::protocol::TType _etype88; + iprot->readListBegin(_etype88, _size85); + this->cols.resize(_size85); + uint32_t _i89; + for (_i89 = 0; _i89 < _size85; ++_i89) + { + xfer += this->cols[_i89].read(iprot); + } + iprot->readListEnd(); + } this->__isset.cols = true; } else { xfer += iprot->skip(ftype); @@ -1348,14 +1422,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->bucketCols.clear(); - uint32_t _size84; - ::apache::thrift::protocol::TType _etype87; - iprot->readListBegin(_etype87, _size84); - this->bucketCols.resize(_size84); - uint32_t _i88; - for (_i88 = 0; _i88 < _size84; ++_i88) + uint32_t _size90; + ::apache::thrift::protocol::TType _etype93; + iprot->readListBegin(_etype93, _size90); + this->bucketCols.resize(_size90); + uint32_t _i94; + for (_i94 = 0; _i94 < _size90; ++_i94) { - xfer += iprot->readString(this->bucketCols[_i88]); + xfer += iprot->readString(this->bucketCols[_i94]); } iprot->readListEnd(); } @@ -1368,14 +1442,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->sortCols.clear(); - uint32_t _size89; - ::apache::thrift::protocol::TType _etype92; - iprot->readListBegin(_etype92, _size89); - this->sortCols.resize(_size89); - uint32_t _i93; - for (_i93 = 0; _i93 < _size89; ++_i93) + uint32_t _size95; + ::apache::thrift::protocol::TType _etype98; + iprot->readListBegin(_etype98, _size95); + this->sortCols.resize(_size95); + uint32_t _i99; + for (_i99 = 0; _i99 < _size95; ++_i99) { - xfer += this->sortCols[_i93].read(iprot); + xfer += this->sortCols[_i99].read(iprot); } iprot->readListEnd(); } @@ -1388,17 +1462,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->parameters.clear(); - uint32_t _size94; - ::apache::thrift::protocol::TType _ktype95; - ::apache::thrift::protocol::TType _vtype96; - iprot->readMapBegin(_ktype95, _vtype96, _size94); - uint32_t _i98; - for (_i98 = 0; _i98 < _size94; ++_i98) + uint32_t _size100; + ::apache::thrift::protocol::TType _ktype101; + ::apache::thrift::protocol::TType _vtype102; + iprot->readMapBegin(_ktype101, _vtype102, _size100); + uint32_t _i104; + for (_i104 = 0; _i104 < _size100; ++_i104) { - std::string _key99; - xfer += iprot->readString(_key99); - std::string& _val100 = this->parameters[_key99]; - xfer += iprot->readString(_val100); + std::string _key105; + xfer += iprot->readString(_key105); + std::string& _val106 = this->parameters[_key105]; + xfer += iprot->readString(_val106); } iprot->readMapEnd(); } @@ -1407,6 +1481,69 @@ xfer += iprot->skip(ftype); } break; + case 11: + if (ftype == ::apache::thrift::protocol::T_LIST) { + { + this->skewedColNames.clear(); + uint32_t _size107; + ::apache::thrift::protocol::TType _etype110; + iprot->readListBegin(_etype110, _size107); + this->skewedColNames.resize(_size107); + uint32_t _i111; + for (_i111 = 0; _i111 < _size107; ++_i111) + { + xfer += iprot->readString(this->skewedColNames[_i111]); + } + iprot->readListEnd(); + } + this->__isset.skewedColNames = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 12: + if (ftype == ::apache::thrift::protocol::T_LIST) { + { + this->skewedColValues.clear(); + uint32_t _size112; + ::apache::thrift::protocol::TType _etype115; + iprot->readListBegin(_etype115, _size112); + this->skewedColValues.resize(_size112); + uint32_t _i116; + for (_i116 = 0; _i116 < _size112; ++_i116) + { + xfer += this->skewedColValues[_i116].read(iprot); + } + iprot->readListEnd(); + } + this->__isset.skewedColValues = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 13: + if (ftype == ::apache::thrift::protocol::T_MAP) { + { + this->skewedColValueLocationMaps.clear(); + uint32_t _size117; + ::apache::thrift::protocol::TType _ktype118; + ::apache::thrift::protocol::TType _vtype119; + iprot->readMapBegin(_ktype118, _vtype119, _size117); + uint32_t _i121; + for (_i121 = 0; _i121 < _size117; ++_i121) + { + StringList _key122; + xfer += _key122.read(iprot); + std::string& _val123 = this->skewedColValueLocationMaps[_key122]; + xfer += iprot->readString(_val123); + } + iprot->readMapEnd(); + } + this->__isset.skewedColValueLocationMaps = true; + } else { + xfer += iprot->skip(ftype); + } + break; default: xfer += iprot->skip(ftype); break; @@ -1425,10 +1562,10 @@ xfer += oprot->writeFieldBegin("cols", ::apache::thrift::protocol::T_LIST, 1); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->cols.size())); - std::vector ::const_iterator _iter101; - for (_iter101 = this->cols.begin(); _iter101 != this->cols.end(); ++_iter101) + std::vector ::const_iterator _iter124; + for (_iter124 = this->cols.begin(); _iter124 != this->cols.end(); ++_iter124) { - xfer += (*_iter101).write(oprot); + xfer += (*_iter124).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1454,10 +1591,10 @@ xfer += oprot->writeFieldBegin("bucketCols", ::apache::thrift::protocol::T_LIST, 8); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->bucketCols.size())); - std::vector ::const_iterator _iter102; - for (_iter102 = this->bucketCols.begin(); _iter102 != this->bucketCols.end(); ++_iter102) + std::vector ::const_iterator _iter125; + for (_iter125 = this->bucketCols.begin(); _iter125 != this->bucketCols.end(); ++_iter125) { - xfer += oprot->writeString((*_iter102)); + xfer += oprot->writeString((*_iter125)); } xfer += oprot->writeListEnd(); } @@ -1465,10 +1602,10 @@ xfer += oprot->writeFieldBegin("sortCols", ::apache::thrift::protocol::T_LIST, 9); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->sortCols.size())); - std::vector ::const_iterator _iter103; - for (_iter103 = this->sortCols.begin(); _iter103 != this->sortCols.end(); ++_iter103) + std::vector ::const_iterator _iter126; + for (_iter126 = this->sortCols.begin(); _iter126 != this->sortCols.end(); ++_iter126) { - xfer += (*_iter103).write(oprot); + xfer += (*_iter126).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1476,22 +1613,56 @@ xfer += oprot->writeFieldBegin("parameters", ::apache::thrift::protocol::T_MAP, 10); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->parameters.size())); - std::map ::const_iterator _iter104; - for (_iter104 = this->parameters.begin(); _iter104 != this->parameters.end(); ++_iter104) + std::map ::const_iterator _iter127; + for (_iter127 = this->parameters.begin(); _iter127 != this->parameters.end(); ++_iter127) { - xfer += oprot->writeString(_iter104->first); - xfer += oprot->writeString(_iter104->second); + xfer += oprot->writeString(_iter127->first); + xfer += oprot->writeString(_iter127->second); } xfer += oprot->writeMapEnd(); } xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldBegin("skewedColNames", ::apache::thrift::protocol::T_LIST, 11); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->skewedColNames.size())); + std::vector ::const_iterator _iter128; + for (_iter128 = this->skewedColNames.begin(); _iter128 != this->skewedColNames.end(); ++_iter128) + { + xfer += oprot->writeString((*_iter128)); + } + xfer += oprot->writeListEnd(); + } + xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldBegin("skewedColValues", ::apache::thrift::protocol::T_LIST, 12); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->skewedColValues.size())); + std::vector ::const_iterator _iter129; + for (_iter129 = this->skewedColValues.begin(); _iter129 != this->skewedColValues.end(); ++_iter129) + { + xfer += (*_iter129).write(oprot); + } + xfer += oprot->writeListEnd(); + } + xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldBegin("skewedColValueLocationMaps", ::apache::thrift::protocol::T_MAP, 13); + { + xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRUCT, ::apache::thrift::protocol::T_STRING, static_cast(this->skewedColValueLocationMaps.size())); + std::map ::const_iterator _iter130; + for (_iter130 = this->skewedColValueLocationMaps.begin(); _iter130 != this->skewedColValueLocationMaps.end(); ++_iter130) + { + xfer += _iter130->first.write(oprot); + xfer += oprot->writeString(_iter130->second); + } + xfer += oprot->writeMapEnd(); + } + xfer += oprot->writeFieldEnd(); xfer += oprot->writeFieldStop(); xfer += oprot->writeStructEnd(); return xfer; } -const char* Table::ascii_fingerprint = "26BE788C09746068A2616712C9262900"; -const uint8_t Table::binary_fingerprint[16] = {0x26,0xBE,0x78,0x8C,0x09,0x74,0x60,0x68,0xA2,0x61,0x67,0x12,0xC9,0x26,0x29,0x00}; +const char* Table::ascii_fingerprint = "50989B7695370DCE66F2E535B20E0516"; +const uint8_t Table::binary_fingerprint[16] = {0x50,0x98,0x9B,0x76,0x95,0x37,0x0D,0xCE,0x66,0xF2,0xE5,0x35,0xB2,0x0E,0x05,0x16}; uint32_t Table::read(::apache::thrift::protocol::TProtocol* iprot) { @@ -1573,14 +1744,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->partitionKeys.clear(); - uint32_t _size105; - ::apache::thrift::protocol::TType _etype108; - iprot->readListBegin(_etype108, _size105); - this->partitionKeys.resize(_size105); - uint32_t _i109; - for (_i109 = 0; _i109 < _size105; ++_i109) + uint32_t _size131; + ::apache::thrift::protocol::TType _etype134; + iprot->readListBegin(_etype134, _size131); + this->partitionKeys.resize(_size131); + uint32_t _i135; + for (_i135 = 0; _i135 < _size131; ++_i135) { - xfer += this->partitionKeys[_i109].read(iprot); + xfer += this->partitionKeys[_i135].read(iprot); } iprot->readListEnd(); } @@ -1593,17 +1764,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->parameters.clear(); - uint32_t _size110; - ::apache::thrift::protocol::TType _ktype111; - ::apache::thrift::protocol::TType _vtype112; - iprot->readMapBegin(_ktype111, _vtype112, _size110); - uint32_t _i114; - for (_i114 = 0; _i114 < _size110; ++_i114) + uint32_t _size136; + ::apache::thrift::protocol::TType _ktype137; + ::apache::thrift::protocol::TType _vtype138; + iprot->readMapBegin(_ktype137, _vtype138, _size136); + uint32_t _i140; + for (_i140 = 0; _i140 < _size136; ++_i140) { - std::string _key115; - xfer += iprot->readString(_key115); - std::string& _val116 = this->parameters[_key115]; - xfer += iprot->readString(_val116); + std::string _key141; + xfer += iprot->readString(_key141); + std::string& _val142 = this->parameters[_key141]; + xfer += iprot->readString(_val142); } iprot->readMapEnd(); } @@ -1683,10 +1854,10 @@ xfer += oprot->writeFieldBegin("partitionKeys", ::apache::thrift::protocol::T_LIST, 8); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->partitionKeys.size())); - std::vector ::const_iterator _iter117; - for (_iter117 = this->partitionKeys.begin(); _iter117 != this->partitionKeys.end(); ++_iter117) + std::vector ::const_iterator _iter143; + for (_iter143 = this->partitionKeys.begin(); _iter143 != this->partitionKeys.end(); ++_iter143) { - xfer += (*_iter117).write(oprot); + xfer += (*_iter143).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1694,11 +1865,11 @@ xfer += oprot->writeFieldBegin("parameters", ::apache::thrift::protocol::T_MAP, 9); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->parameters.size())); - std::map ::const_iterator _iter118; - for (_iter118 = this->parameters.begin(); _iter118 != this->parameters.end(); ++_iter118) + std::map ::const_iterator _iter144; + for (_iter144 = this->parameters.begin(); _iter144 != this->parameters.end(); ++_iter144) { - xfer += oprot->writeString(_iter118->first); - xfer += oprot->writeString(_iter118->second); + xfer += oprot->writeString(_iter144->first); + xfer += oprot->writeString(_iter144->second); } xfer += oprot->writeMapEnd(); } @@ -1722,8 +1893,8 @@ return xfer; } -const char* Partition::ascii_fingerprint = "F480E1D1B8AEBDDB37F8E180C0F07395"; -const uint8_t Partition::binary_fingerprint[16] = {0xF4,0x80,0xE1,0xD1,0xB8,0xAE,0xBD,0xDB,0x37,0xF8,0xE1,0x80,0xC0,0xF0,0x73,0x95}; +const char* Partition::ascii_fingerprint = "1148E4552B5B8BA503D73D1534FF650F"; +const uint8_t Partition::binary_fingerprint[16] = {0x11,0x48,0xE4,0x55,0x2B,0x5B,0x8B,0xA5,0x03,0xD7,0x3D,0x15,0x34,0xFF,0x65,0x0F}; uint32_t Partition::read(::apache::thrift::protocol::TProtocol* iprot) { @@ -1749,14 +1920,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->values.clear(); - uint32_t _size119; - ::apache::thrift::protocol::TType _etype122; - iprot->readListBegin(_etype122, _size119); - this->values.resize(_size119); - uint32_t _i123; - for (_i123 = 0; _i123 < _size119; ++_i123) + uint32_t _size145; + ::apache::thrift::protocol::TType _etype148; + iprot->readListBegin(_etype148, _size145); + this->values.resize(_size145); + uint32_t _i149; + for (_i149 = 0; _i149 < _size145; ++_i149) { - xfer += iprot->readString(this->values[_i123]); + xfer += iprot->readString(this->values[_i149]); } iprot->readListEnd(); } @@ -1809,17 +1980,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->parameters.clear(); - uint32_t _size124; - ::apache::thrift::protocol::TType _ktype125; - ::apache::thrift::protocol::TType _vtype126; - iprot->readMapBegin(_ktype125, _vtype126, _size124); - uint32_t _i128; - for (_i128 = 0; _i128 < _size124; ++_i128) + uint32_t _size150; + ::apache::thrift::protocol::TType _ktype151; + ::apache::thrift::protocol::TType _vtype152; + iprot->readMapBegin(_ktype151, _vtype152, _size150); + uint32_t _i154; + for (_i154 = 0; _i154 < _size150; ++_i154) { - std::string _key129; - xfer += iprot->readString(_key129); - std::string& _val130 = this->parameters[_key129]; - xfer += iprot->readString(_val130); + std::string _key155; + xfer += iprot->readString(_key155); + std::string& _val156 = this->parameters[_key155]; + xfer += iprot->readString(_val156); } iprot->readMapEnd(); } @@ -1854,10 +2025,10 @@ xfer += oprot->writeFieldBegin("values", ::apache::thrift::protocol::T_LIST, 1); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->values.size())); - std::vector ::const_iterator _iter131; - for (_iter131 = this->values.begin(); _iter131 != this->values.end(); ++_iter131) + std::vector ::const_iterator _iter157; + for (_iter157 = this->values.begin(); _iter157 != this->values.end(); ++_iter157) { - xfer += oprot->writeString((*_iter131)); + xfer += oprot->writeString((*_iter157)); } xfer += oprot->writeListEnd(); } @@ -1880,11 +2051,11 @@ xfer += oprot->writeFieldBegin("parameters", ::apache::thrift::protocol::T_MAP, 7); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->parameters.size())); - std::map ::const_iterator _iter132; - for (_iter132 = this->parameters.begin(); _iter132 != this->parameters.end(); ++_iter132) + std::map ::const_iterator _iter158; + for (_iter158 = this->parameters.begin(); _iter158 != this->parameters.end(); ++_iter158) { - xfer += oprot->writeString(_iter132->first); - xfer += oprot->writeString(_iter132->second); + xfer += oprot->writeString(_iter158->first); + xfer += oprot->writeString(_iter158->second); } xfer += oprot->writeMapEnd(); } @@ -1899,8 +2070,8 @@ return xfer; } -const char* Index::ascii_fingerprint = "5FEE4F7E28935B644F207D74459F6A29"; -const uint8_t Index::binary_fingerprint[16] = {0x5F,0xEE,0x4F,0x7E,0x28,0x93,0x5B,0x64,0x4F,0x20,0x7D,0x74,0x45,0x9F,0x6A,0x29}; +const char* Index::ascii_fingerprint = "4AB92536C5CAB445FC7A0A8243FDE3B1"; +const uint8_t Index::binary_fingerprint[16] = {0x4A,0xB9,0x25,0x36,0xC5,0xCA,0xB4,0x45,0xFC,0x7A,0x0A,0x82,0x43,0xFD,0xE3,0xB1}; uint32_t Index::read(::apache::thrift::protocol::TProtocol* iprot) { @@ -1990,17 +2161,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->parameters.clear(); - uint32_t _size133; - ::apache::thrift::protocol::TType _ktype134; - ::apache::thrift::protocol::TType _vtype135; - iprot->readMapBegin(_ktype134, _vtype135, _size133); - uint32_t _i137; - for (_i137 = 0; _i137 < _size133; ++_i137) + uint32_t _size159; + ::apache::thrift::protocol::TType _ktype160; + ::apache::thrift::protocol::TType _vtype161; + iprot->readMapBegin(_ktype160, _vtype161, _size159); + uint32_t _i163; + for (_i163 = 0; _i163 < _size159; ++_i163) { - std::string _key138; - xfer += iprot->readString(_key138); - std::string& _val139 = this->parameters[_key138]; - xfer += iprot->readString(_val139); + std::string _key164; + xfer += iprot->readString(_key164); + std::string& _val165 = this->parameters[_key164]; + xfer += iprot->readString(_val165); } iprot->readMapEnd(); } @@ -2059,11 +2230,11 @@ xfer += oprot->writeFieldBegin("parameters", ::apache::thrift::protocol::T_MAP, 9); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->parameters.size())); - std::map ::const_iterator _iter140; - for (_iter140 = this->parameters.begin(); _iter140 != this->parameters.end(); ++_iter140) + std::map ::const_iterator _iter166; + for (_iter166 = this->parameters.begin(); _iter166 != this->parameters.end(); ++_iter166) { - xfer += oprot->writeString(_iter140->first); - xfer += oprot->writeString(_iter140->second); + xfer += oprot->writeString(_iter166->first); + xfer += oprot->writeString(_iter166->second); } xfer += oprot->writeMapEnd(); } @@ -2103,14 +2274,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->fieldSchemas.clear(); - uint32_t _size141; - ::apache::thrift::protocol::TType _etype144; - iprot->readListBegin(_etype144, _size141); - this->fieldSchemas.resize(_size141); - uint32_t _i145; - for (_i145 = 0; _i145 < _size141; ++_i145) + uint32_t _size167; + ::apache::thrift::protocol::TType _etype170; + iprot->readListBegin(_etype170, _size167); + this->fieldSchemas.resize(_size167); + uint32_t _i171; + for (_i171 = 0; _i171 < _size167; ++_i171) { - xfer += this->fieldSchemas[_i145].read(iprot); + xfer += this->fieldSchemas[_i171].read(iprot); } iprot->readListEnd(); } @@ -2123,17 +2294,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->properties.clear(); - uint32_t _size146; - ::apache::thrift::protocol::TType _ktype147; - ::apache::thrift::protocol::TType _vtype148; - iprot->readMapBegin(_ktype147, _vtype148, _size146); - uint32_t _i150; - for (_i150 = 0; _i150 < _size146; ++_i150) + uint32_t _size172; + ::apache::thrift::protocol::TType _ktype173; + ::apache::thrift::protocol::TType _vtype174; + iprot->readMapBegin(_ktype173, _vtype174, _size172); + uint32_t _i176; + for (_i176 = 0; _i176 < _size172; ++_i176) { - std::string _key151; - xfer += iprot->readString(_key151); - std::string& _val152 = this->properties[_key151]; - xfer += iprot->readString(_val152); + std::string _key177; + xfer += iprot->readString(_key177); + std::string& _val178 = this->properties[_key177]; + xfer += iprot->readString(_val178); } iprot->readMapEnd(); } @@ -2160,10 +2331,10 @@ xfer += oprot->writeFieldBegin("fieldSchemas", ::apache::thrift::protocol::T_LIST, 1); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast(this->fieldSchemas.size())); - std::vector ::const_iterator _iter153; - for (_iter153 = this->fieldSchemas.begin(); _iter153 != this->fieldSchemas.end(); ++_iter153) + std::vector ::const_iterator _iter179; + for (_iter179 = this->fieldSchemas.begin(); _iter179 != this->fieldSchemas.end(); ++_iter179) { - xfer += (*_iter153).write(oprot); + xfer += (*_iter179).write(oprot); } xfer += oprot->writeListEnd(); } @@ -2171,11 +2342,11 @@ xfer += oprot->writeFieldBegin("properties", ::apache::thrift::protocol::T_MAP, 2); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->properties.size())); - std::map ::const_iterator _iter154; - for (_iter154 = this->properties.begin(); _iter154 != this->properties.end(); ++_iter154) + std::map ::const_iterator _iter180; + for (_iter180 = this->properties.begin(); _iter180 != this->properties.end(); ++_iter180) { - xfer += oprot->writeString(_iter154->first); - xfer += oprot->writeString(_iter154->second); + xfer += oprot->writeString(_iter180->first); + xfer += oprot->writeString(_iter180->second); } xfer += oprot->writeMapEnd(); } @@ -2212,17 +2383,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->properties.clear(); - uint32_t _size155; - ::apache::thrift::protocol::TType _ktype156; - ::apache::thrift::protocol::TType _vtype157; - iprot->readMapBegin(_ktype156, _vtype157, _size155); - uint32_t _i159; - for (_i159 = 0; _i159 < _size155; ++_i159) + uint32_t _size181; + ::apache::thrift::protocol::TType _ktype182; + ::apache::thrift::protocol::TType _vtype183; + iprot->readMapBegin(_ktype182, _vtype183, _size181); + uint32_t _i185; + for (_i185 = 0; _i185 < _size181; ++_i185) { - std::string _key160; - xfer += iprot->readString(_key160); - std::string& _val161 = this->properties[_key160]; - xfer += iprot->readString(_val161); + std::string _key186; + xfer += iprot->readString(_key186); + std::string& _val187 = this->properties[_key186]; + xfer += iprot->readString(_val187); } iprot->readMapEnd(); } @@ -2249,11 +2420,11 @@ xfer += oprot->writeFieldBegin("properties", ::apache::thrift::protocol::T_MAP, 1); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->properties.size())); - std::map ::const_iterator _iter162; - for (_iter162 = this->properties.begin(); _iter162 != this->properties.end(); ++_iter162) + std::map ::const_iterator _iter188; + for (_iter188 = this->properties.begin(); _iter188 != this->properties.end(); ++_iter188) { - xfer += oprot->writeString(_iter162->first); - xfer += oprot->writeString(_iter162->second); + xfer += oprot->writeString(_iter188->first); + xfer += oprot->writeString(_iter188->second); } xfer += oprot->writeMapEnd(); } Index: metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h =================================================================== --- metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h (revision 1371773) +++ metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h (working copy) @@ -774,8 +774,49 @@ }; +typedef struct _StringList__isset { + _StringList__isset() : internalList(false) {} + bool internalList; +} _StringList__isset; + +class StringList { + public: + + static const char* ascii_fingerprint; // = "ACE4F644F0FDD289DDC4EE5B83BC13C0"; + static const uint8_t binary_fingerprint[16]; // = {0xAC,0xE4,0xF6,0x44,0xF0,0xFD,0xD2,0x89,0xDD,0xC4,0xEE,0x5B,0x83,0xBC,0x13,0xC0}; + + StringList() { + } + + virtual ~StringList() throw() {} + + std::vector internalList; + + _StringList__isset __isset; + + void __set_internalList(const std::vector & val) { + internalList = val; + } + + bool operator == (const StringList & rhs) const + { + if (!(internalList == rhs.internalList)) + return false; + return true; + } + bool operator != (const StringList &rhs) const { + return !(*this == rhs); + } + + bool operator < (const StringList & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + +}; + 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) {} + _StorageDescriptor__isset() : cols(false), location(false), inputFormat(false), outputFormat(false), compressed(false), numBuckets(false), serdeInfo(false), bucketCols(false), sortCols(false), parameters(false), skewedColNames(false), skewedColValues(false), skewedColValueLocationMaps(false) {} bool cols; bool location; bool inputFormat; @@ -786,13 +827,16 @@ bool bucketCols; bool sortCols; bool parameters; + bool skewedColNames; + bool skewedColValues; + bool skewedColValueLocationMaps; } _StorageDescriptor__isset; class StorageDescriptor { public: - static const char* ascii_fingerprint; // = "11E4CE18F895C13812C853DFDCD1293F"; - static const uint8_t binary_fingerprint[16]; // = {0x11,0xE4,0xCE,0x18,0xF8,0x95,0xC1,0x38,0x12,0xC8,0x53,0xDF,0xDC,0xD1,0x29,0x3F}; + static const char* ascii_fingerprint; // = "691790B49AD9284F1A9EEB8C9B88C951"; + static const uint8_t binary_fingerprint[16]; // = {0x69,0x17,0x90,0xB4,0x9A,0xD9,0x28,0x4F,0x1A,0x9E,0xEB,0x8C,0x9B,0x88,0xC9,0x51}; StorageDescriptor() : location(""), inputFormat(""), outputFormat(""), compressed(0), numBuckets(0) { } @@ -809,6 +853,9 @@ std::vector bucketCols; std::vector sortCols; std::map parameters; + std::vector skewedColNames; + std::vector skewedColValues; + std::map skewedColValueLocationMaps; _StorageDescriptor__isset __isset; @@ -852,6 +899,18 @@ parameters = val; } + void __set_skewedColNames(const std::vector & val) { + skewedColNames = val; + } + + void __set_skewedColValues(const std::vector & val) { + skewedColValues = val; + } + + void __set_skewedColValueLocationMaps(const std::map & val) { + skewedColValueLocationMaps = val; + } + bool operator == (const StorageDescriptor & rhs) const { if (!(cols == rhs.cols)) @@ -874,6 +933,12 @@ return false; if (!(parameters == rhs.parameters)) return false; + if (!(skewedColNames == rhs.skewedColNames)) + return false; + if (!(skewedColValues == rhs.skewedColValues)) + return false; + if (!(skewedColValueLocationMaps == rhs.skewedColValueLocationMaps)) + return false; return true; } bool operator != (const StorageDescriptor &rhs) const { @@ -907,8 +972,8 @@ class Table { public: - static const char* ascii_fingerprint; // = "26BE788C09746068A2616712C9262900"; - static const uint8_t binary_fingerprint[16]; // = {0x26,0xBE,0x78,0x8C,0x09,0x74,0x60,0x68,0xA2,0x61,0x67,0x12,0xC9,0x26,0x29,0x00}; + static const char* ascii_fingerprint; // = "50989B7695370DCE66F2E535B20E0516"; + static const uint8_t binary_fingerprint[16]; // = {0x50,0x98,0x9B,0x76,0x95,0x37,0x0D,0xCE,0x66,0xF2,0xE5,0x35,0xB2,0x0E,0x05,0x16}; Table() : tableName(""), dbName(""), owner(""), createTime(0), lastAccessTime(0), retention(0), viewOriginalText(""), viewExpandedText(""), tableType("") { } @@ -1042,8 +1107,8 @@ class Partition { public: - static const char* ascii_fingerprint; // = "F480E1D1B8AEBDDB37F8E180C0F07395"; - static const uint8_t binary_fingerprint[16]; // = {0xF4,0x80,0xE1,0xD1,0xB8,0xAE,0xBD,0xDB,0x37,0xF8,0xE1,0x80,0xC0,0xF0,0x73,0x95}; + static const char* ascii_fingerprint; // = "1148E4552B5B8BA503D73D1534FF650F"; + static const uint8_t binary_fingerprint[16]; // = {0x11,0x48,0xE4,0x55,0x2B,0x5B,0x8B,0xA5,0x03,0xD7,0x3D,0x15,0x34,0xFF,0x65,0x0F}; Partition() : dbName(""), tableName(""), createTime(0), lastAccessTime(0) { } @@ -1144,8 +1209,8 @@ class Index { public: - static const char* ascii_fingerprint; // = "5FEE4F7E28935B644F207D74459F6A29"; - static const uint8_t binary_fingerprint[16]; // = {0x5F,0xEE,0x4F,0x7E,0x28,0x93,0x5B,0x64,0x4F,0x20,0x7D,0x74,0x45,0x9F,0x6A,0x29}; + static const char* ascii_fingerprint; // = "4AB92536C5CAB445FC7A0A8243FDE3B1"; + static const uint8_t binary_fingerprint[16]; // = {0x4A,0xB9,0x25,0x36,0xC5,0xCA,0xB4,0x45,0xFC,0x7A,0x0A,0x82,0x43,0xFD,0xE3,0xB1}; Index() : indexName(""), indexHandlerClass(""), dbName(""), origTableName(""), createTime(0), lastAccessTime(0), indexTableName(""), deferredRebuild(0) { } Index: metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb =================================================================== --- metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb (revision 1371773) +++ metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb (working copy) @@ -288,6 +288,22 @@ ::Thrift::Struct.generate_accessors self end +class StringList + include ::Thrift::Struct, ::Thrift::Struct_Union + INTERNALLIST = 1 + + FIELDS = { + INTERNALLIST => {:type => ::Thrift::Types::LIST, :name => 'internalList', :element => {:type => ::Thrift::Types::STRING}} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self +end + class StorageDescriptor include ::Thrift::Struct, ::Thrift::Struct_Union COLS = 1 @@ -300,6 +316,9 @@ BUCKETCOLS = 8 SORTCOLS = 9 PARAMETERS = 10 + SKEWEDCOLNAMES = 11 + SKEWEDCOLVALUES = 12 + SKEWEDCOLVALUELOCATIONMAPS = 13 FIELDS = { COLS => {:type => ::Thrift::Types::LIST, :name => 'cols', :element => {:type => ::Thrift::Types::STRUCT, :class => FieldSchema}}, @@ -311,7 +330,10 @@ SERDEINFO => {:type => ::Thrift::Types::STRUCT, :name => 'serdeInfo', :class => SerDeInfo}, 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}} + PARAMETERS => {:type => ::Thrift::Types::MAP, :name => 'parameters', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}}, + SKEWEDCOLNAMES => {:type => ::Thrift::Types::LIST, :name => 'skewedColNames', :element => {:type => ::Thrift::Types::STRING}}, + SKEWEDCOLVALUES => {:type => ::Thrift::Types::LIST, :name => 'skewedColValues', :element => {:type => ::Thrift::Types::STRUCT, :class => StringList}}, + SKEWEDCOLVALUELOCATIONMAPS => {:type => ::Thrift::Types::MAP, :name => 'skewedColValueLocationMaps', :key => {:type => ::Thrift::Types::STRUCT, :class => StringList}, :value => {:type => ::Thrift::Types::STRING}} } def struct_fields; FIELDS; end Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java (revision 1371773) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java (working copy) @@ -9632,13 +9632,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list103 = iprot.readListBegin(); - this.success = new ArrayList(_list103.size); - for (int _i104 = 0; _i104 < _list103.size; ++_i104) + org.apache.thrift.protocol.TList _list120 = iprot.readListBegin(); + this.success = new ArrayList(_list120.size); + for (int _i121 = 0; _i121 < _list120.size; ++_i121) { - String _elem105; // required - _elem105 = iprot.readString(); - this.success.add(_elem105); + String _elem122; // required + _elem122 = iprot.readString(); + this.success.add(_elem122); } iprot.readListEnd(); } @@ -9670,9 +9670,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter106 : this.success) + for (String _iter123 : this.success) { - oprot.writeString(_iter106); + oprot.writeString(_iter123); } oprot.writeListEnd(); } @@ -10264,13 +10264,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list107 = iprot.readListBegin(); - this.success = new ArrayList(_list107.size); - for (int _i108 = 0; _i108 < _list107.size; ++_i108) + org.apache.thrift.protocol.TList _list124 = iprot.readListBegin(); + this.success = new ArrayList(_list124.size); + for (int _i125 = 0; _i125 < _list124.size; ++_i125) { - String _elem109; // required - _elem109 = iprot.readString(); - this.success.add(_elem109); + String _elem126; // required + _elem126 = iprot.readString(); + this.success.add(_elem126); } iprot.readListEnd(); } @@ -10302,9 +10302,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter110 : this.success) + for (String _iter127 : this.success) { - oprot.writeString(_iter110); + oprot.writeString(_iter127); } oprot.writeListEnd(); } @@ -14249,16 +14249,16 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map111 = iprot.readMapBegin(); - this.success = new HashMap(2*_map111.size); - for (int _i112 = 0; _i112 < _map111.size; ++_i112) + org.apache.thrift.protocol.TMap _map128 = iprot.readMapBegin(); + this.success = new HashMap(2*_map128.size); + for (int _i129 = 0; _i129 < _map128.size; ++_i129) { - String _key113; // required - Type _val114; // required - _key113 = iprot.readString(); - _val114 = new Type(); - _val114.read(iprot); - this.success.put(_key113, _val114); + String _key130; // required + Type _val131; // required + _key130 = iprot.readString(); + _val131 = new Type(); + _val131.read(iprot); + this.success.put(_key130, _val131); } iprot.readMapEnd(); } @@ -14290,10 +14290,10 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Map.Entry _iter115 : this.success.entrySet()) + for (Map.Entry _iter132 : this.success.entrySet()) { - oprot.writeString(_iter115.getKey()); - _iter115.getValue().write(oprot); + oprot.writeString(_iter132.getKey()); + _iter132.getValue().write(oprot); } oprot.writeMapEnd(); } @@ -15223,14 +15223,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list116 = iprot.readListBegin(); - this.success = new ArrayList(_list116.size); - for (int _i117 = 0; _i117 < _list116.size; ++_i117) + org.apache.thrift.protocol.TList _list133 = iprot.readListBegin(); + this.success = new ArrayList(_list133.size); + for (int _i134 = 0; _i134 < _list133.size; ++_i134) { - FieldSchema _elem118; // required - _elem118 = new FieldSchema(); - _elem118.read(iprot); - this.success.add(_elem118); + FieldSchema _elem135; // required + _elem135 = new FieldSchema(); + _elem135.read(iprot); + this.success.add(_elem135); } iprot.readListEnd(); } @@ -15278,9 +15278,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (FieldSchema _iter119 : this.success) + for (FieldSchema _iter136 : this.success) { - _iter119.write(oprot); + _iter136.write(oprot); } oprot.writeListEnd(); } @@ -16234,14 +16234,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list120 = iprot.readListBegin(); - this.success = new ArrayList(_list120.size); - for (int _i121 = 0; _i121 < _list120.size; ++_i121) + org.apache.thrift.protocol.TList _list137 = iprot.readListBegin(); + this.success = new ArrayList(_list137.size); + for (int _i138 = 0; _i138 < _list137.size; ++_i138) { - FieldSchema _elem122; // required - _elem122 = new FieldSchema(); - _elem122.read(iprot); - this.success.add(_elem122); + FieldSchema _elem139; // required + _elem139 = new FieldSchema(); + _elem139.read(iprot); + this.success.add(_elem139); } iprot.readListEnd(); } @@ -16289,9 +16289,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (FieldSchema _iter123 : this.success) + for (FieldSchema _iter140 : this.success) { - _iter123.write(oprot); + _iter140.write(oprot); } oprot.writeListEnd(); } @@ -19838,13 +19838,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list124 = iprot.readListBegin(); - this.success = new ArrayList(_list124.size); - for (int _i125 = 0; _i125 < _list124.size; ++_i125) + org.apache.thrift.protocol.TList _list141 = iprot.readListBegin(); + this.success = new ArrayList(_list141.size); + for (int _i142 = 0; _i142 < _list141.size; ++_i142) { - String _elem126; // required - _elem126 = iprot.readString(); - this.success.add(_elem126); + String _elem143; // required + _elem143 = iprot.readString(); + this.success.add(_elem143); } iprot.readListEnd(); } @@ -19876,9 +19876,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter127 : this.success) + for (String _iter144 : this.success) { - oprot.writeString(_iter127); + oprot.writeString(_iter144); } oprot.writeListEnd(); } @@ -20569,13 +20569,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list128 = iprot.readListBegin(); - this.success = new ArrayList(_list128.size); - for (int _i129 = 0; _i129 < _list128.size; ++_i129) + org.apache.thrift.protocol.TList _list145 = iprot.readListBegin(); + this.success = new ArrayList(_list145.size); + for (int _i146 = 0; _i146 < _list145.size; ++_i146) { - String _elem130; // required - _elem130 = iprot.readString(); - this.success.add(_elem130); + String _elem147; // required + _elem147 = iprot.readString(); + this.success.add(_elem147); } iprot.readListEnd(); } @@ -20607,9 +20607,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter131 : this.success) + for (String _iter148 : this.success) { - oprot.writeString(_iter131); + oprot.writeString(_iter148); } oprot.writeListEnd(); } @@ -21887,13 +21887,13 @@ case 2: // TBL_NAMES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list132 = iprot.readListBegin(); - this.tbl_names = new ArrayList(_list132.size); - for (int _i133 = 0; _i133 < _list132.size; ++_i133) + org.apache.thrift.protocol.TList _list149 = iprot.readListBegin(); + this.tbl_names = new ArrayList(_list149.size); + for (int _i150 = 0; _i150 < _list149.size; ++_i150) { - String _elem134; // required - _elem134 = iprot.readString(); - this.tbl_names.add(_elem134); + String _elem151; // required + _elem151 = iprot.readString(); + this.tbl_names.add(_elem151); } iprot.readListEnd(); } @@ -21923,9 +21923,9 @@ oprot.writeFieldBegin(TBL_NAMES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.tbl_names.size())); - for (String _iter135 : this.tbl_names) + for (String _iter152 : this.tbl_names) { - oprot.writeString(_iter135); + oprot.writeString(_iter152); } oprot.writeListEnd(); } @@ -22457,14 +22457,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list136 = iprot.readListBegin(); - this.success = new ArrayList
(_list136.size); - for (int _i137 = 0; _i137 < _list136.size; ++_i137) + org.apache.thrift.protocol.TList _list153 = iprot.readListBegin(); + this.success = new ArrayList
(_list153.size); + for (int _i154 = 0; _i154 < _list153.size; ++_i154) { - Table _elem138; // required - _elem138 = new Table(); - _elem138.read(iprot); - this.success.add(_elem138); + Table _elem155; // required + _elem155 = new Table(); + _elem155.read(iprot); + this.success.add(_elem155); } iprot.readListEnd(); } @@ -22512,9 +22512,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Table _iter139 : this.success) + for (Table _iter156 : this.success) { - _iter139.write(oprot); + _iter156.write(oprot); } oprot.writeListEnd(); } @@ -23563,13 +23563,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list140 = iprot.readListBegin(); - this.success = new ArrayList(_list140.size); - for (int _i141 = 0; _i141 < _list140.size; ++_i141) + org.apache.thrift.protocol.TList _list157 = iprot.readListBegin(); + this.success = new ArrayList(_list157.size); + for (int _i158 = 0; _i158 < _list157.size; ++_i158) { - String _elem142; // required - _elem142 = iprot.readString(); - this.success.add(_elem142); + String _elem159; // required + _elem159 = iprot.readString(); + this.success.add(_elem159); } iprot.readListEnd(); } @@ -23617,9 +23617,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter143 : this.success) + for (String _iter160 : this.success) { - oprot.writeString(_iter143); + oprot.writeString(_iter160); } oprot.writeListEnd(); } @@ -27676,14 +27676,14 @@ case 1: // NEW_PARTS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list144 = iprot.readListBegin(); - this.new_parts = new ArrayList(_list144.size); - for (int _i145 = 0; _i145 < _list144.size; ++_i145) + org.apache.thrift.protocol.TList _list161 = iprot.readListBegin(); + this.new_parts = new ArrayList(_list161.size); + for (int _i162 = 0; _i162 < _list161.size; ++_i162) { - Partition _elem146; // required - _elem146 = new Partition(); - _elem146.read(iprot); - this.new_parts.add(_elem146); + Partition _elem163; // required + _elem163 = new Partition(); + _elem163.read(iprot); + this.new_parts.add(_elem163); } iprot.readListEnd(); } @@ -27708,9 +27708,9 @@ oprot.writeFieldBegin(NEW_PARTS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.new_parts.size())); - for (Partition _iter147 : this.new_parts) + for (Partition _iter164 : this.new_parts) { - _iter147.write(oprot); + _iter164.write(oprot); } oprot.writeListEnd(); } @@ -28756,13 +28756,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list148 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list148.size); - for (int _i149 = 0; _i149 < _list148.size; ++_i149) + org.apache.thrift.protocol.TList _list165 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list165.size); + for (int _i166 = 0; _i166 < _list165.size; ++_i166) { - String _elem150; // required - _elem150 = iprot.readString(); - this.part_vals.add(_elem150); + String _elem167; // required + _elem167 = iprot.readString(); + this.part_vals.add(_elem167); } iprot.readListEnd(); } @@ -28797,9 +28797,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter151 : this.part_vals) + for (String _iter168 : this.part_vals) { - oprot.writeString(_iter151); + oprot.writeString(_iter168); } oprot.writeListEnd(); } @@ -31003,13 +31003,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list152 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list152.size); - for (int _i153 = 0; _i153 < _list152.size; ++_i153) + org.apache.thrift.protocol.TList _list169 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list169.size); + for (int _i170 = 0; _i170 < _list169.size; ++_i170) { - String _elem154; // required - _elem154 = iprot.readString(); - this.part_vals.add(_elem154); + String _elem171; // required + _elem171 = iprot.readString(); + this.part_vals.add(_elem171); } iprot.readListEnd(); } @@ -31052,9 +31052,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter155 : this.part_vals) + for (String _iter172 : this.part_vals) { - oprot.writeString(_iter155); + oprot.writeString(_iter172); } oprot.writeListEnd(); } @@ -33100,13 +33100,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list156 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list156.size); - for (int _i157 = 0; _i157 < _list156.size; ++_i157) + org.apache.thrift.protocol.TList _list173 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list173.size); + for (int _i174 = 0; _i174 < _list173.size; ++_i174) { - String _elem158; // required - _elem158 = iprot.readString(); - this.part_vals.add(_elem158); + String _elem175; // required + _elem175 = iprot.readString(); + this.part_vals.add(_elem175); } iprot.readListEnd(); } @@ -33141,9 +33141,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter159 : this.part_vals) + for (String _iter176 : this.part_vals) { - oprot.writeString(_iter159); + oprot.writeString(_iter176); } oprot.writeListEnd(); } @@ -34277,13 +34277,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list160 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list160.size); - for (int _i161 = 0; _i161 < _list160.size; ++_i161) + org.apache.thrift.protocol.TList _list177 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list177.size); + for (int _i178 = 0; _i178 < _list177.size; ++_i178) { - String _elem162; // required - _elem162 = iprot.readString(); - this.part_vals.add(_elem162); + String _elem179; // required + _elem179 = iprot.readString(); + this.part_vals.add(_elem179); } iprot.readListEnd(); } @@ -34301,13 +34301,13 @@ case 5: // GROUP_NAMES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list163 = iprot.readListBegin(); - this.group_names = new ArrayList(_list163.size); - for (int _i164 = 0; _i164 < _list163.size; ++_i164) + org.apache.thrift.protocol.TList _list180 = iprot.readListBegin(); + this.group_names = new ArrayList(_list180.size); + for (int _i181 = 0; _i181 < _list180.size; ++_i181) { - String _elem165; // required - _elem165 = iprot.readString(); - this.group_names.add(_elem165); + String _elem182; // required + _elem182 = iprot.readString(); + this.group_names.add(_elem182); } iprot.readListEnd(); } @@ -34342,9 +34342,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter166 : this.part_vals) + for (String _iter183 : this.part_vals) { - oprot.writeString(_iter166); + oprot.writeString(_iter183); } oprot.writeListEnd(); } @@ -34359,9 +34359,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.group_names.size())); - for (String _iter167 : this.group_names) + for (String _iter184 : this.group_names) { - oprot.writeString(_iter167); + oprot.writeString(_iter184); } oprot.writeListEnd(); } @@ -36794,14 +36794,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list168 = iprot.readListBegin(); - this.success = new ArrayList(_list168.size); - for (int _i169 = 0; _i169 < _list168.size; ++_i169) + org.apache.thrift.protocol.TList _list185 = iprot.readListBegin(); + this.success = new ArrayList(_list185.size); + for (int _i186 = 0; _i186 < _list185.size; ++_i186) { - Partition _elem170; // required - _elem170 = new Partition(); - _elem170.read(iprot); - this.success.add(_elem170); + Partition _elem187; // required + _elem187 = new Partition(); + _elem187.read(iprot); + this.success.add(_elem187); } iprot.readListEnd(); } @@ -36841,9 +36841,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Partition _iter171 : this.success) + for (Partition _iter188 : this.success) { - _iter171.write(oprot); + _iter188.write(oprot); } oprot.writeListEnd(); } @@ -37498,13 +37498,13 @@ case 5: // GROUP_NAMES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list172 = iprot.readListBegin(); - this.group_names = new ArrayList(_list172.size); - for (int _i173 = 0; _i173 < _list172.size; ++_i173) + org.apache.thrift.protocol.TList _list189 = iprot.readListBegin(); + this.group_names = new ArrayList(_list189.size); + for (int _i190 = 0; _i190 < _list189.size; ++_i190) { - String _elem174; // required - _elem174 = iprot.readString(); - this.group_names.add(_elem174); + String _elem191; // required + _elem191 = iprot.readString(); + this.group_names.add(_elem191); } iprot.readListEnd(); } @@ -37547,9 +37547,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.group_names.size())); - for (String _iter175 : this.group_names) + for (String _iter192 : this.group_names) { - oprot.writeString(_iter175); + oprot.writeString(_iter192); } oprot.writeListEnd(); } @@ -38030,14 +38030,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list176 = iprot.readListBegin(); - this.success = new ArrayList(_list176.size); - for (int _i177 = 0; _i177 < _list176.size; ++_i177) + org.apache.thrift.protocol.TList _list193 = iprot.readListBegin(); + this.success = new ArrayList(_list193.size); + for (int _i194 = 0; _i194 < _list193.size; ++_i194) { - Partition _elem178; // required - _elem178 = new Partition(); - _elem178.read(iprot); - this.success.add(_elem178); + Partition _elem195; // required + _elem195 = new Partition(); + _elem195.read(iprot); + this.success.add(_elem195); } iprot.readListEnd(); } @@ -38077,9 +38077,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Partition _iter179 : this.success) + for (Partition _iter196 : this.success) { - _iter179.write(oprot); + _iter196.write(oprot); } oprot.writeListEnd(); } @@ -38970,13 +38970,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list180 = iprot.readListBegin(); - this.success = new ArrayList(_list180.size); - for (int _i181 = 0; _i181 < _list180.size; ++_i181) + org.apache.thrift.protocol.TList _list197 = iprot.readListBegin(); + this.success = new ArrayList(_list197.size); + for (int _i198 = 0; _i198 < _list197.size; ++_i198) { - String _elem182; // required - _elem182 = iprot.readString(); - this.success.add(_elem182); + String _elem199; // required + _elem199 = iprot.readString(); + this.success.add(_elem199); } iprot.readListEnd(); } @@ -39008,9 +39008,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter183 : this.success) + for (String _iter200 : this.success) { - oprot.writeString(_iter183); + oprot.writeString(_iter200); } oprot.writeListEnd(); } @@ -39565,13 +39565,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list184 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list184.size); - for (int _i185 = 0; _i185 < _list184.size; ++_i185) + org.apache.thrift.protocol.TList _list201 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list201.size); + for (int _i202 = 0; _i202 < _list201.size; ++_i202) { - String _elem186; // required - _elem186 = iprot.readString(); - this.part_vals.add(_elem186); + String _elem203; // required + _elem203 = iprot.readString(); + this.part_vals.add(_elem203); } iprot.readListEnd(); } @@ -39614,9 +39614,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter187 : this.part_vals) + for (String _iter204 : this.part_vals) { - oprot.writeString(_iter187); + oprot.writeString(_iter204); } oprot.writeListEnd(); } @@ -40092,14 +40092,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list188 = iprot.readListBegin(); - this.success = new ArrayList(_list188.size); - for (int _i189 = 0; _i189 < _list188.size; ++_i189) + org.apache.thrift.protocol.TList _list205 = iprot.readListBegin(); + this.success = new ArrayList(_list205.size); + for (int _i206 = 0; _i206 < _list205.size; ++_i206) { - Partition _elem190; // required - _elem190 = new Partition(); - _elem190.read(iprot); - this.success.add(_elem190); + Partition _elem207; // required + _elem207 = new Partition(); + _elem207.read(iprot); + this.success.add(_elem207); } iprot.readListEnd(); } @@ -40139,9 +40139,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Partition _iter191 : this.success) + for (Partition _iter208 : this.success) { - _iter191.write(oprot); + _iter208.write(oprot); } oprot.writeListEnd(); } @@ -40874,13 +40874,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list192 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list192.size); - for (int _i193 = 0; _i193 < _list192.size; ++_i193) + org.apache.thrift.protocol.TList _list209 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list209.size); + for (int _i210 = 0; _i210 < _list209.size; ++_i210) { - String _elem194; // required - _elem194 = iprot.readString(); - this.part_vals.add(_elem194); + String _elem211; // required + _elem211 = iprot.readString(); + this.part_vals.add(_elem211); } iprot.readListEnd(); } @@ -40906,13 +40906,13 @@ case 6: // GROUP_NAMES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list195 = iprot.readListBegin(); - this.group_names = new ArrayList(_list195.size); - for (int _i196 = 0; _i196 < _list195.size; ++_i196) + org.apache.thrift.protocol.TList _list212 = iprot.readListBegin(); + this.group_names = new ArrayList(_list212.size); + for (int _i213 = 0; _i213 < _list212.size; ++_i213) { - String _elem197; // required - _elem197 = iprot.readString(); - this.group_names.add(_elem197); + String _elem214; // required + _elem214 = iprot.readString(); + this.group_names.add(_elem214); } iprot.readListEnd(); } @@ -40947,9 +40947,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter198 : this.part_vals) + for (String _iter215 : this.part_vals) { - oprot.writeString(_iter198); + oprot.writeString(_iter215); } oprot.writeListEnd(); } @@ -40967,9 +40967,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.group_names.size())); - for (String _iter199 : this.group_names) + for (String _iter216 : this.group_names) { - oprot.writeString(_iter199); + oprot.writeString(_iter216); } oprot.writeListEnd(); } @@ -41458,14 +41458,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list200 = iprot.readListBegin(); - this.success = new ArrayList(_list200.size); - for (int _i201 = 0; _i201 < _list200.size; ++_i201) + org.apache.thrift.protocol.TList _list217 = iprot.readListBegin(); + this.success = new ArrayList(_list217.size); + for (int _i218 = 0; _i218 < _list217.size; ++_i218) { - Partition _elem202; // required - _elem202 = new Partition(); - _elem202.read(iprot); - this.success.add(_elem202); + Partition _elem219; // required + _elem219 = new Partition(); + _elem219.read(iprot); + this.success.add(_elem219); } iprot.readListEnd(); } @@ -41505,9 +41505,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Partition _iter203 : this.success) + for (Partition _iter220 : this.success) { - _iter203.write(oprot); + _iter220.write(oprot); } oprot.writeListEnd(); } @@ -42074,13 +42074,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list204 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list204.size); - for (int _i205 = 0; _i205 < _list204.size; ++_i205) + org.apache.thrift.protocol.TList _list221 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list221.size); + for (int _i222 = 0; _i222 < _list221.size; ++_i222) { - String _elem206; // required - _elem206 = iprot.readString(); - this.part_vals.add(_elem206); + String _elem223; // required + _elem223 = iprot.readString(); + this.part_vals.add(_elem223); } iprot.readListEnd(); } @@ -42123,9 +42123,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter207 : this.part_vals) + for (String _iter224 : this.part_vals) { - oprot.writeString(_iter207); + oprot.writeString(_iter224); } oprot.writeListEnd(); } @@ -42601,13 +42601,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list208 = iprot.readListBegin(); - this.success = new ArrayList(_list208.size); - for (int _i209 = 0; _i209 < _list208.size; ++_i209) + org.apache.thrift.protocol.TList _list225 = iprot.readListBegin(); + this.success = new ArrayList(_list225.size); + for (int _i226 = 0; _i226 < _list225.size; ++_i226) { - String _elem210; // required - _elem210 = iprot.readString(); - this.success.add(_elem210); + String _elem227; // required + _elem227 = iprot.readString(); + this.success.add(_elem227); } iprot.readListEnd(); } @@ -42647,9 +42647,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter211 : this.success) + for (String _iter228 : this.success) { - oprot.writeString(_iter211); + oprot.writeString(_iter228); } oprot.writeListEnd(); } @@ -43706,14 +43706,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list212 = iprot.readListBegin(); - this.success = new ArrayList(_list212.size); - for (int _i213 = 0; _i213 < _list212.size; ++_i213) + org.apache.thrift.protocol.TList _list229 = iprot.readListBegin(); + this.success = new ArrayList(_list229.size); + for (int _i230 = 0; _i230 < _list229.size; ++_i230) { - Partition _elem214; // required - _elem214 = new Partition(); - _elem214.read(iprot); - this.success.add(_elem214); + Partition _elem231; // required + _elem231 = new Partition(); + _elem231.read(iprot); + this.success.add(_elem231); } iprot.readListEnd(); } @@ -43753,9 +43753,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Partition _iter215 : this.success) + for (Partition _iter232 : this.success) { - _iter215.write(oprot); + _iter232.write(oprot); } oprot.writeListEnd(); } @@ -44244,13 +44244,13 @@ case 3: // NAMES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list216 = iprot.readListBegin(); - this.names = new ArrayList(_list216.size); - for (int _i217 = 0; _i217 < _list216.size; ++_i217) + org.apache.thrift.protocol.TList _list233 = iprot.readListBegin(); + this.names = new ArrayList(_list233.size); + for (int _i234 = 0; _i234 < _list233.size; ++_i234) { - String _elem218; // required - _elem218 = iprot.readString(); - this.names.add(_elem218); + String _elem235; // required + _elem235 = iprot.readString(); + this.names.add(_elem235); } iprot.readListEnd(); } @@ -44285,9 +44285,9 @@ oprot.writeFieldBegin(NAMES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.names.size())); - for (String _iter219 : this.names) + for (String _iter236 : this.names) { - oprot.writeString(_iter219); + oprot.writeString(_iter236); } oprot.writeListEnd(); } @@ -44754,14 +44754,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list220 = iprot.readListBegin(); - this.success = new ArrayList(_list220.size); - for (int _i221 = 0; _i221 < _list220.size; ++_i221) + org.apache.thrift.protocol.TList _list237 = iprot.readListBegin(); + this.success = new ArrayList(_list237.size); + for (int _i238 = 0; _i238 < _list237.size; ++_i238) { - Partition _elem222; // required - _elem222 = new Partition(); - _elem222.read(iprot); - this.success.add(_elem222); + Partition _elem239; // required + _elem239 = new Partition(); + _elem239.read(iprot); + this.success.add(_elem239); } iprot.readListEnd(); } @@ -44801,9 +44801,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Partition _iter223 : this.success) + for (Partition _iter240 : this.success) { - _iter223.write(oprot); + _iter240.write(oprot); } oprot.writeListEnd(); } @@ -47223,13 +47223,13 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list224 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list224.size); - for (int _i225 = 0; _i225 < _list224.size; ++_i225) + org.apache.thrift.protocol.TList _list241 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list241.size); + for (int _i242 = 0; _i242 < _list241.size; ++_i242) { - String _elem226; // required - _elem226 = iprot.readString(); - this.part_vals.add(_elem226); + String _elem243; // required + _elem243 = iprot.readString(); + this.part_vals.add(_elem243); } iprot.readListEnd(); } @@ -47272,9 +47272,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (String _iter227 : this.part_vals) + for (String _iter244 : this.part_vals) { - oprot.writeString(_iter227); + oprot.writeString(_iter244); } oprot.writeListEnd(); } @@ -49163,13 +49163,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list228 = iprot.readListBegin(); - this.success = new ArrayList(_list228.size); - for (int _i229 = 0; _i229 < _list228.size; ++_i229) + org.apache.thrift.protocol.TList _list245 = iprot.readListBegin(); + this.success = new ArrayList(_list245.size); + for (int _i246 = 0; _i246 < _list245.size; ++_i246) { - String _elem230; // required - _elem230 = iprot.readString(); - this.success.add(_elem230); + String _elem247; // required + _elem247 = iprot.readString(); + this.success.add(_elem247); } iprot.readListEnd(); } @@ -49201,9 +49201,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter231 : this.success) + for (String _iter248 : this.success) { - oprot.writeString(_iter231); + oprot.writeString(_iter248); } oprot.writeListEnd(); } @@ -49899,15 +49899,15 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map232 = iprot.readMapBegin(); - this.success = new HashMap(2*_map232.size); - for (int _i233 = 0; _i233 < _map232.size; ++_i233) + org.apache.thrift.protocol.TMap _map249 = iprot.readMapBegin(); + this.success = new HashMap(2*_map249.size); + for (int _i250 = 0; _i250 < _map249.size; ++_i250) { - String _key234; // required - String _val235; // required - _key234 = iprot.readString(); - _val235 = iprot.readString(); - this.success.put(_key234, _val235); + String _key251; // required + String _val252; // required + _key251 = iprot.readString(); + _val252 = iprot.readString(); + this.success.put(_key251, _val252); } iprot.readMapEnd(); } @@ -49939,10 +49939,10 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (Map.Entry _iter236 : this.success.entrySet()) + for (Map.Entry _iter253 : this.success.entrySet()) { - oprot.writeString(_iter236.getKey()); - oprot.writeString(_iter236.getValue()); + oprot.writeString(_iter253.getKey()); + oprot.writeString(_iter253.getValue()); } oprot.writeMapEnd(); } @@ -50509,15 +50509,15 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map237 = iprot.readMapBegin(); - this.part_vals = new HashMap(2*_map237.size); - for (int _i238 = 0; _i238 < _map237.size; ++_i238) + org.apache.thrift.protocol.TMap _map254 = iprot.readMapBegin(); + this.part_vals = new HashMap(2*_map254.size); + for (int _i255 = 0; _i255 < _map254.size; ++_i255) { - String _key239; // required - String _val240; // required - _key239 = iprot.readString(); - _val240 = iprot.readString(); - this.part_vals.put(_key239, _val240); + String _key256; // required + String _val257; // required + _key256 = iprot.readString(); + _val257 = iprot.readString(); + this.part_vals.put(_key256, _val257); } iprot.readMapEnd(); } @@ -50559,10 +50559,10 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (Map.Entry _iter241 : this.part_vals.entrySet()) + for (Map.Entry _iter258 : this.part_vals.entrySet()) { - oprot.writeString(_iter241.getKey()); - oprot.writeString(_iter241.getValue()); + oprot.writeString(_iter258.getKey()); + oprot.writeString(_iter258.getValue()); } oprot.writeMapEnd(); } @@ -51912,15 +51912,15 @@ case 3: // PART_VALS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map242 = iprot.readMapBegin(); - this.part_vals = new HashMap(2*_map242.size); - for (int _i243 = 0; _i243 < _map242.size; ++_i243) + org.apache.thrift.protocol.TMap _map259 = iprot.readMapBegin(); + this.part_vals = new HashMap(2*_map259.size); + for (int _i260 = 0; _i260 < _map259.size; ++_i260) { - String _key244; // required - String _val245; // required - _key244 = iprot.readString(); - _val245 = iprot.readString(); - this.part_vals.put(_key244, _val245); + String _key261; // required + String _val262; // required + _key261 = iprot.readString(); + _val262 = iprot.readString(); + this.part_vals.put(_key261, _val262); } iprot.readMapEnd(); } @@ -51962,10 +51962,10 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.part_vals.size())); - for (Map.Entry _iter246 : this.part_vals.entrySet()) + for (Map.Entry _iter263 : this.part_vals.entrySet()) { - oprot.writeString(_iter246.getKey()); - oprot.writeString(_iter246.getValue()); + oprot.writeString(_iter263.getKey()); + oprot.writeString(_iter263.getValue()); } oprot.writeMapEnd(); } @@ -57787,14 +57787,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list247 = iprot.readListBegin(); - this.success = new ArrayList(_list247.size); - for (int _i248 = 0; _i248 < _list247.size; ++_i248) + org.apache.thrift.protocol.TList _list264 = iprot.readListBegin(); + this.success = new ArrayList(_list264.size); + for (int _i265 = 0; _i265 < _list264.size; ++_i265) { - Index _elem249; // required - _elem249 = new Index(); - _elem249.read(iprot); - this.success.add(_elem249); + Index _elem266; // required + _elem266 = new Index(); + _elem266.read(iprot); + this.success.add(_elem266); } iprot.readListEnd(); } @@ -57834,9 +57834,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Index _iter250 : this.success) + for (Index _iter267 : this.success) { - _iter250.write(oprot); + _iter267.write(oprot); } oprot.writeListEnd(); } @@ -58727,13 +58727,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list251 = iprot.readListBegin(); - this.success = new ArrayList(_list251.size); - for (int _i252 = 0; _i252 < _list251.size; ++_i252) + org.apache.thrift.protocol.TList _list268 = iprot.readListBegin(); + this.success = new ArrayList(_list268.size); + for (int _i269 = 0; _i269 < _list268.size; ++_i269) { - String _elem253; // required - _elem253 = iprot.readString(); - this.success.add(_elem253); + String _elem270; // required + _elem270 = iprot.readString(); + this.success.add(_elem270); } iprot.readListEnd(); } @@ -58765,9 +58765,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter254 : this.success) + for (String _iter271 : this.success) { - oprot.writeString(_iter254); + oprot.writeString(_iter271); } oprot.writeListEnd(); } @@ -60752,13 +60752,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list255 = iprot.readListBegin(); - this.success = new ArrayList(_list255.size); - for (int _i256 = 0; _i256 < _list255.size; ++_i256) + org.apache.thrift.protocol.TList _list272 = iprot.readListBegin(); + this.success = new ArrayList(_list272.size); + for (int _i273 = 0; _i273 < _list272.size; ++_i273) { - String _elem257; // required - _elem257 = iprot.readString(); - this.success.add(_elem257); + String _elem274; // required + _elem274 = iprot.readString(); + this.success.add(_elem274); } iprot.readListEnd(); } @@ -60790,9 +60790,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter258 : this.success) + for (String _iter275 : this.success) { - oprot.writeString(_iter258); + oprot.writeString(_iter275); } oprot.writeListEnd(); } @@ -63667,14 +63667,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list259 = iprot.readListBegin(); - this.success = new ArrayList(_list259.size); - for (int _i260 = 0; _i260 < _list259.size; ++_i260) + org.apache.thrift.protocol.TList _list276 = iprot.readListBegin(); + this.success = new ArrayList(_list276.size); + for (int _i277 = 0; _i277 < _list276.size; ++_i277) { - Role _elem261; // required - _elem261 = new Role(); - _elem261.read(iprot); - this.success.add(_elem261); + Role _elem278; // required + _elem278 = new Role(); + _elem278.read(iprot); + this.success.add(_elem278); } iprot.readListEnd(); } @@ -63706,9 +63706,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (Role _iter262 : this.success) + for (Role _iter279 : this.success) { - _iter262.write(oprot); + _iter279.write(oprot); } oprot.writeListEnd(); } @@ -64186,13 +64186,13 @@ case 3: // GROUP_NAMES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list263 = iprot.readListBegin(); - this.group_names = new ArrayList(_list263.size); - for (int _i264 = 0; _i264 < _list263.size; ++_i264) + org.apache.thrift.protocol.TList _list280 = iprot.readListBegin(); + this.group_names = new ArrayList(_list280.size); + for (int _i281 = 0; _i281 < _list280.size; ++_i281) { - String _elem265; // required - _elem265 = iprot.readString(); - this.group_names.add(_elem265); + String _elem282; // required + _elem282 = iprot.readString(); + this.group_names.add(_elem282); } iprot.readListEnd(); } @@ -64227,9 +64227,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.group_names.size())); - for (String _iter266 : this.group_names) + for (String _iter283 : this.group_names) { - oprot.writeString(_iter266); + oprot.writeString(_iter283); } oprot.writeListEnd(); } @@ -65517,14 +65517,14 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list267 = iprot.readListBegin(); - this.success = new ArrayList(_list267.size); - for (int _i268 = 0; _i268 < _list267.size; ++_i268) + org.apache.thrift.protocol.TList _list284 = iprot.readListBegin(); + this.success = new ArrayList(_list284.size); + for (int _i285 = 0; _i285 < _list284.size; ++_i285) { - HiveObjectPrivilege _elem269; // required - _elem269 = new HiveObjectPrivilege(); - _elem269.read(iprot); - this.success.add(_elem269); + HiveObjectPrivilege _elem286; // required + _elem286 = new HiveObjectPrivilege(); + _elem286.read(iprot); + this.success.add(_elem286); } iprot.readListEnd(); } @@ -65556,9 +65556,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (HiveObjectPrivilege _iter270 : this.success) + for (HiveObjectPrivilege _iter287 : this.success) { - _iter270.write(oprot); + _iter287.write(oprot); } oprot.writeListEnd(); } @@ -67349,13 +67349,13 @@ case 2: // GROUP_NAMES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list271 = iprot.readListBegin(); - this.group_names = new ArrayList(_list271.size); - for (int _i272 = 0; _i272 < _list271.size; ++_i272) + org.apache.thrift.protocol.TList _list288 = iprot.readListBegin(); + this.group_names = new ArrayList(_list288.size); + for (int _i289 = 0; _i289 < _list288.size; ++_i289) { - String _elem273; // required - _elem273 = iprot.readString(); - this.group_names.add(_elem273); + String _elem290; // required + _elem290 = iprot.readString(); + this.group_names.add(_elem290); } iprot.readListEnd(); } @@ -67385,9 +67385,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.group_names.size())); - for (String _iter274 : this.group_names) + for (String _iter291 : this.group_names) { - oprot.writeString(_iter274); + oprot.writeString(_iter291); } oprot.writeListEnd(); } @@ -67773,13 +67773,13 @@ case 0: // SUCCESS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list275 = iprot.readListBegin(); - this.success = new ArrayList(_list275.size); - for (int _i276 = 0; _i276 < _list275.size; ++_i276) + org.apache.thrift.protocol.TList _list292 = iprot.readListBegin(); + this.success = new ArrayList(_list292.size); + for (int _i293 = 0; _i293 < _list292.size; ++_i293) { - String _elem277; // required - _elem277 = iprot.readString(); - this.success.add(_elem277); + String _elem294; // required + _elem294 = iprot.readString(); + this.success.add(_elem294); } iprot.readListEnd(); } @@ -67811,9 +67811,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter278 : this.success) + for (String _iter295 : this.success) { - oprot.writeString(_iter278); + oprot.writeString(_iter295); } oprot.writeListEnd(); } Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java (revision 1371773) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java (working copy) @@ -376,14 +376,14 @@ case 1: // FIELD_SCHEMAS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list89 = iprot.readListBegin(); - this.fieldSchemas = new ArrayList(_list89.size); - for (int _i90 = 0; _i90 < _list89.size; ++_i90) + org.apache.thrift.protocol.TList _list106 = iprot.readListBegin(); + this.fieldSchemas = new ArrayList(_list106.size); + for (int _i107 = 0; _i107 < _list106.size; ++_i107) { - FieldSchema _elem91; // required - _elem91 = new FieldSchema(); - _elem91.read(iprot); - this.fieldSchemas.add(_elem91); + FieldSchema _elem108; // required + _elem108 = new FieldSchema(); + _elem108.read(iprot); + this.fieldSchemas.add(_elem108); } iprot.readListEnd(); } @@ -394,15 +394,15 @@ case 2: // PROPERTIES if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map92 = iprot.readMapBegin(); - this.properties = new HashMap(2*_map92.size); - for (int _i93 = 0; _i93 < _map92.size; ++_i93) + org.apache.thrift.protocol.TMap _map109 = iprot.readMapBegin(); + this.properties = new HashMap(2*_map109.size); + for (int _i110 = 0; _i110 < _map109.size; ++_i110) { - String _key94; // required - String _val95; // required - _key94 = iprot.readString(); - _val95 = iprot.readString(); - this.properties.put(_key94, _val95); + String _key111; // required + String _val112; // required + _key111 = iprot.readString(); + _val112 = iprot.readString(); + this.properties.put(_key111, _val112); } iprot.readMapEnd(); } @@ -427,9 +427,9 @@ oprot.writeFieldBegin(FIELD_SCHEMAS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.fieldSchemas.size())); - for (FieldSchema _iter96 : this.fieldSchemas) + for (FieldSchema _iter113 : this.fieldSchemas) { - _iter96.write(oprot); + _iter113.write(oprot); } oprot.writeListEnd(); } @@ -439,10 +439,10 @@ oprot.writeFieldBegin(PROPERTIES_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.properties.size())); - for (Map.Entry _iter97 : this.properties.entrySet()) + for (Map.Entry _iter114 : this.properties.entrySet()) { - oprot.writeString(_iter97.getKey()); - oprot.writeString(_iter97.getValue()); + oprot.writeString(_iter114.getKey()); + oprot.writeString(_iter114.getValue()); } oprot.writeMapEnd(); } Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StringList.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StringList.java (revision 0) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StringList.java (revision 0) @@ -0,0 +1,361 @@ +/** + * Autogenerated by Thrift Compiler (0.7.0) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + */ +package org.apache.hadoop.hive.metastore.api; + +import org.apache.commons.lang.builder.HashCodeBuilder; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class StringList implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StringList"); + + private static final org.apache.thrift.protocol.TField INTERNAL_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("internalList", org.apache.thrift.protocol.TType.LIST, (short)1); + + private List internalList; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + INTERNAL_LIST((short)1, "internalList"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // INTERNAL_LIST + return INTERNAL_LIST; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + + 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); + tmpMap.put(_Fields.INTERNAL_LIST, new org.apache.thrift.meta_data.FieldMetaData("internalList", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StringList.class, metaDataMap); + } + + public StringList() { + } + + public StringList( + List internalList) + { + this(); + this.internalList = internalList; + } + + /** + * Performs a deep copy on other. + */ + public StringList(StringList other) { + if (other.isSetInternalList()) { + List __this__internalList = new ArrayList(); + for (String other_element : other.internalList) { + __this__internalList.add(other_element); + } + this.internalList = __this__internalList; + } + } + + public StringList deepCopy() { + return new StringList(this); + } + + @Override + public void clear() { + this.internalList = null; + } + + public int getInternalListSize() { + return (this.internalList == null) ? 0 : this.internalList.size(); + } + + public java.util.Iterator getInternalListIterator() { + return (this.internalList == null) ? null : this.internalList.iterator(); + } + + public void addToInternalList(String elem) { + if (this.internalList == null) { + this.internalList = new ArrayList(); + } + this.internalList.add(elem); + } + + public List getInternalList() { + return this.internalList; + } + + public void setInternalList(List internalList) { + this.internalList = internalList; + } + + public void unsetInternalList() { + this.internalList = null; + } + + /** Returns true if field internalList is set (has been assigned a value) and false otherwise */ + public boolean isSetInternalList() { + return this.internalList != null; + } + + public void setInternalListIsSet(boolean value) { + if (!value) { + this.internalList = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case INTERNAL_LIST: + if (value == null) { + unsetInternalList(); + } else { + setInternalList((List)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case INTERNAL_LIST: + return getInternalList(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case INTERNAL_LIST: + return isSetInternalList(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof StringList) + return this.equals((StringList)that); + return false; + } + + public boolean equals(StringList that) { + if (that == null) + return false; + + boolean this_present_internalList = true && this.isSetInternalList(); + boolean that_present_internalList = true && that.isSetInternalList(); + if (this_present_internalList || that_present_internalList) { + if (!(this_present_internalList && that_present_internalList)) + return false; + if (!this.internalList.equals(that.internalList)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + HashCodeBuilder builder = new HashCodeBuilder(); + + boolean present_internalList = true && (isSetInternalList()); + builder.append(present_internalList); + if (present_internalList) + builder.append(internalList); + + return builder.toHashCode(); + } + + public int compareTo(StringList other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + StringList typedOther = (StringList)other; + + lastComparison = Boolean.valueOf(isSetInternalList()).compareTo(typedOther.isSetInternalList()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetInternalList()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.internalList, typedOther.internalList); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField field; + iprot.readStructBegin(); + while (true) + { + field = iprot.readFieldBegin(); + if (field.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (field.id) { + case 1: // INTERNAL_LIST + if (field.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list49 = iprot.readListBegin(); + this.internalList = new ArrayList(_list49.size); + for (int _i50 = 0; _i50 < _list49.size; ++_i50) + { + String _elem51; // required + _elem51 = iprot.readString(); + this.internalList.add(_elem51); + } + iprot.readListEnd(); + } + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (this.internalList != null) { + oprot.writeFieldBegin(INTERNAL_LIST_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.internalList.size())); + for (String _iter52 : this.internalList) + { + oprot.writeString(_iter52); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("StringList("); + boolean first = true; + + sb.append("internalList:"); + if (this.internalList == null) { + sb.append("null"); + } else { + sb.append(this.internalList); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + +} + Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java (revision 1371773) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java (working copy) @@ -815,13 +815,13 @@ case 1: // VALUES if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list75 = iprot.readListBegin(); - this.values = new ArrayList(_list75.size); - for (int _i76 = 0; _i76 < _list75.size; ++_i76) + org.apache.thrift.protocol.TList _list92 = iprot.readListBegin(); + this.values = new ArrayList(_list92.size); + for (int _i93 = 0; _i93 < _list92.size; ++_i93) { - String _elem77; // required - _elem77 = iprot.readString(); - this.values.add(_elem77); + String _elem94; // required + _elem94 = iprot.readString(); + this.values.add(_elem94); } iprot.readListEnd(); } @@ -870,15 +870,15 @@ case 7: // PARAMETERS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map78 = iprot.readMapBegin(); - this.parameters = new HashMap(2*_map78.size); - for (int _i79 = 0; _i79 < _map78.size; ++_i79) + org.apache.thrift.protocol.TMap _map95 = iprot.readMapBegin(); + this.parameters = new HashMap(2*_map95.size); + for (int _i96 = 0; _i96 < _map95.size; ++_i96) { - String _key80; // required - String _val81; // required - _key80 = iprot.readString(); - _val81 = iprot.readString(); - this.parameters.put(_key80, _val81); + String _key97; // required + String _val98; // required + _key97 = iprot.readString(); + _val98 = iprot.readString(); + this.parameters.put(_key97, _val98); } iprot.readMapEnd(); } @@ -911,9 +911,9 @@ oprot.writeFieldBegin(VALUES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.values.size())); - for (String _iter82 : this.values) + for (String _iter99 : this.values) { - oprot.writeString(_iter82); + oprot.writeString(_iter99); } oprot.writeListEnd(); } @@ -944,10 +944,10 @@ oprot.writeFieldBegin(PARAMETERS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.parameters.size())); - for (Map.Entry _iter83 : this.parameters.entrySet()) + for (Map.Entry _iter100 : this.parameters.entrySet()) { - oprot.writeString(_iter83.getKey()); - oprot.writeString(_iter83.getValue()); + oprot.writeString(_iter100.getKey()); + oprot.writeString(_iter100.getValue()); } oprot.writeMapEnd(); } Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java (revision 1371773) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java (working copy) @@ -1233,14 +1233,14 @@ case 8: // PARTITION_KEYS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list66 = iprot.readListBegin(); - this.partitionKeys = new ArrayList(_list66.size); - for (int _i67 = 0; _i67 < _list66.size; ++_i67) + org.apache.thrift.protocol.TList _list83 = iprot.readListBegin(); + this.partitionKeys = new ArrayList(_list83.size); + for (int _i84 = 0; _i84 < _list83.size; ++_i84) { - FieldSchema _elem68; // required - _elem68 = new FieldSchema(); - _elem68.read(iprot); - this.partitionKeys.add(_elem68); + FieldSchema _elem85; // required + _elem85 = new FieldSchema(); + _elem85.read(iprot); + this.partitionKeys.add(_elem85); } iprot.readListEnd(); } @@ -1251,15 +1251,15 @@ case 9: // PARAMETERS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map69 = iprot.readMapBegin(); - this.parameters = new HashMap(2*_map69.size); - for (int _i70 = 0; _i70 < _map69.size; ++_i70) + org.apache.thrift.protocol.TMap _map86 = iprot.readMapBegin(); + this.parameters = new HashMap(2*_map86.size); + for (int _i87 = 0; _i87 < _map86.size; ++_i87) { - String _key71; // required - String _val72; // required - _key71 = iprot.readString(); - _val72 = iprot.readString(); - this.parameters.put(_key71, _val72); + String _key88; // required + String _val89; // required + _key88 = iprot.readString(); + _val89 = iprot.readString(); + this.parameters.put(_key88, _val89); } iprot.readMapEnd(); } @@ -1342,9 +1342,9 @@ oprot.writeFieldBegin(PARTITION_KEYS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.partitionKeys.size())); - for (FieldSchema _iter73 : this.partitionKeys) + for (FieldSchema _iter90 : this.partitionKeys) { - _iter73.write(oprot); + _iter90.write(oprot); } oprot.writeListEnd(); } @@ -1354,10 +1354,10 @@ oprot.writeFieldBegin(PARAMETERS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.parameters.size())); - for (Map.Entry _iter74 : this.parameters.entrySet()) + for (Map.Entry _iter91 : this.parameters.entrySet()) { - oprot.writeString(_iter74.getKey()); - oprot.writeString(_iter74.getValue()); + oprot.writeString(_iter91.getKey()); + oprot.writeString(_iter91.getValue()); } oprot.writeMapEnd(); } Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java (revision 1371773) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java (working copy) @@ -34,6 +34,9 @@ private static final org.apache.thrift.protocol.TField BUCKET_COLS_FIELD_DESC = new org.apache.thrift.protocol.TField("bucketCols", org.apache.thrift.protocol.TType.LIST, (short)8); 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_COL_NAMES_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedColNames", org.apache.thrift.protocol.TType.LIST, (short)11); + private static final org.apache.thrift.protocol.TField SKEWED_COL_VALUES_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedColValues", org.apache.thrift.protocol.TType.LIST, (short)12); + private static final org.apache.thrift.protocol.TField SKEWED_COL_VALUE_LOCATION_MAPS_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedColValueLocationMaps", org.apache.thrift.protocol.TType.MAP, (short)13); private List cols; // required private String location; // required @@ -45,6 +48,9 @@ private List bucketCols; // required private List sortCols; // required private Map parameters; // required + private List skewedColNames; // required + private List skewedColValues; // required + private Map skewedColValueLocationMaps; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -57,7 +63,10 @@ SERDE_INFO((short)7, "serdeInfo"), BUCKET_COLS((short)8, "bucketCols"), SORT_COLS((short)9, "sortCols"), - PARAMETERS((short)10, "parameters"); + PARAMETERS((short)10, "parameters"), + SKEWED_COL_NAMES((short)11, "skewedColNames"), + SKEWED_COL_VALUES((short)12, "skewedColValues"), + SKEWED_COL_VALUE_LOCATION_MAPS((short)13, "skewedColValueLocationMaps"); private static final Map byName = new HashMap(); @@ -92,6 +101,12 @@ return SORT_COLS; case 10: // PARAMETERS return PARAMETERS; + case 11: // SKEWED_COL_NAMES + return SKEWED_COL_NAMES; + case 12: // SKEWED_COL_VALUES + return SKEWED_COL_VALUES; + case 13: // SKEWED_COL_VALUE_LOCATION_MAPS + return SKEWED_COL_VALUE_LOCATION_MAPS; default: return null; } @@ -164,6 +179,16 @@ new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + tmpMap.put(_Fields.SKEWED_COL_NAMES, new org.apache.thrift.meta_data.FieldMetaData("skewedColNames", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + tmpMap.put(_Fields.SKEWED_COL_VALUES, new org.apache.thrift.meta_data.FieldMetaData("skewedColValues", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StringList.class)))); + tmpMap.put(_Fields.SKEWED_COL_VALUE_LOCATION_MAPS, new org.apache.thrift.meta_data.FieldMetaData("skewedColValueLocationMaps", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StringList.class), + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StorageDescriptor.class, metaDataMap); } @@ -181,7 +206,10 @@ SerDeInfo serdeInfo, List bucketCols, List sortCols, - Map parameters) + Map parameters, + List skewedColNames, + List skewedColValues, + Map skewedColValueLocationMaps) { this(); this.cols = cols; @@ -196,6 +224,9 @@ this.bucketCols = bucketCols; this.sortCols = sortCols; this.parameters = parameters; + this.skewedColNames = skewedColNames; + this.skewedColValues = skewedColValues; + this.skewedColValueLocationMaps = skewedColValueLocationMaps; } /** @@ -254,6 +285,35 @@ } this.parameters = __this__parameters; } + if (other.isSetSkewedColNames()) { + List __this__skewedColNames = new ArrayList(); + for (String other_element : other.skewedColNames) { + __this__skewedColNames.add(other_element); + } + this.skewedColNames = __this__skewedColNames; + } + if (other.isSetSkewedColValues()) { + List __this__skewedColValues = new ArrayList(); + for (StringList other_element : other.skewedColValues) { + __this__skewedColValues.add(new StringList(other_element)); + } + this.skewedColValues = __this__skewedColValues; + } + if (other.isSetSkewedColValueLocationMaps()) { + Map __this__skewedColValueLocationMaps = new HashMap(); + for (Map.Entry other_element : other.skewedColValueLocationMaps.entrySet()) { + + StringList other_element_key = other_element.getKey(); + String other_element_value = other_element.getValue(); + + StringList __this__skewedColValueLocationMaps_copy_key = new StringList(other_element_key); + + String __this__skewedColValueLocationMaps_copy_value = other_element_value; + + __this__skewedColValueLocationMaps.put(__this__skewedColValueLocationMaps_copy_key, __this__skewedColValueLocationMaps_copy_value); + } + this.skewedColValueLocationMaps = __this__skewedColValueLocationMaps; + } } public StorageDescriptor deepCopy() { @@ -274,6 +334,9 @@ this.bucketCols = null; this.sortCols = null; this.parameters = null; + this.skewedColNames = null; + this.skewedColValues = null; + this.skewedColValueLocationMaps = null; } public int getColsSize() { @@ -560,6 +623,116 @@ } } + public int getSkewedColNamesSize() { + return (this.skewedColNames == null) ? 0 : this.skewedColNames.size(); + } + + public java.util.Iterator getSkewedColNamesIterator() { + return (this.skewedColNames == null) ? null : this.skewedColNames.iterator(); + } + + public void addToSkewedColNames(String elem) { + if (this.skewedColNames == null) { + this.skewedColNames = new ArrayList(); + } + this.skewedColNames.add(elem); + } + + public List getSkewedColNames() { + return this.skewedColNames; + } + + public void setSkewedColNames(List skewedColNames) { + this.skewedColNames = skewedColNames; + } + + public void unsetSkewedColNames() { + this.skewedColNames = null; + } + + /** Returns true if field skewedColNames is set (has been assigned a value) and false otherwise */ + public boolean isSetSkewedColNames() { + return this.skewedColNames != null; + } + + public void setSkewedColNamesIsSet(boolean value) { + if (!value) { + this.skewedColNames = null; + } + } + + public int getSkewedColValuesSize() { + return (this.skewedColValues == null) ? 0 : this.skewedColValues.size(); + } + + public java.util.Iterator getSkewedColValuesIterator() { + return (this.skewedColValues == null) ? null : this.skewedColValues.iterator(); + } + + public void addToSkewedColValues(StringList elem) { + if (this.skewedColValues == null) { + this.skewedColValues = new ArrayList(); + } + this.skewedColValues.add(elem); + } + + public List getSkewedColValues() { + return this.skewedColValues; + } + + public void setSkewedColValues(List skewedColValues) { + this.skewedColValues = skewedColValues; + } + + public void unsetSkewedColValues() { + this.skewedColValues = null; + } + + /** Returns true if field skewedColValues is set (has been assigned a value) and false otherwise */ + public boolean isSetSkewedColValues() { + return this.skewedColValues != null; + } + + public void setSkewedColValuesIsSet(boolean value) { + if (!value) { + this.skewedColValues = null; + } + } + + public int getSkewedColValueLocationMapsSize() { + return (this.skewedColValueLocationMaps == null) ? 0 : this.skewedColValueLocationMaps.size(); + } + + public void putToSkewedColValueLocationMaps(StringList key, String val) { + if (this.skewedColValueLocationMaps == null) { + this.skewedColValueLocationMaps = new HashMap(); + } + this.skewedColValueLocationMaps.put(key, val); + } + + public Map getSkewedColValueLocationMaps() { + return this.skewedColValueLocationMaps; + } + + public void setSkewedColValueLocationMaps(Map skewedColValueLocationMaps) { + this.skewedColValueLocationMaps = skewedColValueLocationMaps; + } + + public void unsetSkewedColValueLocationMaps() { + this.skewedColValueLocationMaps = null; + } + + /** Returns true if field skewedColValueLocationMaps is set (has been assigned a value) and false otherwise */ + public boolean isSetSkewedColValueLocationMaps() { + return this.skewedColValueLocationMaps != null; + } + + public void setSkewedColValueLocationMapsIsSet(boolean value) { + if (!value) { + this.skewedColValueLocationMaps = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case COLS: @@ -642,6 +815,30 @@ } break; + case SKEWED_COL_NAMES: + if (value == null) { + unsetSkewedColNames(); + } else { + setSkewedColNames((List)value); + } + break; + + case SKEWED_COL_VALUES: + if (value == null) { + unsetSkewedColValues(); + } else { + setSkewedColValues((List)value); + } + break; + + case SKEWED_COL_VALUE_LOCATION_MAPS: + if (value == null) { + unsetSkewedColValueLocationMaps(); + } else { + setSkewedColValueLocationMaps((Map)value); + } + break; + } } @@ -677,6 +874,15 @@ case PARAMETERS: return getParameters(); + case SKEWED_COL_NAMES: + return getSkewedColNames(); + + case SKEWED_COL_VALUES: + return getSkewedColValues(); + + case SKEWED_COL_VALUE_LOCATION_MAPS: + return getSkewedColValueLocationMaps(); + } throw new IllegalStateException(); } @@ -708,6 +914,12 @@ return isSetSortCols(); case PARAMETERS: return isSetParameters(); + case SKEWED_COL_NAMES: + return isSetSkewedColNames(); + case SKEWED_COL_VALUES: + return isSetSkewedColValues(); + case SKEWED_COL_VALUE_LOCATION_MAPS: + return isSetSkewedColValueLocationMaps(); } throw new IllegalStateException(); } @@ -815,6 +1027,33 @@ return false; } + boolean this_present_skewedColNames = true && this.isSetSkewedColNames(); + boolean that_present_skewedColNames = true && that.isSetSkewedColNames(); + if (this_present_skewedColNames || that_present_skewedColNames) { + if (!(this_present_skewedColNames && that_present_skewedColNames)) + return false; + if (!this.skewedColNames.equals(that.skewedColNames)) + return false; + } + + boolean this_present_skewedColValues = true && this.isSetSkewedColValues(); + boolean that_present_skewedColValues = true && that.isSetSkewedColValues(); + if (this_present_skewedColValues || that_present_skewedColValues) { + if (!(this_present_skewedColValues && that_present_skewedColValues)) + return false; + if (!this.skewedColValues.equals(that.skewedColValues)) + return false; + } + + boolean this_present_skewedColValueLocationMaps = true && this.isSetSkewedColValueLocationMaps(); + boolean that_present_skewedColValueLocationMaps = true && that.isSetSkewedColValueLocationMaps(); + if (this_present_skewedColValueLocationMaps || that_present_skewedColValueLocationMaps) { + if (!(this_present_skewedColValueLocationMaps && that_present_skewedColValueLocationMaps)) + return false; + if (!this.skewedColValueLocationMaps.equals(that.skewedColValueLocationMaps)) + return false; + } + return true; } @@ -872,6 +1111,21 @@ if (present_parameters) builder.append(parameters); + boolean present_skewedColNames = true && (isSetSkewedColNames()); + builder.append(present_skewedColNames); + if (present_skewedColNames) + builder.append(skewedColNames); + + boolean present_skewedColValues = true && (isSetSkewedColValues()); + builder.append(present_skewedColValues); + if (present_skewedColValues) + builder.append(skewedColValues); + + boolean present_skewedColValueLocationMaps = true && (isSetSkewedColValueLocationMaps()); + builder.append(present_skewedColValueLocationMaps); + if (present_skewedColValueLocationMaps) + builder.append(skewedColValueLocationMaps); + return builder.toHashCode(); } @@ -983,6 +1237,36 @@ return lastComparison; } } + lastComparison = Boolean.valueOf(isSetSkewedColNames()).compareTo(typedOther.isSetSkewedColNames()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSkewedColNames()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.skewedColNames, typedOther.skewedColNames); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetSkewedColValues()).compareTo(typedOther.isSetSkewedColValues()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSkewedColValues()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.skewedColValues, typedOther.skewedColValues); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetSkewedColValueLocationMaps()).compareTo(typedOther.isSetSkewedColValueLocationMaps()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSkewedColValueLocationMaps()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.skewedColValueLocationMaps, typedOther.skewedColValueLocationMaps); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -1003,14 +1287,14 @@ case 1: // COLS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list49 = iprot.readListBegin(); - this.cols = new ArrayList(_list49.size); - for (int _i50 = 0; _i50 < _list49.size; ++_i50) + org.apache.thrift.protocol.TList _list53 = iprot.readListBegin(); + this.cols = new ArrayList(_list53.size); + for (int _i54 = 0; _i54 < _list53.size; ++_i54) { - FieldSchema _elem51; // required - _elem51 = new FieldSchema(); - _elem51.read(iprot); - this.cols.add(_elem51); + FieldSchema _elem55; // required + _elem55 = new FieldSchema(); + _elem55.read(iprot); + this.cols.add(_elem55); } iprot.readListEnd(); } @@ -1066,13 +1350,13 @@ case 8: // BUCKET_COLS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list52 = iprot.readListBegin(); - this.bucketCols = new ArrayList(_list52.size); - for (int _i53 = 0; _i53 < _list52.size; ++_i53) + org.apache.thrift.protocol.TList _list56 = iprot.readListBegin(); + this.bucketCols = new ArrayList(_list56.size); + for (int _i57 = 0; _i57 < _list56.size; ++_i57) { - String _elem54; // required - _elem54 = iprot.readString(); - this.bucketCols.add(_elem54); + String _elem58; // required + _elem58 = iprot.readString(); + this.bucketCols.add(_elem58); } iprot.readListEnd(); } @@ -1083,14 +1367,14 @@ case 9: // SORT_COLS if (field.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list55 = iprot.readListBegin(); - this.sortCols = new ArrayList(_list55.size); - for (int _i56 = 0; _i56 < _list55.size; ++_i56) + org.apache.thrift.protocol.TList _list59 = iprot.readListBegin(); + this.sortCols = new ArrayList(_list59.size); + for (int _i60 = 0; _i60 < _list59.size; ++_i60) { - Order _elem57; // required - _elem57 = new Order(); - _elem57.read(iprot); - this.sortCols.add(_elem57); + Order _elem61; // required + _elem61 = new Order(); + _elem61.read(iprot); + this.sortCols.add(_elem61); } iprot.readListEnd(); } @@ -1101,15 +1385,15 @@ case 10: // PARAMETERS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map58 = iprot.readMapBegin(); - this.parameters = new HashMap(2*_map58.size); - for (int _i59 = 0; _i59 < _map58.size; ++_i59) + org.apache.thrift.protocol.TMap _map62 = iprot.readMapBegin(); + this.parameters = new HashMap(2*_map62.size); + for (int _i63 = 0; _i63 < _map62.size; ++_i63) { - String _key60; // required - String _val61; // required - _key60 = iprot.readString(); - _val61 = iprot.readString(); - this.parameters.put(_key60, _val61); + String _key64; // required + String _val65; // required + _key64 = iprot.readString(); + _val65 = iprot.readString(); + this.parameters.put(_key64, _val65); } iprot.readMapEnd(); } @@ -1117,6 +1401,61 @@ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); } break; + case 11: // SKEWED_COL_NAMES + if (field.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list66 = iprot.readListBegin(); + this.skewedColNames = new ArrayList(_list66.size); + for (int _i67 = 0; _i67 < _list66.size; ++_i67) + { + String _elem68; // required + _elem68 = iprot.readString(); + this.skewedColNames.add(_elem68); + } + iprot.readListEnd(); + } + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); + } + break; + case 12: // SKEWED_COL_VALUES + if (field.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list69 = iprot.readListBegin(); + this.skewedColValues = new ArrayList(_list69.size); + for (int _i70 = 0; _i70 < _list69.size; ++_i70) + { + StringList _elem71; // required + _elem71 = new StringList(); + _elem71.read(iprot); + this.skewedColValues.add(_elem71); + } + iprot.readListEnd(); + } + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); + } + break; + case 13: // SKEWED_COL_VALUE_LOCATION_MAPS + if (field.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map72 = iprot.readMapBegin(); + this.skewedColValueLocationMaps = new HashMap(2*_map72.size); + for (int _i73 = 0; _i73 < _map72.size; ++_i73) + { + StringList _key74; // required + String _val75; // required + _key74 = new StringList(); + _key74.read(iprot); + _val75 = iprot.readString(); + this.skewedColValueLocationMaps.put(_key74, _val75); + } + iprot.readMapEnd(); + } + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); } @@ -1134,9 +1473,9 @@ oprot.writeFieldBegin(COLS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.cols.size())); - for (FieldSchema _iter62 : this.cols) + for (FieldSchema _iter76 : this.cols) { - _iter62.write(oprot); + _iter76.write(oprot); } oprot.writeListEnd(); } @@ -1172,9 +1511,9 @@ oprot.writeFieldBegin(BUCKET_COLS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.bucketCols.size())); - for (String _iter63 : this.bucketCols) + for (String _iter77 : this.bucketCols) { - oprot.writeString(_iter63); + oprot.writeString(_iter77); } oprot.writeListEnd(); } @@ -1184,9 +1523,9 @@ oprot.writeFieldBegin(SORT_COLS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.sortCols.size())); - for (Order _iter64 : this.sortCols) + for (Order _iter78 : this.sortCols) { - _iter64.write(oprot); + _iter78.write(oprot); } oprot.writeListEnd(); } @@ -1196,15 +1535,52 @@ oprot.writeFieldBegin(PARAMETERS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.parameters.size())); - for (Map.Entry _iter65 : this.parameters.entrySet()) + for (Map.Entry _iter79 : this.parameters.entrySet()) { - oprot.writeString(_iter65.getKey()); - oprot.writeString(_iter65.getValue()); + oprot.writeString(_iter79.getKey()); + oprot.writeString(_iter79.getValue()); } oprot.writeMapEnd(); } oprot.writeFieldEnd(); } + if (this.skewedColNames != null) { + oprot.writeFieldBegin(SKEWED_COL_NAMES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.skewedColNames.size())); + for (String _iter80 : this.skewedColNames) + { + oprot.writeString(_iter80); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (this.skewedColValues != null) { + oprot.writeFieldBegin(SKEWED_COL_VALUES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.skewedColValues.size())); + for (StringList _iter81 : this.skewedColValues) + { + _iter81.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (this.skewedColValueLocationMaps != null) { + oprot.writeFieldBegin(SKEWED_COL_VALUE_LOCATION_MAPS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRING, this.skewedColValueLocationMaps.size())); + for (Map.Entry _iter82 : this.skewedColValueLocationMaps.entrySet()) + { + _iter82.getKey().write(oprot); + oprot.writeString(_iter82.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -1285,6 +1661,30 @@ sb.append(this.parameters); } first = false; + if (!first) sb.append(", "); + sb.append("skewedColNames:"); + if (this.skewedColNames == null) { + sb.append("null"); + } else { + sb.append(this.skewedColNames); + } + first = false; + if (!first) sb.append(", "); + sb.append("skewedColValues:"); + if (this.skewedColValues == null) { + sb.append("null"); + } else { + sb.append(this.skewedColValues); + } + first = false; + if (!first) sb.append(", "); + sb.append("skewedColValueLocationMaps:"); + if (this.skewedColValueLocationMaps == null) { + sb.append("null"); + } else { + sb.append(this.skewedColValueLocationMaps); + } + first = false; sb.append(")"); return sb.toString(); } Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java (revision 1371773) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java (working copy) @@ -1002,15 +1002,15 @@ case 9: // PARAMETERS if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map84 = iprot.readMapBegin(); - this.parameters = new HashMap(2*_map84.size); - for (int _i85 = 0; _i85 < _map84.size; ++_i85) + org.apache.thrift.protocol.TMap _map101 = iprot.readMapBegin(); + this.parameters = new HashMap(2*_map101.size); + for (int _i102 = 0; _i102 < _map101.size; ++_i102) { - String _key86; // required - String _val87; // required - _key86 = iprot.readString(); - _val87 = iprot.readString(); - this.parameters.put(_key86, _val87); + String _key103; // required + String _val104; // required + _key103 = iprot.readString(); + _val104 = iprot.readString(); + this.parameters.put(_key103, _val104); } iprot.readMapEnd(); } @@ -1079,10 +1079,10 @@ oprot.writeFieldBegin(PARAMETERS_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.parameters.size())); - for (Map.Entry _iter88 : this.parameters.entrySet()) + for (Map.Entry _iter105 : this.parameters.entrySet()) { - oprot.writeString(_iter88.getKey()); - oprot.writeString(_iter88.getValue()); + oprot.writeString(_iter105.getKey()); + oprot.writeString(_iter105.getValue()); } oprot.writeMapEnd(); } Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java (revision 1371773) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java (working copy) @@ -283,15 +283,15 @@ case 1: // PROPERTIES if (field.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map98 = iprot.readMapBegin(); - this.properties = new HashMap(2*_map98.size); - for (int _i99 = 0; _i99 < _map98.size; ++_i99) + org.apache.thrift.protocol.TMap _map115 = iprot.readMapBegin(); + this.properties = new HashMap(2*_map115.size); + for (int _i116 = 0; _i116 < _map115.size; ++_i116) { - String _key100; // required - String _val101; // required - _key100 = iprot.readString(); - _val101 = iprot.readString(); - this.properties.put(_key100, _val101); + String _key117; // required + String _val118; // required + _key117 = iprot.readString(); + _val118 = iprot.readString(); + this.properties.put(_key117, _val118); } iprot.readMapEnd(); } @@ -316,10 +316,10 @@ oprot.writeFieldBegin(PROPERTIES_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.properties.size())); - for (Map.Entry _iter102 : this.properties.entrySet()) + for (Map.Entry _iter119 : this.properties.entrySet()) { - oprot.writeString(_iter102.getKey()); - oprot.writeString(_iter102.getValue()); + oprot.writeString(_iter119.getKey()); + oprot.writeString(_iter119.getValue()); } oprot.writeMapEnd(); } Index: metastore/src/gen/thrift/gen-php/hive_metastore/ThriftHiveMetastore.php =================================================================== --- metastore/src/gen/thrift/gen-php/hive_metastore/ThriftHiveMetastore.php (revision 1371773) +++ metastore/src/gen/thrift/gen-php/hive_metastore/ThriftHiveMetastore.php (working copy) @@ -4773,14 +4773,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size183 = 0; - $_etype186 = 0; - $xfer += $input->readListBegin($_etype186, $_size183); - for ($_i187 = 0; $_i187 < $_size183; ++$_i187) + $_size213 = 0; + $_etype216 = 0; + $xfer += $input->readListBegin($_etype216, $_size213); + for ($_i217 = 0; $_i217 < $_size213; ++$_i217) { - $elem188 = null; - $xfer += $input->readString($elem188); - $this->success []= $elem188; + $elem218 = null; + $xfer += $input->readString($elem218); + $this->success []= $elem218; } $xfer += $input->readListEnd(); } else { @@ -4816,9 +4816,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter189) + foreach ($this->success as $iter219) { - $xfer += $output->writeString($iter189); + $xfer += $output->writeString($iter219); } } $output->writeListEnd(); @@ -4943,14 +4943,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size190 = 0; - $_etype193 = 0; - $xfer += $input->readListBegin($_etype193, $_size190); - for ($_i194 = 0; $_i194 < $_size190; ++$_i194) + $_size220 = 0; + $_etype223 = 0; + $xfer += $input->readListBegin($_etype223, $_size220); + for ($_i224 = 0; $_i224 < $_size220; ++$_i224) { - $elem195 = null; - $xfer += $input->readString($elem195); - $this->success []= $elem195; + $elem225 = null; + $xfer += $input->readString($elem225); + $this->success []= $elem225; } $xfer += $input->readListEnd(); } else { @@ -4986,9 +4986,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter196) + foreach ($this->success as $iter226) { - $xfer += $output->writeString($iter196); + $xfer += $output->writeString($iter226); } } $output->writeListEnd(); @@ -5929,18 +5929,18 @@ case 0: if ($ftype == TType::MAP) { $this->success = array(); - $_size197 = 0; - $_ktype198 = 0; - $_vtype199 = 0; - $xfer += $input->readMapBegin($_ktype198, $_vtype199, $_size197); - for ($_i201 = 0; $_i201 < $_size197; ++$_i201) + $_size227 = 0; + $_ktype228 = 0; + $_vtype229 = 0; + $xfer += $input->readMapBegin($_ktype228, $_vtype229, $_size227); + for ($_i231 = 0; $_i231 < $_size227; ++$_i231) { - $key202 = ''; - $val203 = new Type(); - $xfer += $input->readString($key202); - $val203 = new Type(); - $xfer += $val203->read($input); - $this->success[$key202] = $val203; + $key232 = ''; + $val233 = new Type(); + $xfer += $input->readString($key232); + $val233 = new Type(); + $xfer += $val233->read($input); + $this->success[$key232] = $val233; } $xfer += $input->readMapEnd(); } else { @@ -5976,10 +5976,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRUCT, count($this->success)); { - foreach ($this->success as $kiter204 => $viter205) + foreach ($this->success as $kiter234 => $viter235) { - $xfer += $output->writeString($kiter204); - $xfer += $viter205->write($output); + $xfer += $output->writeString($kiter234); + $xfer += $viter235->write($output); } } $output->writeMapEnd(); @@ -6165,15 +6165,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size206 = 0; - $_etype209 = 0; - $xfer += $input->readListBegin($_etype209, $_size206); - for ($_i210 = 0; $_i210 < $_size206; ++$_i210) + $_size236 = 0; + $_etype239 = 0; + $xfer += $input->readListBegin($_etype239, $_size236); + for ($_i240 = 0; $_i240 < $_size236; ++$_i240) { - $elem211 = null; - $elem211 = new FieldSchema(); - $xfer += $elem211->read($input); - $this->success []= $elem211; + $elem241 = null; + $elem241 = new FieldSchema(); + $xfer += $elem241->read($input); + $this->success []= $elem241; } $xfer += $input->readListEnd(); } else { @@ -6225,9 +6225,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter212) + foreach ($this->success as $iter242) { - $xfer += $iter212->write($output); + $xfer += $iter242->write($output); } } $output->writeListEnd(); @@ -6423,15 +6423,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size213 = 0; - $_etype216 = 0; - $xfer += $input->readListBegin($_etype216, $_size213); - for ($_i217 = 0; $_i217 < $_size213; ++$_i217) + $_size243 = 0; + $_etype246 = 0; + $xfer += $input->readListBegin($_etype246, $_size243); + for ($_i247 = 0; $_i247 < $_size243; ++$_i247) { - $elem218 = null; - $elem218 = new FieldSchema(); - $xfer += $elem218->read($input); - $this->success []= $elem218; + $elem248 = null; + $elem248 = new FieldSchema(); + $xfer += $elem248->read($input); + $this->success []= $elem248; } $xfer += $input->readListEnd(); } else { @@ -6483,9 +6483,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter219) + foreach ($this->success as $iter249) { - $xfer += $iter219->write($output); + $xfer += $iter249->write($output); } } $output->writeListEnd(); @@ -7329,14 +7329,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size220 = 0; - $_etype223 = 0; - $xfer += $input->readListBegin($_etype223, $_size220); - for ($_i224 = 0; $_i224 < $_size220; ++$_i224) + $_size250 = 0; + $_etype253 = 0; + $xfer += $input->readListBegin($_etype253, $_size250); + for ($_i254 = 0; $_i254 < $_size250; ++$_i254) { - $elem225 = null; - $xfer += $input->readString($elem225); - $this->success []= $elem225; + $elem255 = null; + $xfer += $input->readString($elem255); + $this->success []= $elem255; } $xfer += $input->readListEnd(); } else { @@ -7372,9 +7372,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter226) + foreach ($this->success as $iter256) { - $xfer += $output->writeString($iter226); + $xfer += $output->writeString($iter256); } } $output->writeListEnd(); @@ -7521,14 +7521,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size227 = 0; - $_etype230 = 0; - $xfer += $input->readListBegin($_etype230, $_size227); - for ($_i231 = 0; $_i231 < $_size227; ++$_i231) + $_size257 = 0; + $_etype260 = 0; + $xfer += $input->readListBegin($_etype260, $_size257); + for ($_i261 = 0; $_i261 < $_size257; ++$_i261) { - $elem232 = null; - $xfer += $input->readString($elem232); - $this->success []= $elem232; + $elem262 = null; + $xfer += $input->readString($elem262); + $this->success []= $elem262; } $xfer += $input->readListEnd(); } else { @@ -7564,9 +7564,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter233) + foreach ($this->success as $iter263) { - $xfer += $output->writeString($iter233); + $xfer += $output->writeString($iter263); } } $output->writeListEnd(); @@ -7860,14 +7860,14 @@ case 2: if ($ftype == TType::LST) { $this->tbl_names = array(); - $_size234 = 0; - $_etype237 = 0; - $xfer += $input->readListBegin($_etype237, $_size234); - for ($_i238 = 0; $_i238 < $_size234; ++$_i238) + $_size264 = 0; + $_etype267 = 0; + $xfer += $input->readListBegin($_etype267, $_size264); + for ($_i268 = 0; $_i268 < $_size264; ++$_i268) { - $elem239 = null; - $xfer += $input->readString($elem239); - $this->tbl_names []= $elem239; + $elem269 = null; + $xfer += $input->readString($elem269); + $this->tbl_names []= $elem269; } $xfer += $input->readListEnd(); } else { @@ -7900,9 +7900,9 @@ { $output->writeListBegin(TType::STRING, count($this->tbl_names)); { - foreach ($this->tbl_names as $iter240) + foreach ($this->tbl_names as $iter270) { - $xfer += $output->writeString($iter240); + $xfer += $output->writeString($iter270); } } $output->writeListEnd(); @@ -7991,15 +7991,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size241 = 0; - $_etype244 = 0; - $xfer += $input->readListBegin($_etype244, $_size241); - for ($_i245 = 0; $_i245 < $_size241; ++$_i245) + $_size271 = 0; + $_etype274 = 0; + $xfer += $input->readListBegin($_etype274, $_size271); + for ($_i275 = 0; $_i275 < $_size271; ++$_i275) { - $elem246 = null; - $elem246 = new Table(); - $xfer += $elem246->read($input); - $this->success []= $elem246; + $elem276 = null; + $elem276 = new Table(); + $xfer += $elem276->read($input); + $this->success []= $elem276; } $xfer += $input->readListEnd(); } else { @@ -8051,9 +8051,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter247) + foreach ($this->success as $iter277) { - $xfer += $iter247->write($output); + $xfer += $iter277->write($output); } } $output->writeListEnd(); @@ -8268,14 +8268,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size248 = 0; - $_etype251 = 0; - $xfer += $input->readListBegin($_etype251, $_size248); - for ($_i252 = 0; $_i252 < $_size248; ++$_i252) + $_size278 = 0; + $_etype281 = 0; + $xfer += $input->readListBegin($_etype281, $_size278); + for ($_i282 = 0; $_i282 < $_size278; ++$_i282) { - $elem253 = null; - $xfer += $input->readString($elem253); - $this->success []= $elem253; + $elem283 = null; + $xfer += $input->readString($elem283); + $this->success []= $elem283; } $xfer += $input->readListEnd(); } else { @@ -8327,9 +8327,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter254) + foreach ($this->success as $iter284) { - $xfer += $output->writeString($iter254); + $xfer += $output->writeString($iter284); } } $output->writeListEnd(); @@ -9322,15 +9322,15 @@ case 1: if ($ftype == TType::LST) { $this->new_parts = array(); - $_size255 = 0; - $_etype258 = 0; - $xfer += $input->readListBegin($_etype258, $_size255); - for ($_i259 = 0; $_i259 < $_size255; ++$_i259) + $_size285 = 0; + $_etype288 = 0; + $xfer += $input->readListBegin($_etype288, $_size285); + for ($_i289 = 0; $_i289 < $_size285; ++$_i289) { - $elem260 = null; - $elem260 = new Partition(); - $xfer += $elem260->read($input); - $this->new_parts []= $elem260; + $elem290 = null; + $elem290 = new Partition(); + $xfer += $elem290->read($input); + $this->new_parts []= $elem290; } $xfer += $input->readListEnd(); } else { @@ -9358,9 +9358,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->new_parts)); { - foreach ($this->new_parts as $iter261) + foreach ($this->new_parts as $iter291) { - $xfer += $iter261->write($output); + $xfer += $iter291->write($output); } } $output->writeListEnd(); @@ -9589,14 +9589,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size262 = 0; - $_etype265 = 0; - $xfer += $input->readListBegin($_etype265, $_size262); - for ($_i266 = 0; $_i266 < $_size262; ++$_i266) + $_size292 = 0; + $_etype295 = 0; + $xfer += $input->readListBegin($_etype295, $_size292); + for ($_i296 = 0; $_i296 < $_size292; ++$_i296) { - $elem267 = null; - $xfer += $input->readString($elem267); - $this->part_vals []= $elem267; + $elem297 = null; + $xfer += $input->readString($elem297); + $this->part_vals []= $elem297; } $xfer += $input->readListEnd(); } else { @@ -9634,9 +9634,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter268) + foreach ($this->part_vals as $iter298) { - $xfer += $output->writeString($iter268); + $xfer += $output->writeString($iter298); } } $output->writeListEnd(); @@ -10133,14 +10133,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size269 = 0; - $_etype272 = 0; - $xfer += $input->readListBegin($_etype272, $_size269); - for ($_i273 = 0; $_i273 < $_size269; ++$_i273) + $_size299 = 0; + $_etype302 = 0; + $xfer += $input->readListBegin($_etype302, $_size299); + for ($_i303 = 0; $_i303 < $_size299; ++$_i303) { - $elem274 = null; - $xfer += $input->readString($elem274); - $this->part_vals []= $elem274; + $elem304 = null; + $xfer += $input->readString($elem304); + $this->part_vals []= $elem304; } $xfer += $input->readListEnd(); } else { @@ -10185,9 +10185,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter275) + foreach ($this->part_vals as $iter305) { - $xfer += $output->writeString($iter275); + $xfer += $output->writeString($iter305); } } $output->writeListEnd(); @@ -10647,14 +10647,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size276 = 0; - $_etype279 = 0; - $xfer += $input->readListBegin($_etype279, $_size276); - for ($_i280 = 0; $_i280 < $_size276; ++$_i280) + $_size306 = 0; + $_etype309 = 0; + $xfer += $input->readListBegin($_etype309, $_size306); + for ($_i310 = 0; $_i310 < $_size306; ++$_i310) { - $elem281 = null; - $xfer += $input->readString($elem281); - $this->part_vals []= $elem281; + $elem311 = null; + $xfer += $input->readString($elem311); + $this->part_vals []= $elem311; } $xfer += $input->readListEnd(); } else { @@ -10692,9 +10692,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter282) + foreach ($this->part_vals as $iter312) { - $xfer += $output->writeString($iter282); + $xfer += $output->writeString($iter312); } } $output->writeListEnd(); @@ -10926,14 +10926,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size283 = 0; - $_etype286 = 0; - $xfer += $input->readListBegin($_etype286, $_size283); - for ($_i287 = 0; $_i287 < $_size283; ++$_i287) + $_size313 = 0; + $_etype316 = 0; + $xfer += $input->readListBegin($_etype316, $_size313); + for ($_i317 = 0; $_i317 < $_size313; ++$_i317) { - $elem288 = null; - $xfer += $input->readString($elem288); - $this->part_vals []= $elem288; + $elem318 = null; + $xfer += $input->readString($elem318); + $this->part_vals []= $elem318; } $xfer += $input->readListEnd(); } else { @@ -10950,14 +10950,14 @@ case 5: if ($ftype == TType::LST) { $this->group_names = array(); - $_size289 = 0; - $_etype292 = 0; - $xfer += $input->readListBegin($_etype292, $_size289); - for ($_i293 = 0; $_i293 < $_size289; ++$_i293) + $_size319 = 0; + $_etype322 = 0; + $xfer += $input->readListBegin($_etype322, $_size319); + for ($_i323 = 0; $_i323 < $_size319; ++$_i323) { - $elem294 = null; - $xfer += $input->readString($elem294); - $this->group_names []= $elem294; + $elem324 = null; + $xfer += $input->readString($elem324); + $this->group_names []= $elem324; } $xfer += $input->readListEnd(); } else { @@ -10995,9 +10995,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter295) + foreach ($this->part_vals as $iter325) { - $xfer += $output->writeString($iter295); + $xfer += $output->writeString($iter325); } } $output->writeListEnd(); @@ -11017,9 +11017,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter296) + foreach ($this->group_names as $iter326) { - $xfer += $output->writeString($iter296); + $xfer += $output->writeString($iter326); } } $output->writeListEnd(); @@ -11565,15 +11565,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size297 = 0; - $_etype300 = 0; - $xfer += $input->readListBegin($_etype300, $_size297); - for ($_i301 = 0; $_i301 < $_size297; ++$_i301) + $_size327 = 0; + $_etype330 = 0; + $xfer += $input->readListBegin($_etype330, $_size327); + for ($_i331 = 0; $_i331 < $_size327; ++$_i331) { - $elem302 = null; - $elem302 = new Partition(); - $xfer += $elem302->read($input); - $this->success []= $elem302; + $elem332 = null; + $elem332 = new Partition(); + $xfer += $elem332->read($input); + $this->success []= $elem332; } $xfer += $input->readListEnd(); } else { @@ -11617,9 +11617,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter303) + foreach ($this->success as $iter333) { - $xfer += $iter303->write($output); + $xfer += $iter333->write($output); } } $output->writeListEnd(); @@ -11750,14 +11750,14 @@ case 5: if ($ftype == TType::LST) { $this->group_names = array(); - $_size304 = 0; - $_etype307 = 0; - $xfer += $input->readListBegin($_etype307, $_size304); - for ($_i308 = 0; $_i308 < $_size304; ++$_i308) + $_size334 = 0; + $_etype337 = 0; + $xfer += $input->readListBegin($_etype337, $_size334); + for ($_i338 = 0; $_i338 < $_size334; ++$_i338) { - $elem309 = null; - $xfer += $input->readString($elem309); - $this->group_names []= $elem309; + $elem339 = null; + $xfer += $input->readString($elem339); + $this->group_names []= $elem339; } $xfer += $input->readListEnd(); } else { @@ -11805,9 +11805,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter310) + foreach ($this->group_names as $iter340) { - $xfer += $output->writeString($iter310); + $xfer += $output->writeString($iter340); } } $output->writeListEnd(); @@ -11887,15 +11887,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size311 = 0; - $_etype314 = 0; - $xfer += $input->readListBegin($_etype314, $_size311); - for ($_i315 = 0; $_i315 < $_size311; ++$_i315) + $_size341 = 0; + $_etype344 = 0; + $xfer += $input->readListBegin($_etype344, $_size341); + for ($_i345 = 0; $_i345 < $_size341; ++$_i345) { - $elem316 = null; - $elem316 = new Partition(); - $xfer += $elem316->read($input); - $this->success []= $elem316; + $elem346 = null; + $elem346 = new Partition(); + $xfer += $elem346->read($input); + $this->success []= $elem346; } $xfer += $input->readListEnd(); } else { @@ -11939,9 +11939,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter317) + foreach ($this->success as $iter347) { - $xfer += $iter317->write($output); + $xfer += $iter347->write($output); } } $output->writeListEnd(); @@ -12133,14 +12133,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size318 = 0; - $_etype321 = 0; - $xfer += $input->readListBegin($_etype321, $_size318); - for ($_i322 = 0; $_i322 < $_size318; ++$_i322) + $_size348 = 0; + $_etype351 = 0; + $xfer += $input->readListBegin($_etype351, $_size348); + for ($_i352 = 0; $_i352 < $_size348; ++$_i352) { - $elem323 = null; - $xfer += $input->readString($elem323); - $this->success []= $elem323; + $elem353 = null; + $xfer += $input->readString($elem353); + $this->success []= $elem353; } $xfer += $input->readListEnd(); } else { @@ -12176,9 +12176,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter324) + foreach ($this->success as $iter354) { - $xfer += $output->writeString($iter324); + $xfer += $output->writeString($iter354); } } $output->writeListEnd(); @@ -12282,14 +12282,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size325 = 0; - $_etype328 = 0; - $xfer += $input->readListBegin($_etype328, $_size325); - for ($_i329 = 0; $_i329 < $_size325; ++$_i329) + $_size355 = 0; + $_etype358 = 0; + $xfer += $input->readListBegin($_etype358, $_size355); + for ($_i359 = 0; $_i359 < $_size355; ++$_i359) { - $elem330 = null; - $xfer += $input->readString($elem330); - $this->part_vals []= $elem330; + $elem360 = null; + $xfer += $input->readString($elem360); + $this->part_vals []= $elem360; } $xfer += $input->readListEnd(); } else { @@ -12334,9 +12334,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter331) + foreach ($this->part_vals as $iter361) { - $xfer += $output->writeString($iter331); + $xfer += $output->writeString($iter361); } } $output->writeListEnd(); @@ -12421,15 +12421,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size332 = 0; - $_etype335 = 0; - $xfer += $input->readListBegin($_etype335, $_size332); - for ($_i336 = 0; $_i336 < $_size332; ++$_i336) + $_size362 = 0; + $_etype365 = 0; + $xfer += $input->readListBegin($_etype365, $_size362); + for ($_i366 = 0; $_i366 < $_size362; ++$_i366) { - $elem337 = null; - $elem337 = new Partition(); - $xfer += $elem337->read($input); - $this->success []= $elem337; + $elem367 = null; + $elem367 = new Partition(); + $xfer += $elem367->read($input); + $this->success []= $elem367; } $xfer += $input->readListEnd(); } else { @@ -12473,9 +12473,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter338) + foreach ($this->success as $iter368) { - $xfer += $iter338->write($output); + $xfer += $iter368->write($output); } } $output->writeListEnd(); @@ -12604,14 +12604,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size339 = 0; - $_etype342 = 0; - $xfer += $input->readListBegin($_etype342, $_size339); - for ($_i343 = 0; $_i343 < $_size339; ++$_i343) + $_size369 = 0; + $_etype372 = 0; + $xfer += $input->readListBegin($_etype372, $_size369); + for ($_i373 = 0; $_i373 < $_size369; ++$_i373) { - $elem344 = null; - $xfer += $input->readString($elem344); - $this->part_vals []= $elem344; + $elem374 = null; + $xfer += $input->readString($elem374); + $this->part_vals []= $elem374; } $xfer += $input->readListEnd(); } else { @@ -12635,14 +12635,14 @@ case 6: if ($ftype == TType::LST) { $this->group_names = array(); - $_size345 = 0; - $_etype348 = 0; - $xfer += $input->readListBegin($_etype348, $_size345); - for ($_i349 = 0; $_i349 < $_size345; ++$_i349) + $_size375 = 0; + $_etype378 = 0; + $xfer += $input->readListBegin($_etype378, $_size375); + for ($_i379 = 0; $_i379 < $_size375; ++$_i379) { - $elem350 = null; - $xfer += $input->readString($elem350); - $this->group_names []= $elem350; + $elem380 = null; + $xfer += $input->readString($elem380); + $this->group_names []= $elem380; } $xfer += $input->readListEnd(); } else { @@ -12680,9 +12680,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter351) + foreach ($this->part_vals as $iter381) { - $xfer += $output->writeString($iter351); + $xfer += $output->writeString($iter381); } } $output->writeListEnd(); @@ -12707,9 +12707,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter352) + foreach ($this->group_names as $iter382) { - $xfer += $output->writeString($iter352); + $xfer += $output->writeString($iter382); } } $output->writeListEnd(); @@ -12789,15 +12789,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size353 = 0; - $_etype356 = 0; - $xfer += $input->readListBegin($_etype356, $_size353); - for ($_i357 = 0; $_i357 < $_size353; ++$_i357) + $_size383 = 0; + $_etype386 = 0; + $xfer += $input->readListBegin($_etype386, $_size383); + for ($_i387 = 0; $_i387 < $_size383; ++$_i387) { - $elem358 = null; - $elem358 = new Partition(); - $xfer += $elem358->read($input); - $this->success []= $elem358; + $elem388 = null; + $elem388 = new Partition(); + $xfer += $elem388->read($input); + $this->success []= $elem388; } $xfer += $input->readListEnd(); } else { @@ -12841,9 +12841,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter359) + foreach ($this->success as $iter389) { - $xfer += $iter359->write($output); + $xfer += $iter389->write($output); } } $output->writeListEnd(); @@ -12952,14 +12952,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size360 = 0; - $_etype363 = 0; - $xfer += $input->readListBegin($_etype363, $_size360); - for ($_i364 = 0; $_i364 < $_size360; ++$_i364) + $_size390 = 0; + $_etype393 = 0; + $xfer += $input->readListBegin($_etype393, $_size390); + for ($_i394 = 0; $_i394 < $_size390; ++$_i394) { - $elem365 = null; - $xfer += $input->readString($elem365); - $this->part_vals []= $elem365; + $elem395 = null; + $xfer += $input->readString($elem395); + $this->part_vals []= $elem395; } $xfer += $input->readListEnd(); } else { @@ -13004,9 +13004,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter366) + foreach ($this->part_vals as $iter396) { - $xfer += $output->writeString($iter366); + $xfer += $output->writeString($iter396); } } $output->writeListEnd(); @@ -13090,14 +13090,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size367 = 0; - $_etype370 = 0; - $xfer += $input->readListBegin($_etype370, $_size367); - for ($_i371 = 0; $_i371 < $_size367; ++$_i371) + $_size397 = 0; + $_etype400 = 0; + $xfer += $input->readListBegin($_etype400, $_size397); + for ($_i401 = 0; $_i401 < $_size397; ++$_i401) { - $elem372 = null; - $xfer += $input->readString($elem372); - $this->success []= $elem372; + $elem402 = null; + $xfer += $input->readString($elem402); + $this->success []= $elem402; } $xfer += $input->readListEnd(); } else { @@ -13141,9 +13141,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter373) + foreach ($this->success as $iter403) { - $xfer += $output->writeString($iter373); + $xfer += $output->writeString($iter403); } } $output->writeListEnd(); @@ -13365,15 +13365,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size374 = 0; - $_etype377 = 0; - $xfer += $input->readListBegin($_etype377, $_size374); - for ($_i378 = 0; $_i378 < $_size374; ++$_i378) + $_size404 = 0; + $_etype407 = 0; + $xfer += $input->readListBegin($_etype407, $_size404); + for ($_i408 = 0; $_i408 < $_size404; ++$_i408) { - $elem379 = null; - $elem379 = new Partition(); - $xfer += $elem379->read($input); - $this->success []= $elem379; + $elem409 = null; + $elem409 = new Partition(); + $xfer += $elem409->read($input); + $this->success []= $elem409; } $xfer += $input->readListEnd(); } else { @@ -13417,9 +13417,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter380) + foreach ($this->success as $iter410) { - $xfer += $iter380->write($output); + $xfer += $iter410->write($output); } } $output->writeListEnd(); @@ -13520,14 +13520,14 @@ case 3: if ($ftype == TType::LST) { $this->names = array(); - $_size381 = 0; - $_etype384 = 0; - $xfer += $input->readListBegin($_etype384, $_size381); - for ($_i385 = 0; $_i385 < $_size381; ++$_i385) + $_size411 = 0; + $_etype414 = 0; + $xfer += $input->readListBegin($_etype414, $_size411); + for ($_i415 = 0; $_i415 < $_size411; ++$_i415) { - $elem386 = null; - $xfer += $input->readString($elem386); - $this->names []= $elem386; + $elem416 = null; + $xfer += $input->readString($elem416); + $this->names []= $elem416; } $xfer += $input->readListEnd(); } else { @@ -13565,9 +13565,9 @@ { $output->writeListBegin(TType::STRING, count($this->names)); { - foreach ($this->names as $iter387) + foreach ($this->names as $iter417) { - $xfer += $output->writeString($iter387); + $xfer += $output->writeString($iter417); } } $output->writeListEnd(); @@ -13647,15 +13647,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size388 = 0; - $_etype391 = 0; - $xfer += $input->readListBegin($_etype391, $_size388); - for ($_i392 = 0; $_i392 < $_size388; ++$_i392) + $_size418 = 0; + $_etype421 = 0; + $xfer += $input->readListBegin($_etype421, $_size418); + for ($_i422 = 0; $_i422 < $_size418; ++$_i422) { - $elem393 = null; - $elem393 = new Partition(); - $xfer += $elem393->read($input); - $this->success []= $elem393; + $elem423 = null; + $elem423 = new Partition(); + $xfer += $elem423->read($input); + $this->success []= $elem423; } $xfer += $input->readListEnd(); } else { @@ -13699,9 +13699,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter394) + foreach ($this->success as $iter424) { - $xfer += $iter394->write($output); + $xfer += $iter424->write($output); } } $output->writeListEnd(); @@ -14262,14 +14262,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size395 = 0; - $_etype398 = 0; - $xfer += $input->readListBegin($_etype398, $_size395); - for ($_i399 = 0; $_i399 < $_size395; ++$_i399) + $_size425 = 0; + $_etype428 = 0; + $xfer += $input->readListBegin($_etype428, $_size425); + for ($_i429 = 0; $_i429 < $_size425; ++$_i429) { - $elem400 = null; - $xfer += $input->readString($elem400); - $this->part_vals []= $elem400; + $elem430 = null; + $xfer += $input->readString($elem430); + $this->part_vals []= $elem430; } $xfer += $input->readListEnd(); } else { @@ -14315,9 +14315,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter401) + foreach ($this->part_vals as $iter431) { - $xfer += $output->writeString($iter401); + $xfer += $output->writeString($iter431); } } $output->writeListEnd(); @@ -14749,14 +14749,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size402 = 0; - $_etype405 = 0; - $xfer += $input->readListBegin($_etype405, $_size402); - for ($_i406 = 0; $_i406 < $_size402; ++$_i406) + $_size432 = 0; + $_etype435 = 0; + $xfer += $input->readListBegin($_etype435, $_size432); + for ($_i436 = 0; $_i436 < $_size432; ++$_i436) { - $elem407 = null; - $xfer += $input->readString($elem407); - $this->success []= $elem407; + $elem437 = null; + $xfer += $input->readString($elem437); + $this->success []= $elem437; } $xfer += $input->readListEnd(); } else { @@ -14792,9 +14792,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter408) + foreach ($this->success as $iter438) { - $xfer += $output->writeString($iter408); + $xfer += $output->writeString($iter438); } } $output->writeListEnd(); @@ -14945,17 +14945,17 @@ case 0: if ($ftype == TType::MAP) { $this->success = array(); - $_size409 = 0; - $_ktype410 = 0; - $_vtype411 = 0; - $xfer += $input->readMapBegin($_ktype410, $_vtype411, $_size409); - for ($_i413 = 0; $_i413 < $_size409; ++$_i413) + $_size439 = 0; + $_ktype440 = 0; + $_vtype441 = 0; + $xfer += $input->readMapBegin($_ktype440, $_vtype441, $_size439); + for ($_i443 = 0; $_i443 < $_size439; ++$_i443) { - $key414 = ''; - $val415 = ''; - $xfer += $input->readString($key414); - $xfer += $input->readString($val415); - $this->success[$key414] = $val415; + $key444 = ''; + $val445 = ''; + $xfer += $input->readString($key444); + $xfer += $input->readString($val445); + $this->success[$key444] = $val445; } $xfer += $input->readMapEnd(); } else { @@ -14991,10 +14991,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success)); { - foreach ($this->success as $kiter416 => $viter417) + foreach ($this->success as $kiter446 => $viter447) { - $xfer += $output->writeString($kiter416); - $xfer += $output->writeString($viter417); + $xfer += $output->writeString($kiter446); + $xfer += $output->writeString($viter447); } } $output->writeMapEnd(); @@ -15102,17 +15102,17 @@ case 3: if ($ftype == TType::MAP) { $this->part_vals = array(); - $_size418 = 0; - $_ktype419 = 0; - $_vtype420 = 0; - $xfer += $input->readMapBegin($_ktype419, $_vtype420, $_size418); - for ($_i422 = 0; $_i422 < $_size418; ++$_i422) + $_size448 = 0; + $_ktype449 = 0; + $_vtype450 = 0; + $xfer += $input->readMapBegin($_ktype449, $_vtype450, $_size448); + for ($_i452 = 0; $_i452 < $_size448; ++$_i452) { - $key423 = ''; - $val424 = ''; - $xfer += $input->readString($key423); - $xfer += $input->readString($val424); - $this->part_vals[$key423] = $val424; + $key453 = ''; + $val454 = ''; + $xfer += $input->readString($key453); + $xfer += $input->readString($val454); + $this->part_vals[$key453] = $val454; } $xfer += $input->readMapEnd(); } else { @@ -15157,10 +15157,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $kiter425 => $viter426) + foreach ($this->part_vals as $kiter455 => $viter456) { - $xfer += $output->writeString($kiter425); - $xfer += $output->writeString($viter426); + $xfer += $output->writeString($kiter455); + $xfer += $output->writeString($viter456); } } $output->writeMapEnd(); @@ -15452,17 +15452,17 @@ case 3: if ($ftype == TType::MAP) { $this->part_vals = array(); - $_size427 = 0; - $_ktype428 = 0; - $_vtype429 = 0; - $xfer += $input->readMapBegin($_ktype428, $_vtype429, $_size427); - for ($_i431 = 0; $_i431 < $_size427; ++$_i431) + $_size457 = 0; + $_ktype458 = 0; + $_vtype459 = 0; + $xfer += $input->readMapBegin($_ktype458, $_vtype459, $_size457); + for ($_i461 = 0; $_i461 < $_size457; ++$_i461) { - $key432 = ''; - $val433 = ''; - $xfer += $input->readString($key432); - $xfer += $input->readString($val433); - $this->part_vals[$key432] = $val433; + $key462 = ''; + $val463 = ''; + $xfer += $input->readString($key462); + $xfer += $input->readString($val463); + $this->part_vals[$key462] = $val463; } $xfer += $input->readMapEnd(); } else { @@ -15507,10 +15507,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $kiter434 => $viter435) + foreach ($this->part_vals as $kiter464 => $viter465) { - $xfer += $output->writeString($kiter434); - $xfer += $output->writeString($viter435); + $xfer += $output->writeString($kiter464); + $xfer += $output->writeString($viter465); } } $output->writeMapEnd(); @@ -16870,15 +16870,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size436 = 0; - $_etype439 = 0; - $xfer += $input->readListBegin($_etype439, $_size436); - for ($_i440 = 0; $_i440 < $_size436; ++$_i440) + $_size466 = 0; + $_etype469 = 0; + $xfer += $input->readListBegin($_etype469, $_size466); + for ($_i470 = 0; $_i470 < $_size466; ++$_i470) { - $elem441 = null; - $elem441 = new Index(); - $xfer += $elem441->read($input); - $this->success []= $elem441; + $elem471 = null; + $elem471 = new Index(); + $xfer += $elem471->read($input); + $this->success []= $elem471; } $xfer += $input->readListEnd(); } else { @@ -16922,9 +16922,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter442) + foreach ($this->success as $iter472) { - $xfer += $iter442->write($output); + $xfer += $iter472->write($output); } } $output->writeListEnd(); @@ -17116,14 +17116,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size443 = 0; - $_etype446 = 0; - $xfer += $input->readListBegin($_etype446, $_size443); - for ($_i447 = 0; $_i447 < $_size443; ++$_i447) + $_size473 = 0; + $_etype476 = 0; + $xfer += $input->readListBegin($_etype476, $_size473); + for ($_i477 = 0; $_i477 < $_size473; ++$_i477) { - $elem448 = null; - $xfer += $input->readString($elem448); - $this->success []= $elem448; + $elem478 = null; + $xfer += $input->readString($elem478); + $this->success []= $elem478; } $xfer += $input->readListEnd(); } else { @@ -17159,9 +17159,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter449) + foreach ($this->success as $iter479) { - $xfer += $output->writeString($iter449); + $xfer += $output->writeString($iter479); } } $output->writeListEnd(); @@ -17623,14 +17623,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size450 = 0; - $_etype453 = 0; - $xfer += $input->readListBegin($_etype453, $_size450); - for ($_i454 = 0; $_i454 < $_size450; ++$_i454) + $_size480 = 0; + $_etype483 = 0; + $xfer += $input->readListBegin($_etype483, $_size480); + for ($_i484 = 0; $_i484 < $_size480; ++$_i484) { - $elem455 = null; - $xfer += $input->readString($elem455); - $this->success []= $elem455; + $elem485 = null; + $xfer += $input->readString($elem485); + $this->success []= $elem485; } $xfer += $input->readListEnd(); } else { @@ -17666,9 +17666,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter456) + foreach ($this->success as $iter486) { - $xfer += $output->writeString($iter456); + $xfer += $output->writeString($iter486); } } $output->writeListEnd(); @@ -18308,15 +18308,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size457 = 0; - $_etype460 = 0; - $xfer += $input->readListBegin($_etype460, $_size457); - for ($_i461 = 0; $_i461 < $_size457; ++$_i461) + $_size487 = 0; + $_etype490 = 0; + $xfer += $input->readListBegin($_etype490, $_size487); + for ($_i491 = 0; $_i491 < $_size487; ++$_i491) { - $elem462 = null; - $elem462 = new Role(); - $xfer += $elem462->read($input); - $this->success []= $elem462; + $elem492 = null; + $elem492 = new Role(); + $xfer += $elem492->read($input); + $this->success []= $elem492; } $xfer += $input->readListEnd(); } else { @@ -18352,9 +18352,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter463) + foreach ($this->success as $iter493) { - $xfer += $iter463->write($output); + $xfer += $iter493->write($output); } } $output->writeListEnd(); @@ -18452,14 +18452,14 @@ case 3: if ($ftype == TType::LST) { $this->group_names = array(); - $_size464 = 0; - $_etype467 = 0; - $xfer += $input->readListBegin($_etype467, $_size464); - for ($_i468 = 0; $_i468 < $_size464; ++$_i468) + $_size494 = 0; + $_etype497 = 0; + $xfer += $input->readListBegin($_etype497, $_size494); + for ($_i498 = 0; $_i498 < $_size494; ++$_i498) { - $elem469 = null; - $xfer += $input->readString($elem469); - $this->group_names []= $elem469; + $elem499 = null; + $xfer += $input->readString($elem499); + $this->group_names []= $elem499; } $xfer += $input->readListEnd(); } else { @@ -18500,9 +18500,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter470) + foreach ($this->group_names as $iter500) { - $xfer += $output->writeString($iter470); + $xfer += $output->writeString($iter500); } } $output->writeListEnd(); @@ -18789,15 +18789,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size471 = 0; - $_etype474 = 0; - $xfer += $input->readListBegin($_etype474, $_size471); - for ($_i475 = 0; $_i475 < $_size471; ++$_i475) + $_size501 = 0; + $_etype504 = 0; + $xfer += $input->readListBegin($_etype504, $_size501); + for ($_i505 = 0; $_i505 < $_size501; ++$_i505) { - $elem476 = null; - $elem476 = new HiveObjectPrivilege(); - $xfer += $elem476->read($input); - $this->success []= $elem476; + $elem506 = null; + $elem506 = new HiveObjectPrivilege(); + $xfer += $elem506->read($input); + $this->success []= $elem506; } $xfer += $input->readListEnd(); } else { @@ -18833,9 +18833,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter477) + foreach ($this->success as $iter507) { - $xfer += $iter477->write($output); + $xfer += $iter507->write($output); } } $output->writeListEnd(); @@ -19258,14 +19258,14 @@ case 2: if ($ftype == TType::LST) { $this->group_names = array(); - $_size478 = 0; - $_etype481 = 0; - $xfer += $input->readListBegin($_etype481, $_size478); - for ($_i482 = 0; $_i482 < $_size478; ++$_i482) + $_size508 = 0; + $_etype511 = 0; + $xfer += $input->readListBegin($_etype511, $_size508); + for ($_i512 = 0; $_i512 < $_size508; ++$_i512) { - $elem483 = null; - $xfer += $input->readString($elem483); - $this->group_names []= $elem483; + $elem513 = null; + $xfer += $input->readString($elem513); + $this->group_names []= $elem513; } $xfer += $input->readListEnd(); } else { @@ -19298,9 +19298,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter484) + foreach ($this->group_names as $iter514) { - $xfer += $output->writeString($iter484); + $xfer += $output->writeString($iter514); } } $output->writeListEnd(); @@ -19370,14 +19370,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size485 = 0; - $_etype488 = 0; - $xfer += $input->readListBegin($_etype488, $_size485); - for ($_i489 = 0; $_i489 < $_size485; ++$_i489) + $_size515 = 0; + $_etype518 = 0; + $xfer += $input->readListBegin($_etype518, $_size515); + for ($_i519 = 0; $_i519 < $_size515; ++$_i519) { - $elem490 = null; - $xfer += $input->readString($elem490); - $this->success []= $elem490; + $elem520 = null; + $xfer += $input->readString($elem520); + $this->success []= $elem520; } $xfer += $input->readListEnd(); } else { @@ -19413,9 +19413,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter491) + foreach ($this->success as $iter521) { - $xfer += $output->writeString($iter491); + $xfer += $output->writeString($iter521); } } $output->writeListEnd(); Index: metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php =================================================================== --- metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php (revision 1371773) +++ metastore/src/gen/thrift/gen-php/hive_metastore/hive_metastore_types.php (working copy) @@ -1825,6 +1825,104 @@ } +class StringList { + static $_TSPEC; + + public $internalList = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'internalList', + 'type' => TType::LST, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + ); + } + if (is_array($vals)) { + if (isset($vals['internalList'])) { + $this->internalList = $vals['internalList']; + } + } + } + + public function getName() { + return 'StringList'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 1: + if ($ftype == TType::LST) { + $this->internalList = array(); + $_size87 = 0; + $_etype90 = 0; + $xfer += $input->readListBegin($_etype90, $_size87); + for ($_i91 = 0; $_i91 < $_size87; ++$_i91) + { + $elem92 = null; + $xfer += $input->readString($elem92); + $this->internalList []= $elem92; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('StringList'); + if ($this->internalList !== null) { + if (!is_array($this->internalList)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('internalList', TType::LST, 1); + { + $output->writeListBegin(TType::STRING, count($this->internalList)); + { + foreach ($this->internalList as $iter93) + { + $xfer += $output->writeString($iter93); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + class StorageDescriptor { static $_TSPEC; @@ -1838,6 +1936,9 @@ public $bucketCols = null; public $sortCols = null; public $parameters = null; + public $skewedColNames = null; + public $skewedColValues = null; + public $skewedColValueLocationMaps = null; public function __construct($vals=null) { if (!isset(self::$_TSPEC)) { @@ -1905,6 +2006,36 @@ 'type' => TType::STRING, ), ), + 11 => array( + 'var' => 'skewedColNames', + 'type' => TType::LST, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + 12 => array( + 'var' => 'skewedColValues', + 'type' => TType::LST, + 'etype' => TType::STRUCT, + 'elem' => array( + 'type' => TType::STRUCT, + 'class' => 'StringList', + ), + ), + 13 => array( + 'var' => 'skewedColValueLocationMaps', + 'type' => TType::MAP, + 'ktype' => TType::STRUCT, + 'vtype' => TType::STRING, + 'key' => array( + 'type' => TType::STRUCT, + 'class' => 'StringList', + ), + 'val' => array( + 'type' => TType::STRING, + ), + ), ); } if (is_array($vals)) { @@ -1938,6 +2069,15 @@ if (isset($vals['parameters'])) { $this->parameters = $vals['parameters']; } + if (isset($vals['skewedColNames'])) { + $this->skewedColNames = $vals['skewedColNames']; + } + if (isset($vals['skewedColValues'])) { + $this->skewedColValues = $vals['skewedColValues']; + } + if (isset($vals['skewedColValueLocationMaps'])) { + $this->skewedColValueLocationMaps = $vals['skewedColValueLocationMaps']; + } } } @@ -1963,15 +2103,15 @@ case 1: if ($ftype == TType::LST) { $this->cols = array(); - $_size87 = 0; - $_etype90 = 0; - $xfer += $input->readListBegin($_etype90, $_size87); - for ($_i91 = 0; $_i91 < $_size87; ++$_i91) + $_size94 = 0; + $_etype97 = 0; + $xfer += $input->readListBegin($_etype97, $_size94); + for ($_i98 = 0; $_i98 < $_size94; ++$_i98) { - $elem92 = null; - $elem92 = new FieldSchema(); - $xfer += $elem92->read($input); - $this->cols []= $elem92; + $elem99 = null; + $elem99 = new FieldSchema(); + $xfer += $elem99->read($input); + $this->cols []= $elem99; } $xfer += $input->readListEnd(); } else { @@ -2024,14 +2164,14 @@ case 8: if ($ftype == TType::LST) { $this->bucketCols = array(); - $_size93 = 0; - $_etype96 = 0; - $xfer += $input->readListBegin($_etype96, $_size93); - for ($_i97 = 0; $_i97 < $_size93; ++$_i97) + $_size100 = 0; + $_etype103 = 0; + $xfer += $input->readListBegin($_etype103, $_size100); + for ($_i104 = 0; $_i104 < $_size100; ++$_i104) { - $elem98 = null; - $xfer += $input->readString($elem98); - $this->bucketCols []= $elem98; + $elem105 = null; + $xfer += $input->readString($elem105); + $this->bucketCols []= $elem105; } $xfer += $input->readListEnd(); } else { @@ -2041,15 +2181,15 @@ case 9: if ($ftype == TType::LST) { $this->sortCols = array(); - $_size99 = 0; - $_etype102 = 0; - $xfer += $input->readListBegin($_etype102, $_size99); - for ($_i103 = 0; $_i103 < $_size99; ++$_i103) + $_size106 = 0; + $_etype109 = 0; + $xfer += $input->readListBegin($_etype109, $_size106); + for ($_i110 = 0; $_i110 < $_size106; ++$_i110) { - $elem104 = null; - $elem104 = new Order(); - $xfer += $elem104->read($input); - $this->sortCols []= $elem104; + $elem111 = null; + $elem111 = new Order(); + $xfer += $elem111->read($input); + $this->sortCols []= $elem111; } $xfer += $input->readListEnd(); } else { @@ -2059,23 +2199,79 @@ case 10: if ($ftype == TType::MAP) { $this->parameters = array(); - $_size105 = 0; - $_ktype106 = 0; - $_vtype107 = 0; - $xfer += $input->readMapBegin($_ktype106, $_vtype107, $_size105); - for ($_i109 = 0; $_i109 < $_size105; ++$_i109) + $_size112 = 0; + $_ktype113 = 0; + $_vtype114 = 0; + $xfer += $input->readMapBegin($_ktype113, $_vtype114, $_size112); + for ($_i116 = 0; $_i116 < $_size112; ++$_i116) { - $key110 = ''; - $val111 = ''; - $xfer += $input->readString($key110); - $xfer += $input->readString($val111); - $this->parameters[$key110] = $val111; + $key117 = ''; + $val118 = ''; + $xfer += $input->readString($key117); + $xfer += $input->readString($val118); + $this->parameters[$key117] = $val118; } $xfer += $input->readMapEnd(); } else { $xfer += $input->skip($ftype); } break; + case 11: + if ($ftype == TType::LST) { + $this->skewedColNames = array(); + $_size119 = 0; + $_etype122 = 0; + $xfer += $input->readListBegin($_etype122, $_size119); + for ($_i123 = 0; $_i123 < $_size119; ++$_i123) + { + $elem124 = null; + $xfer += $input->readString($elem124); + $this->skewedColNames []= $elem124; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 12: + if ($ftype == TType::LST) { + $this->skewedColValues = array(); + $_size125 = 0; + $_etype128 = 0; + $xfer += $input->readListBegin($_etype128, $_size125); + for ($_i129 = 0; $_i129 < $_size125; ++$_i129) + { + $elem130 = null; + $elem130 = new StringList(); + $xfer += $elem130->read($input); + $this->skewedColValues []= $elem130; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 13: + if ($ftype == TType::MAP) { + $this->skewedColValueLocationMaps = array(); + $_size131 = 0; + $_ktype132 = 0; + $_vtype133 = 0; + $xfer += $input->readMapBegin($_ktype132, $_vtype133, $_size131); + for ($_i135 = 0; $_i135 < $_size131; ++$_i135) + { + $key136 = new StringList(); + $val137 = ''; + $key136 = new StringList(); + $xfer += $key136->read($input); + $xfer += $input->readString($val137); + $this->skewedColValueLocationMaps[$key136] = $val137; + } + $xfer += $input->readMapEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; default: $xfer += $input->skip($ftype); break; @@ -2097,9 +2293,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->cols)); { - foreach ($this->cols as $iter112) + foreach ($this->cols as $iter138) { - $xfer += $iter112->write($output); + $xfer += $iter138->write($output); } } $output->writeListEnd(); @@ -2147,9 +2343,9 @@ { $output->writeListBegin(TType::STRING, count($this->bucketCols)); { - foreach ($this->bucketCols as $iter113) + foreach ($this->bucketCols as $iter139) { - $xfer += $output->writeString($iter113); + $xfer += $output->writeString($iter139); } } $output->writeListEnd(); @@ -2164,9 +2360,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->sortCols)); { - foreach ($this->sortCols as $iter114) + foreach ($this->sortCols as $iter140) { - $xfer += $iter114->write($output); + $xfer += $iter140->write($output); } } $output->writeListEnd(); @@ -2181,16 +2377,68 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->parameters)); { - foreach ($this->parameters as $kiter115 => $viter116) + foreach ($this->parameters as $kiter141 => $viter142) { - $xfer += $output->writeString($kiter115); - $xfer += $output->writeString($viter116); + $xfer += $output->writeString($kiter141); + $xfer += $output->writeString($viter142); } } $output->writeMapEnd(); } $xfer += $output->writeFieldEnd(); } + if ($this->skewedColNames !== null) { + if (!is_array($this->skewedColNames)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('skewedColNames', TType::LST, 11); + { + $output->writeListBegin(TType::STRING, count($this->skewedColNames)); + { + foreach ($this->skewedColNames as $iter143) + { + $xfer += $output->writeString($iter143); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->skewedColValues !== null) { + if (!is_array($this->skewedColValues)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('skewedColValues', TType::LST, 12); + { + $output->writeListBegin(TType::STRUCT, count($this->skewedColValues)); + { + foreach ($this->skewedColValues as $iter144) + { + $xfer += $iter144->write($output); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->skewedColValueLocationMaps !== null) { + if (!is_array($this->skewedColValueLocationMaps)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('skewedColValueLocationMaps', TType::MAP, 13); + { + $output->writeMapBegin(TType::STRUCT, TType::STRING, count($this->skewedColValueLocationMaps)); + { + foreach ($this->skewedColValueLocationMaps as $kiter145 => $viter146) + { + $xfer += $kiter145->write($output); + $xfer += $output->writeString($viter146); + } + } + $output->writeMapEnd(); + } + $xfer += $output->writeFieldEnd(); + } $xfer += $output->writeFieldStop(); $xfer += $output->writeStructEnd(); return $xfer; @@ -2402,15 +2650,15 @@ case 8: if ($ftype == TType::LST) { $this->partitionKeys = array(); - $_size117 = 0; - $_etype120 = 0; - $xfer += $input->readListBegin($_etype120, $_size117); - for ($_i121 = 0; $_i121 < $_size117; ++$_i121) + $_size147 = 0; + $_etype150 = 0; + $xfer += $input->readListBegin($_etype150, $_size147); + for ($_i151 = 0; $_i151 < $_size147; ++$_i151) { - $elem122 = null; - $elem122 = new FieldSchema(); - $xfer += $elem122->read($input); - $this->partitionKeys []= $elem122; + $elem152 = null; + $elem152 = new FieldSchema(); + $xfer += $elem152->read($input); + $this->partitionKeys []= $elem152; } $xfer += $input->readListEnd(); } else { @@ -2420,17 +2668,17 @@ case 9: if ($ftype == TType::MAP) { $this->parameters = array(); - $_size123 = 0; - $_ktype124 = 0; - $_vtype125 = 0; - $xfer += $input->readMapBegin($_ktype124, $_vtype125, $_size123); - for ($_i127 = 0; $_i127 < $_size123; ++$_i127) + $_size153 = 0; + $_ktype154 = 0; + $_vtype155 = 0; + $xfer += $input->readMapBegin($_ktype154, $_vtype155, $_size153); + for ($_i157 = 0; $_i157 < $_size153; ++$_i157) { - $key128 = ''; - $val129 = ''; - $xfer += $input->readString($key128); - $xfer += $input->readString($val129); - $this->parameters[$key128] = $val129; + $key158 = ''; + $val159 = ''; + $xfer += $input->readString($key158); + $xfer += $input->readString($val159); + $this->parameters[$key158] = $val159; } $xfer += $input->readMapEnd(); } else { @@ -2525,9 +2773,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->partitionKeys)); { - foreach ($this->partitionKeys as $iter130) + foreach ($this->partitionKeys as $iter160) { - $xfer += $iter130->write($output); + $xfer += $iter160->write($output); } } $output->writeListEnd(); @@ -2542,10 +2790,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->parameters)); { - foreach ($this->parameters as $kiter131 => $viter132) + foreach ($this->parameters as $kiter161 => $viter162) { - $xfer += $output->writeString($kiter131); - $xfer += $output->writeString($viter132); + $xfer += $output->writeString($kiter161); + $xfer += $output->writeString($viter162); } } $output->writeMapEnd(); @@ -2695,14 +2943,14 @@ case 1: if ($ftype == TType::LST) { $this->values = array(); - $_size133 = 0; - $_etype136 = 0; - $xfer += $input->readListBegin($_etype136, $_size133); - for ($_i137 = 0; $_i137 < $_size133; ++$_i137) + $_size163 = 0; + $_etype166 = 0; + $xfer += $input->readListBegin($_etype166, $_size163); + for ($_i167 = 0; $_i167 < $_size163; ++$_i167) { - $elem138 = null; - $xfer += $input->readString($elem138); - $this->values []= $elem138; + $elem168 = null; + $xfer += $input->readString($elem168); + $this->values []= $elem168; } $xfer += $input->readListEnd(); } else { @@ -2748,17 +2996,17 @@ case 7: if ($ftype == TType::MAP) { $this->parameters = array(); - $_size139 = 0; - $_ktype140 = 0; - $_vtype141 = 0; - $xfer += $input->readMapBegin($_ktype140, $_vtype141, $_size139); - for ($_i143 = 0; $_i143 < $_size139; ++$_i143) + $_size169 = 0; + $_ktype170 = 0; + $_vtype171 = 0; + $xfer += $input->readMapBegin($_ktype170, $_vtype171, $_size169); + for ($_i173 = 0; $_i173 < $_size169; ++$_i173) { - $key144 = ''; - $val145 = ''; - $xfer += $input->readString($key144); - $xfer += $input->readString($val145); - $this->parameters[$key144] = $val145; + $key174 = ''; + $val175 = ''; + $xfer += $input->readString($key174); + $xfer += $input->readString($val175); + $this->parameters[$key174] = $val175; } $xfer += $input->readMapEnd(); } else { @@ -2794,9 +3042,9 @@ { $output->writeListBegin(TType::STRING, count($this->values)); { - foreach ($this->values as $iter146) + foreach ($this->values as $iter176) { - $xfer += $output->writeString($iter146); + $xfer += $output->writeString($iter176); } } $output->writeListEnd(); @@ -2839,10 +3087,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->parameters)); { - foreach ($this->parameters as $kiter147 => $viter148) + foreach ($this->parameters as $kiter177 => $viter178) { - $xfer += $output->writeString($kiter147); - $xfer += $output->writeString($viter148); + $xfer += $output->writeString($kiter177); + $xfer += $output->writeString($viter178); } } $output->writeMapEnd(); @@ -3045,17 +3293,17 @@ case 9: if ($ftype == TType::MAP) { $this->parameters = array(); - $_size149 = 0; - $_ktype150 = 0; - $_vtype151 = 0; - $xfer += $input->readMapBegin($_ktype150, $_vtype151, $_size149); - for ($_i153 = 0; $_i153 < $_size149; ++$_i153) + $_size179 = 0; + $_ktype180 = 0; + $_vtype181 = 0; + $xfer += $input->readMapBegin($_ktype180, $_vtype181, $_size179); + for ($_i183 = 0; $_i183 < $_size179; ++$_i183) { - $key154 = ''; - $val155 = ''; - $xfer += $input->readString($key154); - $xfer += $input->readString($val155); - $this->parameters[$key154] = $val155; + $key184 = ''; + $val185 = ''; + $xfer += $input->readString($key184); + $xfer += $input->readString($val185); + $this->parameters[$key184] = $val185; } $xfer += $input->readMapEnd(); } else { @@ -3133,10 +3381,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->parameters)); { - foreach ($this->parameters as $kiter156 => $viter157) + foreach ($this->parameters as $kiter186 => $viter187) { - $xfer += $output->writeString($kiter156); - $xfer += $output->writeString($viter157); + $xfer += $output->writeString($kiter186); + $xfer += $output->writeString($viter187); } } $output->writeMapEnd(); @@ -3219,15 +3467,15 @@ case 1: if ($ftype == TType::LST) { $this->fieldSchemas = array(); - $_size158 = 0; - $_etype161 = 0; - $xfer += $input->readListBegin($_etype161, $_size158); - for ($_i162 = 0; $_i162 < $_size158; ++$_i162) + $_size188 = 0; + $_etype191 = 0; + $xfer += $input->readListBegin($_etype191, $_size188); + for ($_i192 = 0; $_i192 < $_size188; ++$_i192) { - $elem163 = null; - $elem163 = new FieldSchema(); - $xfer += $elem163->read($input); - $this->fieldSchemas []= $elem163; + $elem193 = null; + $elem193 = new FieldSchema(); + $xfer += $elem193->read($input); + $this->fieldSchemas []= $elem193; } $xfer += $input->readListEnd(); } else { @@ -3237,17 +3485,17 @@ case 2: if ($ftype == TType::MAP) { $this->properties = array(); - $_size164 = 0; - $_ktype165 = 0; - $_vtype166 = 0; - $xfer += $input->readMapBegin($_ktype165, $_vtype166, $_size164); - for ($_i168 = 0; $_i168 < $_size164; ++$_i168) + $_size194 = 0; + $_ktype195 = 0; + $_vtype196 = 0; + $xfer += $input->readMapBegin($_ktype195, $_vtype196, $_size194); + for ($_i198 = 0; $_i198 < $_size194; ++$_i198) { - $key169 = ''; - $val170 = ''; - $xfer += $input->readString($key169); - $xfer += $input->readString($val170); - $this->properties[$key169] = $val170; + $key199 = ''; + $val200 = ''; + $xfer += $input->readString($key199); + $xfer += $input->readString($val200); + $this->properties[$key199] = $val200; } $xfer += $input->readMapEnd(); } else { @@ -3275,9 +3523,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->fieldSchemas)); { - foreach ($this->fieldSchemas as $iter171) + foreach ($this->fieldSchemas as $iter201) { - $xfer += $iter171->write($output); + $xfer += $iter201->write($output); } } $output->writeListEnd(); @@ -3292,10 +3540,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->properties)); { - foreach ($this->properties as $kiter172 => $viter173) + foreach ($this->properties as $kiter202 => $viter203) { - $xfer += $output->writeString($kiter172); - $xfer += $output->writeString($viter173); + $xfer += $output->writeString($kiter202); + $xfer += $output->writeString($viter203); } } $output->writeMapEnd(); @@ -3360,17 +3608,17 @@ case 1: if ($ftype == TType::MAP) { $this->properties = array(); - $_size174 = 0; - $_ktype175 = 0; - $_vtype176 = 0; - $xfer += $input->readMapBegin($_ktype175, $_vtype176, $_size174); - for ($_i178 = 0; $_i178 < $_size174; ++$_i178) + $_size204 = 0; + $_ktype205 = 0; + $_vtype206 = 0; + $xfer += $input->readMapBegin($_ktype205, $_vtype206, $_size204); + for ($_i208 = 0; $_i208 < $_size204; ++$_i208) { - $key179 = ''; - $val180 = ''; - $xfer += $input->readString($key179); - $xfer += $input->readString($val180); - $this->properties[$key179] = $val180; + $key209 = ''; + $val210 = ''; + $xfer += $input->readString($key209); + $xfer += $input->readString($val210); + $this->properties[$key209] = $val210; } $xfer += $input->readMapEnd(); } else { @@ -3398,10 +3646,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->properties)); { - foreach ($this->properties as $kiter181 => $viter182) + foreach ($this->properties as $kiter211 => $viter212) { - $xfer += $output->writeString($kiter181); - $xfer += $output->writeString($viter182); + $xfer += $output->writeString($kiter211); + $xfer += $output->writeString($viter212); } } $output->writeMapEnd(); Index: metastore/if/hive_metastore.thrift =================================================================== --- metastore/if/hive_metastore.thrift (revision 1371773) +++ metastore/if/hive_metastore.thrift (working copy) @@ -131,6 +131,11 @@ 2: i32 order // asc(1) or desc(0) } +// A list of String +struct StringList { + 1: list internalList, +} + // this object holds all the information about physical storage of the data belonging to a table struct StorageDescriptor { 1: list cols, // required (refer to types defined above) @@ -143,6 +148,9 @@ 8: list bucketCols, // reducer grouping columns and clustering columns and bucketing columns` 9: list sortCols, // sort order of the data in each bucket 10: map parameters // any user supplied key value hash + 11: list skewedColNames, // skewed column names + 12: list skewedColValues, //skewed values + 13: map skewedColValueLocationMaps, //skewed value to location mappings } // table information Index: ql/src/test/results/clientnegative/create_skewed_table_dup_col_name.q.out =================================================================== --- ql/src/test/results/clientnegative/create_skewed_table_dup_col_name.q.out (revision 0) +++ ql/src/test/results/clientnegative/create_skewed_table_dup_col_name.q.out (revision 0) @@ -0,0 +1 @@ +FAILED: SemanticException [Error 10202]: To create skewed table but duplicate skewed column name: key Index: ql/src/test/results/clientnegative/create_skewed_table_failure_invalid_col_name.q.out =================================================================== --- ql/src/test/results/clientnegative/create_skewed_table_failure_invalid_col_name.q.out (revision 0) +++ ql/src/test/results/clientnegative/create_skewed_table_failure_invalid_col_name.q.out (revision 0) @@ -0,0 +1 @@ +FAILED: SemanticException [Error 10203]: To create skewed table but invalid skewed column name: key_non Index: ql/src/test/results/clientnegative/create_skewed_table_col_name_value_no_mismatch.q.out =================================================================== --- ql/src/test/results/clientnegative/create_skewed_table_col_name_value_no_mismatch.q.out (revision 0) +++ ql/src/test/results/clientnegative/create_skewed_table_col_name_value_no_mismatch.q.out (revision 0) @@ -0,0 +1 @@ +FAILED: SemanticException [Error 10206]: To create skewed table but number of skewed column names and number of skewed column values are not the same: 1 : 2 Index: ql/src/test/results/clientpositive/create_skewed_table.q.out =================================================================== --- ql/src/test/results/clientpositive/create_skewed_table.q.out (revision 0) +++ ql/src/test/results/clientpositive/create_skewed_table.q.out (revision 0) @@ -0,0 +1,163 @@ +PREHOOK: query: CREATE TABLE list_bucket_single (key STRING, value STRING) SKEWED BY (key) ON (1,5,6) +PREHOOK: type: CREATETABLE +POSTHOOK: query: CREATE TABLE list_bucket_single (key STRING, value STRING) SKEWED BY (key) ON (1,5,6) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@list_bucket_single +PREHOOK: query: CREATE TABLE list_bucket_single_2 (key STRING, value STRING) SKEWED BY (key) ON ((1),(5),(6)) +PREHOOK: type: CREATETABLE +POSTHOOK: query: CREATE TABLE list_bucket_single_2 (key STRING, value STRING) SKEWED BY (key) ON ((1),(5),(6)) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@list_bucket_single_2 +PREHOOK: query: CREATE TABLE list_bucket_multiple (col1 STRING, col2 int, col3 STRING) SKEWED BY (col1, col2) ON (('s1',1), ('s3',3), ('s13',13), ('s78',78)) +PREHOOK: type: CREATETABLE +POSTHOOK: query: CREATE TABLE list_bucket_multiple (col1 STRING, col2 int, col3 STRING) SKEWED BY (col1, col2) ON (('s1',1), ('s3',3), ('s13',13), ('s78',78)) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@list_bucket_multiple +PREHOOK: query: describe list_bucket_single +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe list_bucket_single +POSTHOOK: type: DESCTABLE +key string +value string +PREHOOK: query: describe list_bucket_multiple +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe list_bucket_multiple +POSTHOOK: type: DESCTABLE +col1 string +col2 int +col3 string +PREHOOK: query: describe extended list_bucket_single +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe extended list_bucket_single +POSTHOOK: type: DESCTABLE +key string +value string + +#### A masked pattern was here #### +PREHOOK: query: describe extended list_bucket_multiple +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe extended list_bucket_multiple +POSTHOOK: type: DESCTABLE +col1 string +col2 int +col3 string + +#### A masked pattern was here #### +PREHOOK: query: describe formatted list_bucket_single_2 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe formatted list_bucket_single_2 +POSTHOOK: type: DESCTABLE +# col_name data_type comment + +key string None +value string None + +# Detailed Table Information +Database: default +#### A masked pattern was here #### +Protect Mode: None +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Skewed Columns: [key] +Skewed Values: [[1], [5], [6]] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted list_bucket_single +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe formatted list_bucket_single +POSTHOOK: type: DESCTABLE +# col_name data_type comment + +key string None +value string None + +# Detailed Table Information +Database: default +#### A masked pattern was here #### +Protect Mode: None +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Skewed Columns: [key] +Skewed Values: [[1], [5], [6]] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: describe formatted list_bucket_multiple +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe formatted list_bucket_multiple +POSTHOOK: type: DESCTABLE +# col_name data_type comment + +col1 string None +col2 int None +col3 string None + +# Detailed Table Information +Database: default +#### A masked pattern was here #### +Protect Mode: None +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Skewed Columns: [col1, col2] +Skewed Values: [['s1', 1], ['s3', 3], ['s13', 13], ['s78', 78]] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: drop table list_bucket_single +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@list_bucket_single +PREHOOK: Output: default@list_bucket_single +POSTHOOK: query: drop table list_bucket_single +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@list_bucket_single +POSTHOOK: Output: default@list_bucket_single +PREHOOK: query: drop table list_bucket_multiple +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@list_bucket_multiple +PREHOOK: Output: default@list_bucket_multiple +POSTHOOK: query: drop table list_bucket_multiple +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@list_bucket_multiple +POSTHOOK: Output: default@list_bucket_multiple +PREHOOK: query: drop table list_bucket_single_2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@list_bucket_single_2 +PREHOOK: Output: default@list_bucket_single_2 +POSTHOOK: query: drop table list_bucket_single_2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@list_bucket_single_2 +POSTHOOK: Output: default@list_bucket_single_2 Index: ql/src/test/queries/clientnegative/create_skewed_table_failure_invalid_col_name.q =================================================================== --- ql/src/test/queries/clientnegative/create_skewed_table_failure_invalid_col_name.q (revision 0) +++ ql/src/test/queries/clientnegative/create_skewed_table_failure_invalid_col_name.q (revision 0) @@ -0,0 +1 @@ +CREATE TABLE skewed_table (key STRING, value STRING) SKEWED BY (key_non) ON ((1),(5),(6)); Index: ql/src/test/queries/clientnegative/create_skewed_table_dup_col_name.q =================================================================== --- ql/src/test/queries/clientnegative/create_skewed_table_dup_col_name.q (revision 0) +++ ql/src/test/queries/clientnegative/create_skewed_table_dup_col_name.q (revision 0) @@ -0,0 +1 @@ +CREATE TABLE skewed_table (key STRING, value STRING) SKEWED BY (key,key) ON ((1),(5),(6)); Index: ql/src/test/queries/clientnegative/create_skewed_table_col_name_value_no_mismatch.q =================================================================== --- ql/src/test/queries/clientnegative/create_skewed_table_col_name_value_no_mismatch.q (revision 0) +++ ql/src/test/queries/clientnegative/create_skewed_table_col_name_value_no_mismatch.q (revision 0) @@ -0,0 +1 @@ +CREATE TABLE skewed_table (key STRING, value STRING) SKEWED BY (key) ON ((1),(5,8),(6)); Index: ql/src/test/queries/clientpositive/create_skewed_table.q =================================================================== --- ql/src/test/queries/clientpositive/create_skewed_table.q (revision 0) +++ ql/src/test/queries/clientpositive/create_skewed_table.q (revision 0) @@ -0,0 +1,26 @@ +CREATE TABLE list_bucket_single (key STRING, value STRING) SKEWED BY (key) ON (1,5,6); + +CREATE TABLE list_bucket_single_2 (key STRING, value STRING) SKEWED BY (key) ON ((1),(5),(6)); + +CREATE TABLE list_bucket_multiple (col1 STRING, col2 int, col3 STRING) SKEWED BY (col1, col2) ON (('s1',1), ('s3',3), ('s13',13), ('s78',78)); + + +describe list_bucket_single; + +describe list_bucket_multiple; + +describe extended list_bucket_single; + +describe extended list_bucket_multiple; + +describe formatted list_bucket_single_2; + +describe formatted list_bucket_single; + +describe formatted list_bucket_multiple; + +drop table list_bucket_single; + +drop table list_bucket_multiple; + +drop table list_bucket_single_2; Index: ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java (working copy) @@ -90,6 +90,10 @@ DESCDATABASE("DESCDATABASE", null, null), ALTERTABLE_MERGEFILES("ALTER_TABLE_MERGE", new Privilege[] { Privilege.SELECT }, new Privilege[] { Privilege.ALTER_DATA }), ALTERPARTITION_MERGEFILES("ALTER_PARTITION_MERGE", new Privilege[] { Privilege.SELECT }, new Privilege[] { Privilege.ALTER_DATA }), + ALTERTABLE_SKEWED_LOCATION("ALTERTABLE_SKEWED_LOCATION", new Privilege[] {Privilege.ALTER_DATA}, + null), + ALTERPARTITION_SKEWED_LOCATION("ALTERPARTITION_SKEWED_LOCATION", + new Privilege[] {Privilege.ALTER_DATA}, null), ; private String operationName; Index: ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java (working copy) @@ -25,6 +25,7 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.Order; +import org.apache.hadoop.hive.metastore.api.StringList; import org.apache.hadoop.hive.ql.exec.Utilities; /** @@ -56,6 +57,8 @@ Map serdeProps; Map tblProps; boolean ifNotExists; + ArrayList skewedColNames; + ArrayList skewedColValues; public CreateTableDesc() { } @@ -69,13 +72,13 @@ String storageHandler, Map serdeProps, Map tblProps, - boolean ifNotExists) { + boolean ifNotExists, List skewedColNames, List skewedColValues) { this(tableName, isExternal, cols, partCols, bucketCols, sortCols, numBuckets, fieldDelim, fieldEscape, collItemDelim, mapKeyDelim, lineDelim, comment, inputFormat, outputFormat, location, serName, storageHandler, serdeProps, - tblProps, ifNotExists); + tblProps, ifNotExists, skewedColNames, skewedColValues); this.databaseName = databaseName; } @@ -89,7 +92,7 @@ String storageHandler, Map serdeProps, Map tblProps, - boolean ifNotExists) { + boolean ifNotExists, List skewedColNames, List skewedColValues) { this.tableName = tableName; this.isExternal = isExternal; this.bucketCols = new ArrayList(bucketCols); @@ -111,6 +114,8 @@ this.serdeProps = serdeProps; this.tblProps = tblProps; this.ifNotExists = ifNotExists; + this.skewedColNames = new ArrayList(skewedColNames); + this.skewedColValues = new ArrayList(skewedColValues); } @Explain(displayName = "columns") @@ -342,4 +347,31 @@ this.tblProps = tblProps; } + /** + * @return the skewedColNames + */ + public List getSkewedColNames() { + return skewedColNames; + } + + /** + * @param skewedColNames the skewedColNames to set + */ + public void setSkewedColNames(ArrayList skewedColNames) { + this.skewedColNames = skewedColNames; + } + + /** + * @return the skewedColValues + */ + public List getSkewedColValues() { + return skewedColValues; + } + + /** + * @param skewedColValues the skewedColValues to set + */ + public void setSkewedColValues(ArrayList skewedColValues) { + this.skewedColValues = skewedColValues; + } } Index: ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeColumnDesc.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeColumnDesc.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeColumnDesc.java (working copy) @@ -47,6 +47,11 @@ */ private boolean isPartitionColOrVirtualCol; + /** + * Is the column a skewed column + */ + private boolean isSkewedCol; + public ExprNodeColumnDesc() { } @@ -66,6 +71,15 @@ this.isPartitionColOrVirtualCol = isPartitionColOrVirtualCol; } + public ExprNodeColumnDesc(TypeInfo typeInfo, String column, String tabAlias, + boolean isPartitionColOrVirtualCol, boolean isSkewedCol) { + super(typeInfo); + this.column = column; + this.tabAlias = tabAlias; + this.isPartitionColOrVirtualCol = isPartitionColOrVirtualCol; + this.isSkewedCol = isSkewedCol; + } + public String getColumn() { return column; } @@ -110,7 +124,8 @@ @Override public ExprNodeDesc clone() { - return new ExprNodeColumnDesc(typeInfo, column, tabAlias, isPartitionColOrVirtualCol); + return new ExprNodeColumnDesc(typeInfo, column, tabAlias, isPartitionColOrVirtualCol, + isSkewedCol); } @Override @@ -127,4 +142,18 @@ } return true; } + + /** + * @return the isSkewedCol + */ + public boolean isSkewedCol() { + return isSkewedCol; + } + + /** + * @param isSkewedCol the isSkewedCol to set + */ + public void setSkewedCol(boolean isSkewedCol) { + this.isSkewedCol = isSkewedCol; + } } Index: ql/src/java/org/apache/hadoop/hive/ql/parse/SkewedInformationFacade.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/SkewedInformationFacade.java (revision 0) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SkewedInformationFacade.java (revision 0) @@ -0,0 +1,78 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.ql.parse; + +import java.util.List; +import java.util.Map; + +import org.apache.hadoop.hive.metastore.api.StringList; +import org.apache.hadoop.hive.ql.metadata.Table; + +/** + * A set of interfaces to retrieve skewed related information + * + */ +public class SkewedInformationFacade { + + private QB qb; + + public SkewedInformationFacade(ParseContext ctx){ + if(null != ctx) { + this.qb = ctx.getQB(); + } + } + + public SkewedInformationFacade(QB qb){ + this.qb = qb; + } + + + /** + * Retrieve skewed column names in the table. + * @param tableAlias + * table name + * @return + */ + public List getSkewedColumnNames(String tableAlias){ + Table tbl = ParseUtils.getTableFromParseContext(this.qb,tableAlias); + return null == tbl ? null : tbl.getSkewedColName(); + } + + /** + * Retrieve skewed column values in the table. + * @param tableAlias + * table name + * @return + */ + public List getSkewedColumnValues(String tableAlias){ + Table tbl = ParseUtils.getTableFromParseContext(this.qb,tableAlias); + return null == tbl? null : tbl.getSkewedColValues(); + } + + /** + * Retrieve skewed column mappings in the table. + * @param tableAlias + * table name + * @return + */ + public Map getSkewedMappings(String tableAlias){ + Table tbl = ParseUtils.getTableFromParseContext(this.qb,tableAlias); + return null == tbl? null : tbl.getSkewedColValueLocationMaps(); + } +} Index: ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g (working copy) @@ -259,6 +259,10 @@ TOK_TABSRC; TOK_RESTRICT; TOK_CASCADE; +TOK_TABLESKEWED; +TOK_TABCOLVALUE; +TOK_TABCOLVALUE_PAIR; +TOK_TABCOLVALUES; } @@ -451,6 +455,7 @@ tableComment? tablePartition? tableBuckets? + tableSkewed? tableRowFormat? tableFileFormat? tableLocation? @@ -463,6 +468,7 @@ tableComment? tablePartition? tableBuckets? + tableSkewed? tableRowFormat? tableFileFormat? tableLocation? @@ -1080,6 +1086,14 @@ -> ^(TOK_TABLEBUCKETS $bucketCols $sortCols? $num) ; +tableSkewed +@init { msgs.push("table skewed specification"); } +@after { msgs.pop(); } + : + KW_SKEWED KW_BY LPAREN skewedCols=columnNameList RPAREN KW_ON LPAREN (skewedValues=skewedValueElement) RPAREN + -> ^(TOK_TABLESKEWED $skewedCols $skewedValues) + ; + rowFormat @init { msgs.push("serde specification"); } @after { msgs.pop(); } @@ -1241,6 +1255,41 @@ : columnNameOrder (COMMA columnNameOrder)* -> ^(TOK_TABCOLNAME columnNameOrder+) ; +skewedValueElement +@init { msgs.push("skewed value element"); } +@after { msgs.pop(); } + : + columnValues + | columnValuePairList + ; + +columnValuePairList +@init { msgs.push("column value pair list"); } +@after { msgs.pop(); } + : columnValuePair (COMMA columnValuePair)* -> ^(TOK_TABCOLVALUE_PAIR columnValuePair+) + ; + +columnValuePair +@init { msgs.push("column value pair"); } +@after { msgs.pop(); } + : + LPAREN colValues=columnValues RPAREN + -> ^(TOK_TABCOLVALUES $colValues) + ; + +columnValues +@init { msgs.push("column values"); } +@after { msgs.pop(); } + : columnValue (COMMA columnValue)* -> ^(TOK_TABCOLVALUE columnValue+) + ; + +columnValue +@init { msgs.push("column value"); } +@after { msgs.pop(); } + : + constant + ; + columnNameOrder @init { msgs.push("column name order"); } @after { msgs.pop(); } @@ -2367,6 +2416,7 @@ KW_UPDATE: 'UPDATE'; KW_RESTRICT: 'RESTRICT'; KW_CASCADE: 'CASCADE'; +KW_SKEWED: 'SKEWED'; // Operators Index: ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java (working copy) @@ -112,7 +112,8 @@ table.getSd().getSerdeInfo().getSerializationLib(), null, // storagehandler passed as table params table.getSd().getSerdeInfo().getParameters(), - table.getParameters(), false); + table.getParameters(), false, table.getSd().getSkewedColNames(), + table.getSd().getSkewedColValues()); List partCols = tblDesc.getPartCols(); Index: ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (working copy) @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.Serializable; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -47,6 +48,7 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.MetaException; import org.apache.hadoop.hive.metastore.api.Order; +import org.apache.hadoop.hive.metastore.api.StringList; import org.apache.hadoop.hive.ql.Context; import org.apache.hadoop.hive.ql.ErrorMsg; import org.apache.hadoop.hive.ql.QueryProperties; @@ -195,6 +197,7 @@ private UnionProcContext uCtx; List> listMapJoinOpsNoReducer; private HashMap opToSamplePruner; + private final HashMap opToLBPruner; /** * a map for the split sampling, from ailias to an instance of SplitSample * that describes percentage and number. @@ -246,6 +249,7 @@ autogenColAliasPrfxIncludeFuncName = HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_AUTOGEN_COLUMNALIAS_PREFIX_INCLUDEFUNCNAME); queryProperties = new QueryProperties(); + opToLBPruner = new HashMap(); } @Override @@ -292,7 +296,7 @@ topSelOps, opParseCtx, joinContext, topToTable, loadTableWork, loadFileWork, ctx, idToTableNameMap, destTableId, uCtx, listMapJoinOpsNoReducer, groupOpToInputTables, prunedPartitions, - opToSamplePruner, globalLimitCtx, nameToSplitSample, inputs, rootTasks); + opToSamplePruner, globalLimitCtx, nameToSplitSample, inputs, rootTasks, opToLBPruner); } @SuppressWarnings("nls") @@ -1590,7 +1594,7 @@ } ExprNodeColumnDesc expr = new ExprNodeColumnDesc(colInfo.getType(), - name, colInfo.getTabAlias(), colInfo.getIsVirtualCol()); + name, colInfo.getTabAlias(), colInfo.getIsVirtualCol(), colInfo.isSkewedCol()); col_list.add(expr); output.put(tmp[0], tmp[1], new ColumnInfo(getColumnInternalName(pos), colInfo.getType(), @@ -2279,9 +2283,15 @@ throw new SemanticException(ErrorMsg.AMBIGUOUS_COLUMN.getMsg(colAlias)); } - out_rwsch.put(tabAlias, colAlias, new ColumnInfo( - getColumnInternalName(pos), exp.getWritableObjectInspector(), - tabAlias, false)); + if(exp instanceof ExprNodeColumnDesc){ + out_rwsch.put(tabAlias, colAlias, new ColumnInfo( + getColumnInternalName(pos), exp.getWritableObjectInspector(), + tabAlias, false,((ExprNodeColumnDesc)exp).isSkewedCol())); + }else{ + out_rwsch.put(tabAlias, colAlias, new ColumnInfo( + getColumnInternalName(pos), exp.getWritableObjectInspector(), + tabAlias, false)); + } pos = Integer.valueOf(pos.intValue() + 1); } @@ -4375,7 +4385,7 @@ .getTypeInfoFromObjectInspector(tableFieldOI); TypeInfo rowFieldTypeInfo = rowFields.get(i).getType(); ExprNodeDesc column = new ExprNodeColumnDesc(rowFieldTypeInfo, - rowFields.get(i).getInternalName(), "", false); + rowFields.get(i).getInternalName(), "", false, rowFields.get(i).isSkewedCol()); // LazySimpleSerDe can convert any types to String type using // JSON-format. if (!tableFieldTypeInfo.equals(rowFieldTypeInfo) @@ -6451,10 +6461,20 @@ List fields = rowObjectInspector .getAllStructFieldRefs(); for (int i = 0; i < fields.size(); i++) { - rwsch.put(alias, fields.get(i).getFieldName(), new ColumnInfo(fields - .get(i).getFieldName(), TypeInfoUtils - .getTypeInfoFromObjectInspector(fields.get(i) - .getFieldObjectInspector()), alias, false)); + /** + * if the column is a skewed column, use ColumnInfo accordingly + */ + if(isSkewedCol(alias, qb, fields.get(i).getFieldName())){ + rwsch.put(alias, fields.get(i).getFieldName(), new ColumnInfo(true, fields + .get(i).getFieldName(), TypeInfoUtils + .getTypeInfoFromObjectInspector(fields.get(i) + .getFieldObjectInspector()), alias, false)); + }else { + rwsch.put(alias, fields.get(i).getFieldName(), new ColumnInfo(fields + .get(i).getFieldName(), TypeInfoUtils + .getTypeInfoFromObjectInspector(fields.get(i) + .getFieldObjectInspector()), alias, false)); + } } } catch (SerDeException e) { throw new RuntimeException(e); @@ -6635,6 +6655,18 @@ return output; } + private boolean isSkewedCol(String alias, QB qb, String colName) { + boolean isSkewedCol = false; + SkewedInformationFacade sFacade = new SkewedInformationFacade(qb); + List skewedCols = sFacade.getSkewedColumnNames(alias); + for(String skewedCol:skewedCols){ + if(skewedCol.equalsIgnoreCase(colName)) { + isSkewedCol = true; + } + } + return isSkewedCol; + } + private void setupStats(TableScanDesc tsDesc, QBParseInfo qbp, Table tab, String alias, RowResolver rwsch) throws SemanticException { @@ -7419,7 +7451,7 @@ opToPartList, topOps, topSelOps, opParseCtx, joinContext, topToTable, loadTableWork, loadFileWork, ctx, idToTableNameMap, destTableId, uCtx, listMapJoinOpsNoReducer, groupOpToInputTables, prunedPartitions, - opToSamplePruner, globalLimitCtx, nameToSplitSample, inputs, rootTasks); + opToSamplePruner, globalLimitCtx, nameToSplitSample, inputs, rootTasks, opToLBPruner); Optimizer optm = new Optimizer(); optm.setPctx(pCtx); @@ -7618,7 +7650,7 @@ } return new ExprNodeColumnDesc(colInfo.getType(), colInfo .getInternalName(), colInfo.getTabAlias(), colInfo - .getIsVirtualCol()); + .getIsVirtualCol(), colInfo.isSkewedCol()); } // Create the walker and the rules dispatcher. @@ -7848,6 +7880,9 @@ final int CTLT = 1; // CREATE TABLE LIKE ... (CTLT) final int CTAS = 2; // CREATE TABLE AS SELECT ... (CTAS) int command_type = CREATE_TABLE; + List skewedColNames = new ArrayList(); + List skewedValues = new ArrayList(); + Map listBucketColValuesMapping = new HashMap(); RowFormatParams rowFormatParams = new RowFormatParams(); StorageFormat storageFormat = new StorageFormat(); @@ -7955,7 +7990,50 @@ case HiveParser.TOK_FILEFORMAT_GENERIC: handleGenericFileFormat(child); break; - + case HiveParser.TOK_TABLESKEWED: + // skewed column names + skewedColNames = analyzeCreateTableSkewedColNames(skewedColNames, child); + // skewed value + Tree vNode = child.getChild(1); + if (vNode == null) { + throw new SemanticException(ErrorMsg.CREATE_SKEWED_TABLE_NO_COLUMN_VALUE.getMsg()); + } else { + ASTNode vAstNode = (ASTNode)vNode; + switch(vAstNode.getToken().getType()) { + case HiveParser.TOK_TABCOLVALUE: + for(String str : getColumnValues(vAstNode)){ + StringList sList = new StringList(Arrays.asList(str)); + skewedValues.add(sList); + } + break; + case HiveParser.TOK_TABCOLVALUE_PAIR: + ArrayList vLNodes = vAstNode.getChildren(); + for(Node node : vLNodes) { + if ( ((ASTNode)node).getToken().getType() != HiveParser.TOK_TABCOLVALUES) { + throw new SemanticException( + ErrorMsg.CREATE_SKEWED_TABLE_NO_COLUMN_VALUE.getMsg()); + } else { + Tree leafVNode = ((ASTNode)node).getChild(0); + if (leafVNode == null){ + throw new SemanticException( + ErrorMsg.CREATE_SKEWED_TABLE_NO_COLUMN_VALUE.getMsg()); + } else { + ASTNode lVAstNode = (ASTNode)leafVNode; + if(lVAstNode.getToken().getType() != HiveParser.TOK_TABCOLVALUE) { + throw new SemanticException( + ErrorMsg.CREATE_SKEWED_TABLE_NO_COLUMN_VALUE.getMsg()); + } else { + skewedValues.add(new StringList(getColumnValues(lVAstNode))); + } + } + } + } + break; + default: + break; + } + } + break; default: assert false; } @@ -7990,7 +8068,8 @@ bucketCols, sortCols, numBuckets, rowFormatParams.fieldDelim, rowFormatParams.fieldEscape, rowFormatParams.collItemDelim, rowFormatParams.mapKeyDelim, rowFormatParams.lineDelim, comment, storageFormat.inputFormat, storageFormat.outputFormat, location, shared.serde, - storageFormat.storageHandler, shared.serdeProps, tblProps, ifNotExists); + storageFormat.storageHandler, shared.serdeProps, tblProps, ifNotExists, skewedColNames, + skewedValues); validateCreateTable(crtTblDesc); // outputs is empty, which means this create table happens in the current @@ -8032,7 +8111,7 @@ bucketCols, sortCols, numBuckets, rowFormatParams.fieldDelim, rowFormatParams.fieldEscape, rowFormatParams.collItemDelim, rowFormatParams.mapKeyDelim, rowFormatParams.lineDelim, comment, storageFormat.inputFormat, storageFormat.outputFormat, location, shared.serde, storageFormat.storageHandler, shared.serdeProps, - tblProps, ifNotExists); + tblProps, ifNotExists, skewedColNames, skewedValues); qb.setTableDesc(crtTblDesc); SessionState.get().setCommandType(HiveOperation.CREATETABLE_AS_SELECT); @@ -8044,6 +8123,50 @@ return null; } + /** + * Analyze list bucket column names + * + * @param listBucketColNames + * @param child + * @return + * @throws SemanticException + */ + private List analyzeCreateTableSkewedColNames(List listBucketColNames, + ASTNode child) throws SemanticException { + Tree nNode = child.getChild(0); + if (nNode == null) { + throw new SemanticException(ErrorMsg.CREATE_SKEWED_TABLE_NO_COLUMN_NAME.getMsg()); + } else { + ASTNode nAstNode = (ASTNode) nNode; + if (nAstNode.getToken().getType() != HiveParser.TOK_TABCOLNAME) { + throw new SemanticException(ErrorMsg.CREATE_SKEWED_TABLE_NO_COLUMN_NAME.getMsg()); + } else { + listBucketColNames = getColumnNames(nAstNode); + } + } + return listBucketColNames; + } + + /** + * Given a ASTNode, return list of values. + * + * use case: + * create table xyz list bucketed (col1) with skew (1,2,5) + * AST Node is for (1,2,5) + * @param ast + * @return + */ + protected List getColumnValues(ASTNode ast) { + List colList = new ArrayList(); + int numCh = ast.getChildCount(); + for (int i = 0; i < numCh; i++) { + ASTNode child = (ASTNode) ast.getChild(i); + colList.add(unescapeIdentifier(child.getText()).toLowerCase()); + } + return colList; + } + + private ASTNode analyzeCreateView(ASTNode ast, QB qb) throws SemanticException { String tableName = getUnescapedName((ASTNode)ast.getChild(0)); @@ -8125,6 +8248,25 @@ return colNames; } + /** + * Find out dupliate name + * @param names + * @throws SemanticException + */ + private void validateSkewedColumnNameUniqueness( + List names) throws SemanticException { + + Map lookup = new HashMap(); + for(String name : names){ + if(lookup.containsKey(name)){ + throw new SemanticException(ErrorMsg.CREATE_SKEWED_TABLE_DUPLICATE_COLUMN_NAMES + .getMsg(name)); + }else{ + lookup.put(name, 1); + } + } + } + private void validateCreateTable(CreateTableDesc crtTblDesc) throws SemanticException { @@ -8216,8 +8358,84 @@ } } } + + /** + * validate skewed information + */ + validateSkewedInformation(crtTblDesc, colNames); + } + /** + * Validate skewed table creation + * @param crtTblDesc + * @param colNames + * @throws SemanticException + */ + private void validateSkewedInformation(CreateTableDesc crtTblDesc, List colNames) + throws SemanticException { + if (crtTblDesc.getSkewedColNames() != null && crtTblDesc.getSkewedColNames().size() > 0) { + /** + * all columns in skewed column name are valid columns + */ + validateSkewedColNames(crtTblDesc, colNames); + + /** + * find out dupliate skewed column name + */ + validateSkewedColumnNameUniqueness(crtTblDesc.getSkewedColNames()); + + if (crtTblDesc.getSkewedColValues() == null || crtTblDesc.getSkewedColValues().size() == 0) { + /** + * skewed column value is empty but skewed col name is not empty. something is wrong + */ + throw new SemanticException( + ErrorMsg.CREATE_SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_2.getMsg()); + + } else { + /** + * each skewed col value should have the same number as number of skewed column names + */ + validateSkewedColNameValueNumberMatch(crtTblDesc); + + } + } else if (crtTblDesc.getSkewedColValues() != null + && crtTblDesc.getSkewedColValues().size() > 0) { + /** + * skewed column name is empty but skewed col value is not empty. something is wrong + */ + throw new SemanticException( + ErrorMsg.CREATE_SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_1.getMsg()); + } + } + + private void validateSkewedColNameValueNumberMatch(CreateTableDesc crtTblDesc) + throws SemanticException { + for (StringList colValue : crtTblDesc.getSkewedColValues()) { + if (colValue.getInternalList().size() != crtTblDesc.getSkewedColNames().size()) { + throw new SemanticException( + ErrorMsg.CREATE_SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_3.getMsg() + + crtTblDesc.getSkewedColNames().size() + " : " + + colValue.getInternalList().size()); + } + } + } + + private void validateSkewedColNames(CreateTableDesc crtTblDesc, List colNames) + throws SemanticException { + Map lookup = new HashMap(); + // convert list to map + for (String colName : colNames) { + lookup.put(colName, 1); + } + // walk-through and lookup + for (String name : crtTblDesc.getSkewedColNames()) { + if (!lookup.containsKey(name)) { + throw new SemanticException(ErrorMsg.CREATE_SKEWED_TABLE_INVALID_COLUMN.getMsg(name)); + } + } + } + private void decideExecMode(List> rootTasks, Context ctx, GlobalLimitCtx globalLimitCtx) throws SemanticException { Index: ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java (working copy) @@ -40,10 +40,10 @@ import org.apache.hadoop.hive.ql.metadata.Table; import org.apache.hadoop.hive.ql.optimizer.unionproc.UnionProcContext; import org.apache.hadoop.hive.ql.plan.ExprNodeDesc; +import org.apache.hadoop.hive.ql.plan.FilterDesc.sampleDesc; import org.apache.hadoop.hive.ql.plan.LoadFileDesc; import org.apache.hadoop.hive.ql.plan.LoadTableDesc; import org.apache.hadoop.hive.ql.plan.MapJoinDesc; -import org.apache.hadoop.hive.ql.plan.FilterDesc.sampleDesc; /** * Parse Context: The current parse context. This is passed to the optimizer @@ -61,6 +61,7 @@ private HashMap opToPartPruner; private HashMap opToPartList; private HashMap opToSamplePruner; + private HashMap opToSkewedPruner; private HashMap> topOps; private HashMap> topSelOps; private LinkedHashMap, OpParseContext> opParseCtx; @@ -161,7 +162,8 @@ HashMap opToSamplePruner, GlobalLimitCtx globalLimitCtx, HashMap nameToSplitSample, - HashSet semanticInputs, List> rootTasks) { + HashSet semanticInputs, List> rootTasks, + HashMap opToLBPruner) { this.conf = conf; this.qb = qb; this.ast = ast; @@ -187,6 +189,7 @@ this.globalLimitCtx = globalLimitCtx; this.semanticInputs = semanticInputs; this.rootTasks = rootTasks; + this.opToSkewedPruner = opToLBPruner; } /** @@ -533,4 +536,19 @@ this.rootTasks.remove(rootTask); this.rootTasks.addAll(tasks); } + + /** + * @return the opToSkewedPruner + */ + public HashMap getOpToSkewedPruner() { + return opToSkewedPruner; + } + + /** + * @param opToSkewedPruner the opToSkewedPruner to set + */ + public void setOpToSkewedPruner(HashMap opToSkewedPruner) { + this.opToSkewedPruner = opToSkewedPruner; + } + } Index: ql/src/java/org/apache/hadoop/hive/ql/parse/ParseUtils.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/ParseUtils.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/ParseUtils.java (working copy) @@ -18,6 +18,7 @@ package org.apache.hadoop.hive.ql.parse; +import org.apache.hadoop.hive.ql.metadata.Table; /** * Library of utility functions used in the parse code. @@ -63,4 +64,23 @@ private ParseUtils() { // prevent instantiation } + + /** + * Retrieve the Table instance from QB. + * @param qb + * Query Block + * @param tableAlias + * table name + * @return + */ + public static Table getTableFromParseContext(QB qb, String tableAlias) { + Table tbl = null; + if (null != qb && + null != qb.getMetaData() && + null != qb.getMetaData().getAliasToTable() && + qb.getMetaData().getAliasToTable().size() > 0) { + tbl = qb.getMetaData().getTableForAlias(tableAlias); + } + return tbl; + } } Index: ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java (working copy) @@ -228,7 +228,6 @@ "If you really want to perform the operation, either set " + "hive.optimize.bucketmapjoin.sortedmerge=false, or set " + "hive.enforce.sortmergebucketmapjoin=false."), - BUCKET_MAPJOIN_NOT_POSSIBLE(10136, "Bucketed mapjoin cannot be performed. " + "This can be due to multiple reasons: " + @@ -237,6 +236,22 @@ "If you really want to perform the operation, either remove the " + "mapjoin hint from your query or set hive.enforce.bucketmapjoin to false."), + CREATE_SKEWED_TABLE_NO_COLUMN_NAME(10200, " To create skewed table but it doesn't " + + "find out skewed column name in semantic analyser"), + CREATE_SKEWED_TABLE_NO_COLUMN_VALUE(10201, " To create skewed table but it doesn't " + + "find out skewed values in semantic analyser"), + CREATE_SKEWED_TABLE_DUPLICATE_COLUMN_NAMES(10202, + "To create skewed table but duplicate skewed column name:"), + CREATE_SKEWED_TABLE_INVALID_COLUMN(10203, + "To create skewed table but invalid skewed column name:"), + CREATE_SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_1(10204, + "To create skewed table but skewed column name is empty and value is not."), + CREATE_SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_2(10205, + "To create skewed table but skewed column value is empty and name is not."), + CREATE_SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_3(10206, + "To create skewed table but number of skewed column names and number of " + + "skewed column values are not the same: "), + SCRIPT_INIT_ERROR(20000, "Unable to initialize custom script."), SCRIPT_IO_ERROR(20001, "An error occurred while reading or writing to your custom script. " + "It may have crashed with an error."), Index: ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java (working copy) @@ -43,6 +43,7 @@ import org.apache.hadoop.hive.metastore.api.Order; import org.apache.hadoop.hive.metastore.api.SerDeInfo; import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.StringList; import org.apache.hadoop.hive.ql.io.HiveFileFormatUtils; import org.apache.hadoop.hive.ql.io.HiveOutputFormat; import org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat; @@ -138,6 +139,9 @@ sd.getSerdeInfo().getParameters().put(Constants.SERIALIZATION_FORMAT, "1"); sd.setInputFormat(SequenceFileInputFormat.class.getName()); sd.setOutputFormat(HiveSequenceFileOutputFormat.class.getName()); + sd.setSkewedColNames(new ArrayList()); + sd.setSkewedColValues(new ArrayList()); + sd.setSkewedColValueLocationMaps(new HashMap()); } org.apache.hadoop.hive.metastore.api.Table t = new org.apache.hadoop.hive.metastore.api.Table(); @@ -410,6 +414,43 @@ return tTable.getTableName(); } + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((tTable == null) ? 0 : tTable.hashCode()); + return result; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Table other = (Table) obj; + if (tTable == null) { + if (other.tTable != null) { + return false; + } + } else if (!tTable.equals(other.tTable)) { + return false; + } + return true; + } + + public List getPartCols() { List partKeys = tTable.getPartitionKeys(); if (partKeys == null) { @@ -471,6 +512,38 @@ tTable.getSd().setSortCols(sortOrder); } + public void setSkewedValueLocationMap(StringList valList, String dirName) throws HiveException { + Map mappings = tTable.getSd().getSkewedColValueLocationMaps(); + if (null == mappings) { + mappings = new HashMap(); + tTable.getSd().setSkewedColValueLocationMaps(mappings); + } + + // Add or update new mapping + mappings.put(valList, dirName); + } + + public Map getSkewedColValueLocationMaps() { + return tTable.getSd().getSkewedColValueLocationMaps(); + } + + public void setSkewedColValues(List skewedValues) throws HiveException { + tTable.getSd().setSkewedColValues(skewedValues); + } + + public List getSkewedColValues(){ + return tTable.getSd().getSkewedColValues(); + } + + public void setSkewedColNames(List skewedColNames) throws HiveException { + tTable.getSd().setSkewedColNames(skewedColNames); + } + + public List getSkewedColName() { + return tTable.getSd().getSkewedColNames(); + } + + private boolean isField(String col) { for (FieldSchema field : getCols()) { if (field.getName().equals(col)) { Index: ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java (working copy) @@ -29,6 +29,7 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.Index; import org.apache.hadoop.hive.metastore.api.StorageDescriptor; +import org.apache.hadoop.hive.metastore.api.StringList; import org.apache.hadoop.hive.ql.index.HiveIndex; import org.apache.hadoop.hive.ql.index.HiveIndex.IndexType; import org.apache.hadoop.hive.ql.metadata.Partition; @@ -191,12 +192,73 @@ formatOutput("Bucket Columns:", storageDesc.getBucketCols().toString(), tableInfo); formatOutput("Sort Columns:", storageDesc.getSortCols().toString(), tableInfo); + List lbcNames = storageDesc.getSkewedColNames(); + if(lbcNames != null && lbcNames.size() > 0) { + formatOutput("Skewed Columns:", lbcNames.toString(), tableInfo); + } + + List lbcValues = storageDesc.getSkewedColValues(); + if(lbcValues != null && lbcValues.size() > 0) { + formatOutput("Skewed Values:", formatSkewedValues(lbcValues.toString()), tableInfo); + } + + Map lbMap = storageDesc.getSkewedColValueLocationMaps(); + if(lbMap!=null && lbMap.size() > 0) { + formatOutput("Skewed Value to Location Mapping:", formatSkewedValueMaps(lbMap.toString()), + tableInfo); + } + if (storageDesc.getSerdeInfo().getParametersSize() > 0) { tableInfo.append("Storage Desc Params:").append(LINE_DELIM); displayAllParameters(storageDesc.getSerdeInfo().getParameters(), tableInfo); } } + /** + * Transform thrift-generated string to readable string so that DDL has good output + * + * Sample: + * input: [StringList(internalList:['s1', 1]), StringList(internalList:['s3', 3]), + * StringList(internalList:['s13', 13]), StringList(internalList:['s78', 78])] + * output: [['s1', 1],['s3', 3],['s13', 13],['s78', 78]] + * + * @param thriftToString + * @return + */ + private static String formatSkewedValues(String thriftToString){ + // 3 cases + // #1: remove StringList(internalList: + String phaseOne = thriftToString.replaceAll("StringList\\(internalList\\:", ""); + // #2: replace ]) with ] + String phaseTwo = phaseOne.replaceAll("\\)\\,", "\\,"); + // #3: replace ])] with ]] + String phaseThree = phaseTwo.replaceAll("\\]\\)\\]", "\\]\\]"); + return phaseThree; + } + + /** + * Transform thrift-generated string to readable string so that DDL has good output + * + * Sample: + * input: {StringList(internalList:[1])=file:/test/test/1, + * StringList(internalList:[2])=file:/test/test/2} + * output: {[1]=file:/test/test/1, [2]=file:/test/test/2} + * + * @param thriftToString + * @return + */ + private static String formatSkewedValueMaps(String thriftToString){ + // 3 cases + // #1: remove StringList(internalList: + String phaseOne = thriftToString.replaceAll("StringList\\(internalList\\:", ""); + // #2: replace ]) with ] + String phaseTwo = phaseOne.replaceAll("\\)\\=", "\\="); + // #3: replace ])] with ]] + String phaseThree = phaseTwo.replaceAll("\\]\\)\\]", "\\]\\]"); + return phaseThree; + } + + private static void getTableMetaDataInformation(StringBuilder tableInfo, Table tbl) { formatOutput("Database:", tbl.getDbName(), tableInfo); formatOutput("Owner:", tbl.getOwner(), tableInfo); Index: ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java (working copy) @@ -39,6 +39,10 @@ private String alias = null; // [optional] alias of the column (external name // as seen by the users) + /** + * Indicates whether the column is a skewed column. + */ + private boolean isSkewedCol; /** * Store the alias of the table where available. @@ -73,17 +77,17 @@ boolean isVirtualCol, boolean isHiddenVirtualCol) { this(internalName, TypeInfoUtils.getStandardWritableObjectInspectorFromTypeInfo(type), - tabAlias, + tabAlias, isVirtualCol, isHiddenVirtualCol); } - public ColumnInfo(String internalName, ObjectInspector objectInspector, + public ColumnInfo(String internalName, ObjectInspector objectInspector, String tabAlias, boolean isVirtualCol) { this(internalName, objectInspector, tabAlias, isVirtualCol, false); } - public ColumnInfo(String internalName, ObjectInspector objectInspector, + public ColumnInfo(String internalName, ObjectInspector objectInspector, String tabAlias, boolean isVirtualCol, boolean isHiddenVirtualCol) { this.internalName = internalName; this.objectInspector = objectInspector; @@ -92,6 +96,22 @@ this.isHiddenVirtualCol = isHiddenVirtualCol; } + public ColumnInfo(String internalName, ObjectInspector objectInspector, + String tabAlias, boolean isVirtualCol, boolean isHiddenVirtualCol, boolean isSkewedCol) { + this.internalName = internalName; + this.objectInspector = objectInspector; + this.tabAlias = tabAlias; + this.isVirtualCol = isVirtualCol; + this.isHiddenVirtualCol = isHiddenVirtualCol; + this.isSkewedCol = isSkewedCol; + } + + public ColumnInfo(boolean isSkewedCol, String internalName, TypeInfo type, String tabAlias, + boolean isVirtualCol) { + this(internalName, type, tabAlias, isVirtualCol); + this.isSkewedCol = isSkewedCol; + } + public TypeInfo getType() { return TypeInfoUtils.getTypeInfoFromObjectInspector(objectInspector); } @@ -153,5 +173,17 @@ this.isHiddenVirtualCol = isHiddenVirtualCol; } + /** + * @return the isSkewedCol + */ + public boolean isSkewedCol() { + return isSkewedCol; + } + /** + * @param isSkewedCol the isSkewedCol to set + */ + public void setSkewedCol(boolean isSkewedCol) { + this.isSkewedCol = isSkewedCol; + } } Index: ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (revision 1371773) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (working copy) @@ -3326,6 +3326,13 @@ tbl.setDataLocation(new Path(crtTbl.getLocation()).toUri()); } + if(crtTbl.getSkewedColNames() != null) { + tbl.setSkewedColNames(crtTbl.getSkewedColNames()); + } + if(crtTbl.getSkewedColValues() != null) { + tbl.setSkewedColValues(crtTbl.getSkewedColValues()); + } + tbl.setInputFormatClass(crtTbl.getInputFormat()); tbl.setOutputFormatClass(crtTbl.getOutputFormat());