You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ga...@apache.org on 2018/03/31 01:25:29 UTC
[10/44] hive git commit: HIVE-18755 Modifications to the metastore
for catalogs (Alan Gates, reviewed by Thejas Nair)
http://git-wip-us.apache.org/repos/asf/hive/blob/ba8a99e1/standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql b/standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql
index 5a483ab..20f7c8d 100644
--- a/standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql
+++ b/standalone-metastore/src/main/sql/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql
@@ -129,6 +129,7 @@ CREATE TABLE `SCHEMA_VERSION` (
-- 048-HIVE-14498
CREATE TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
`MV_CREATION_METADATA_ID` bigint(20) NOT NULL,
+ `CAT_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
`DB_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
`TBL_NAME` varchar(256) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
`TXN_LIST` TEXT DEFAULT NULL,
@@ -202,6 +203,62 @@ ALTER TABLE `KEY_CONSTRAINTS` ADD COLUMN `DEFAULT_VALUE` VARCHAR(400);
ALTER TABLE `HIVE_LOCKS` CHANGE COLUMN `HL_TXNID` `HL_TXNID` bigint NOT NULL;
+-- HIVE-18755, add catalogs
+-- new catalogs table
+CREATE TABLE `CTLGS` (
+ `CTLG_ID` BIGINT PRIMARY KEY,
+ `NAME` VARCHAR(256),
+ `DESC` VARCHAR(4000),
+ `LOCATION_URI` VARCHAR(4000) NOT NULL,
+ UNIQUE KEY `UNIQUE_CATALOG` (`NAME`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+-- Insert a default value. The location is TBD. Hive will fix this when it starts
+INSERT INTO `CTLGS` VALUES (1, 'hive', 'Default catalog for Hive', 'TBD');
+
+-- Drop the unique index on DBS
+ALTER TABLE `DBS` DROP KEY `UNIQUE_DATABASE`;
+
+-- Add the new column to the DBS table, can't put in the not null constraint yet
+ALTER TABLE `DBS` ADD COLUMN `CTLG_NAME` VARCHAR(256);
+
+-- Update all records in the DBS table to point to the Hive catalog
+UPDATE `DBS`
+ SET `CTLG_NAME` = 'hive';
+
+-- Add the not null constraint
+ALTER TABLE `DBS` CHANGE COLUMN `CTLG_NAME` `CTLG_NAME` varchar(256) NOT NULL;
+
+-- Put back the unique index
+ALTER TABLE `DBS` ADD UNIQUE KEY `UNIQUE_DATABASE` (`NAME`, `CTLG_NAME`);
+
+-- Add the foreign key
+ALTER TABLE `DBS` ADD CONSTRAINT `CTLG_FK1` FOREIGN KEY (`CTLG_NAME`) REFERENCES `CTLGS` (`NAME`);
+
+-- Add columns to table stats and part stats
+ALTER TABLE `TAB_COL_STATS` ADD COLUMN `CAT_NAME` varchar(256);
+ALTER TABLE `PART_COL_STATS` ADD COLUMN `CAT_NAME` varchar(256);
+
+-- Set the existing column names to Hive
+UPDATE `TAB_COL_STATS`
+ SET `CAT_NAME` = 'hive';
+UPDATE `PART_COL_STATS`
+ SET `CAT_NAME` = 'hive';
+
+-- Add the not null constraint
+ALTER TABLE `TAB_COL_STATS` CHANGE COLUMN `CAT_NAME` `CAT_NAME` varchar(256) NOT NULL;
+ALTER TABLE `PART_COL_STATS` CHANGE COLUMN `CAT_NAME` `CAT_NAME` varchar(256) NOT NULL;
+
+-- Rebuild the index for Part col stats. No such index for table stats, which seems weird
+DROP INDEX `PCS_STATS_IDX` ON `PART_COL_STATS`;
+CREATE INDEX `PCS_STATS_IDX` ON `PART_COL_STATS` (`CAT_NAME`, `DB_NAME`, `TABLE_NAME`, `COLUMN_NAME`, `PARTITION_NAME`);
+
+-- Add column to partition events
+ALTER TABLE `PARTITION_EVENTS` ADD COLUMN `CAT_NAME` varchar(256);
+
+-- Add column to notification log
+ALTER TABLE `NOTIFICATION_LOG` ADD COLUMN `CAT_NAME` varchar(256);
+
-- These lines need to be last. Insert any changes above.
UPDATE VERSION SET SCHEMA_VERSION='3.0.0', VERSION_COMMENT='Hive release version 3.0.0' where VER_ID=1;
SELECT 'Finished upgrading MetaStore schema from 2.3.0 to 3.0.0' AS ' ';
http://git-wip-us.apache.org/repos/asf/hive/blob/ba8a99e1/standalone-metastore/src/main/sql/oracle/hive-schema-3.0.0.oracle.sql
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/sql/oracle/hive-schema-3.0.0.oracle.sql b/standalone-metastore/src/main/sql/oracle/hive-schema-3.0.0.oracle.sql
index 09c40ad..755a8a8 100644
--- a/standalone-metastore/src/main/sql/oracle/hive-schema-3.0.0.oracle.sql
+++ b/standalone-metastore/src/main/sql/oracle/hive-schema-3.0.0.oracle.sql
@@ -72,6 +72,14 @@ CREATE TABLE PARTITION_KEY_VALS
ALTER TABLE PARTITION_KEY_VALS ADD CONSTRAINT PARTITION_KEY_VALS_PK PRIMARY KEY (PART_ID,INTEGER_IDX);
+CREATE TABLE CTLGS (
+ CTLG_ID NUMBER PRIMARY KEY,
+ "NAME" VARCHAR2(256),
+ "DESC" VARCHAR2(4000),
+ LOCATION_URI VARCHAR2(4000) NOT NULL,
+ UNIQUE ("NAME")
+);
+
-- Table DBS for classes [org.apache.hadoop.hive.metastore.model.MDatabase]
CREATE TABLE DBS
(
@@ -80,7 +88,8 @@ CREATE TABLE DBS
DB_LOCATION_URI VARCHAR2(4000) NOT NULL,
"NAME" VARCHAR2(128) NULL,
OWNER_NAME VARCHAR2(128) NULL,
- OWNER_TYPE VARCHAR2(10) NULL
+ OWNER_TYPE VARCHAR2(10) NULL,
+ CTLG_NAME VARCHAR2(256)
);
ALTER TABLE DBS ADD CONSTRAINT DBS_PK PRIMARY KEY (DB_ID);
@@ -389,6 +398,7 @@ ALTER TABLE TBLS ADD CONSTRAINT TBLS_PK PRIMARY KEY (TBL_ID);
CREATE TABLE MV_CREATION_METADATA
(
MV_CREATION_METADATA_ID NUMBER NOT NULL,
+ CAT_NAME VARCHAR2(256) NOT NULL,
DB_NAME VARCHAR2(128) NOT NULL,
TBL_NAME VARCHAR2(256) NOT NULL,
TXN_LIST CLOB NULL
@@ -409,6 +419,7 @@ CREATE TABLE MV_TABLES_USED
CREATE TABLE PARTITION_EVENTS
(
PART_NAME_ID NUMBER NOT NULL,
+ CAT_NAME VARCHAR2(256) NULL,
DB_NAME VARCHAR2(128) NULL,
EVENT_TIME NUMBER NOT NULL,
EVENT_TYPE NUMBER (10) NOT NULL,
@@ -486,10 +497,13 @@ ALTER TABLE SKEWED_VALUES ADD CONSTRAINT SKEWED_VALUES_FK1 FOREIGN KEY (STRING_L
ALTER TABLE SKEWED_VALUES ADD CONSTRAINT SKEWED_VALUES_FK2 FOREIGN KEY (SD_ID_OID) REFERENCES SDS (SD_ID) INITIALLY DEFERRED ;
+ALTER TABLE DBS ADD CONSTRAINT CTLGS_FK FOREIGN KEY (CTLG_NAME) REFERENCES CTLGS ("NAME") INITIALLY DEFERRED;
+
-- column statistics
CREATE TABLE TAB_COL_STATS (
CS_ID NUMBER NOT NULL,
+ CAT_NAME VARCHAR2(256) NOT NULL,
DB_NAME VARCHAR2(128) NOT NULL,
TABLE_NAME VARCHAR2(256) NOT NULL,
COLUMN_NAME VARCHAR2(767) NOT NULL,
@@ -526,6 +540,7 @@ CREATE INDEX TAB_COL_STATS_N49 ON TAB_COL_STATS(TBL_ID);
CREATE TABLE PART_COL_STATS (
CS_ID NUMBER NOT NULL,
+ CAT_NAME VARCHAR2(256) NOT NULL,
DB_NAME VARCHAR2(128) NOT NULL,
TABLE_NAME VARCHAR2(256) NOT NULL,
PARTITION_NAME VARCHAR2(767) NOT NULL,
@@ -554,7 +569,7 @@ ALTER TABLE PART_COL_STATS ADD CONSTRAINT PART_COL_STATS_FK FOREIGN KEY (PART_ID
CREATE INDEX PART_COL_STATS_N49 ON PART_COL_STATS (PART_ID);
-CREATE INDEX PCS_STATS_IDX ON PART_COL_STATS (DB_NAME,TABLE_NAME,COLUMN_NAME,PARTITION_NAME);
+CREATE INDEX PCS_STATS_IDX ON PART_COL_STATS (CAT_NAME, DB_NAME,TABLE_NAME,COLUMN_NAME,PARTITION_NAME);
CREATE TABLE FUNCS (
FUNC_ID NUMBER NOT NULL,
@@ -584,6 +599,7 @@ CREATE TABLE NOTIFICATION_LOG
EVENT_ID NUMBER NOT NULL,
EVENT_TIME NUMBER(10) NOT NULL,
EVENT_TYPE VARCHAR2(32) NOT NULL,
+ CAT_NAME VARCHAR2(256),
DB_NAME VARCHAR2(128),
TBL_NAME VARCHAR2(256),
MESSAGE CLOB NULL,
@@ -678,7 +694,7 @@ CREATE INDEX PARTITION_KEY_VALS_N49 ON PARTITION_KEY_VALS (PART_ID);
-- Constraints for table DBS for class(es) [org.apache.hadoop.hive.metastore.model.MDatabase]
-CREATE UNIQUE INDEX UNIQUE_DATABASE ON DBS ("NAME");
+CREATE UNIQUE INDEX UNIQUE_DATABASE ON DBS ("NAME", CTLG_NAME);
-- Constraints for table PARTITION_PARAMS
http://git-wip-us.apache.org/repos/asf/hive/blob/ba8a99e1/standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql b/standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql
index f95819e..cd94c01 100644
--- a/standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql
+++ b/standalone-metastore/src/main/sql/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql
@@ -142,6 +142,7 @@ CREATE TABLE "SCHEMA_VERSION" (
CREATE TABLE MV_CREATION_METADATA
(
MV_CREATION_METADATA_ID NUMBER NOT NULL,
+ CAT_NAME VARCHAR2(256) NOT NULL,
DB_NAME VARCHAR2(128) NOT NULL,
TBL_NAME VARCHAR2(256) NOT NULL,
TXN_LIST CLOB NULL
@@ -188,7 +189,6 @@ UPDATE DBS
SET DB_LOCATION_URI = 's3a' || SUBSTR(DB_LOCATION_URI, 4)
WHERE DB_LOCATION_URI LIKE 's3n://%' ;
-
-- HIVE-18192
CREATE TABLE TXN_TO_WRITE_ID (
T2W_TXNID number(19) NOT NULL,
@@ -222,6 +222,62 @@ ALTER TABLE KEY_CONSTRAINTS ADD DEFAULT_VALUE VARCHAR(400);
ALTER TABLE HIVE_LOCKS MODIFY(HL_TXNID NOT NULL);
+-- HIVE-18755, add catalogs
+-- new catalogs table
+CREATE TABLE CTLGS (
+ CTLG_ID NUMBER PRIMARY KEY,
+ "NAME" VARCHAR2(256),
+ "DESC" VARCHAR2(4000),
+ LOCATION_URI VARCHAR2(4000) NOT NULL,
+ UNIQUE ("NAME")
+);
+
+-- Insert a default value. The location is TBD. Hive will fix this when it starts
+INSERT INTO CTLGS VALUES (1, 'hive', 'Default catalog for Hive', 'TBD');
+
+-- Drop the unique index on DBS
+DROP INDEX UNIQUE_DATABASE;
+
+-- Add the new column to the DBS table, can't put in the not null constraint yet
+ALTER TABLE DBS ADD CTLG_NAME VARCHAR2(256);
+
+-- Update all records in the DBS table to point to the Hive catalog
+UPDATE DBS
+ SET "CTLG_NAME" = 'hive';
+
+-- Add the not null constraint
+ALTER TABLE DBS MODIFY CTLG_NAME NOT NULL;
+
+-- Put back the unique index
+CREATE UNIQUE INDEX UNIQUE_DATABASE ON DBS ("NAME", CTLG_NAME);
+
+-- Add the foreign key
+ALTER TABLE DBS ADD CONSTRAINT CTLGS_FK FOREIGN KEY (CTLG_NAME) REFERENCES CTLGS ("NAME") INITIALLY DEFERRED;
+
+-- Add columns to table stats and part stats
+ALTER TABLE TAB_COL_STATS ADD CAT_NAME VARCHAR2(256);
+ALTER TABLE PART_COL_STATS ADD CAT_NAME VARCHAR2(256);
+
+-- Set the existing column names to Hive
+UPDATE TAB_COL_STATS
+ SET CAT_NAME = 'hive';
+UPDATE PART_COL_STATS
+ SET CAT_NAME = 'hive';
+
+-- Add the not null constraint
+ALTER TABLE TAB_COL_STATS MODIFY CAT_NAME NOT NULL;
+ALTER TABLE PART_COL_STATS MODIFY CAT_NAME NOT NULL;
+
+-- Rebuild the index for Part col stats. No such index for table stats, which seems weird
+DROP INDEX PCS_STATS_IDX;
+CREATE INDEX PCS_STATS_IDX ON PART_COL_STATS (CAT_NAME, DB_NAME,TABLE_NAME,COLUMN_NAME,PARTITION_NAME);
+
+-- Add column to partition events
+ALTER TABLE PARTITION_EVENTS ADD CAT_NAME VARCHAR2(256);
+
+-- Add column to notification log
+ALTER TABLE NOTIFICATION_LOG ADD CAT_NAME VARCHAR2(256);
+
-- These lines need to be last. Insert any changes above.
UPDATE VERSION SET SCHEMA_VERSION='3.0.0', VERSION_COMMENT='Hive release version 3.0.0' where VER_ID=1;
SELECT 'Finished upgrading MetaStore schema from 2.3.0 to 3.0.0' AS Status from dual;
http://git-wip-us.apache.org/repos/asf/hive/blob/ba8a99e1/standalone-metastore/src/main/sql/postgres/hive-schema-3.0.0.postgres.sql
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/sql/postgres/hive-schema-3.0.0.postgres.sql b/standalone-metastore/src/main/sql/postgres/hive-schema-3.0.0.postgres.sql
index 69317b0..72e5966 100644
--- a/standalone-metastore/src/main/sql/postgres/hive-schema-3.0.0.postgres.sql
+++ b/standalone-metastore/src/main/sql/postgres/hive-schema-3.0.0.postgres.sql
@@ -59,6 +59,13 @@ CREATE TABLE "DATABASE_PARAMS" (
);
+CREATE TABLE "CTLGS" (
+ "CTLG_ID" BIGINT PRIMARY KEY,
+ "NAME" VARCHAR(256) UNIQUE,
+ "DESC" VARCHAR(4000),
+ "LOCATION_URI" VARCHAR(4000) NOT NULL
+);
+
--
-- Name: DBS; Type: TABLE; Schema: public; Owner: hiveuser; Tablespace:
--
@@ -69,7 +76,8 @@ CREATE TABLE "DBS" (
"DB_LOCATION_URI" character varying(4000) NOT NULL,
"NAME" character varying(128) DEFAULT NULL::character varying,
"OWNER_NAME" character varying(128) DEFAULT NULL::character varying,
- "OWNER_TYPE" character varying(10) DEFAULT NULL::character varying
+ "OWNER_TYPE" character varying(10) DEFAULT NULL::character varying,
+ "CTLG_NAME" varchar(256)
);
@@ -168,6 +176,7 @@ CREATE TABLE "PARTITIONS" (
CREATE TABLE "PARTITION_EVENTS" (
"PART_NAME_ID" bigint NOT NULL,
+ "CAT_NAME" character varying(256),
"DB_NAME" character varying(128),
"EVENT_TIME" bigint NOT NULL,
"EVENT_TYPE" integer NOT NULL,
@@ -386,6 +395,7 @@ CREATE TABLE "TBLS" (
CREATE TABLE "MV_CREATION_METADATA" (
"MV_CREATION_METADATA_ID" bigint NOT NULL,
+ "CAT_NAME" character varying(256) NOT NULL,
"DB_NAME" character varying(128) NOT NULL,
"TBL_NAME" character varying(256) NOT NULL,
"TXN_LIST" text
@@ -508,6 +518,7 @@ CREATE TABLE "DELEGATION_TOKENS"
CREATE TABLE "TAB_COL_STATS" (
"CS_ID" bigint NOT NULL,
+ "CAT_NAME" character varying(256) DEFAULT NULL::character varying,
"DB_NAME" character varying(128) DEFAULT NULL::character varying,
"TABLE_NAME" character varying(256) DEFAULT NULL::character varying,
"COLUMN_NAME" character varying(767) DEFAULT NULL::character varying,
@@ -544,6 +555,7 @@ CREATE TABLE "VERSION" (
CREATE TABLE "PART_COL_STATS" (
"CS_ID" bigint NOT NULL,
+ "CAT_NAME" character varying(256) DEFAULT NULL::character varying,
"DB_NAME" character varying(128) DEFAULT NULL::character varying,
"TABLE_NAME" character varying(256) DEFAULT NULL::character varying,
"PARTITION_NAME" character varying(767) DEFAULT NULL::character varying,
@@ -598,6 +610,7 @@ CREATE TABLE "NOTIFICATION_LOG"
"EVENT_ID" BIGINT NOT NULL,
"EVENT_TIME" INTEGER NOT NULL,
"EVENT_TYPE" VARCHAR(32) NOT NULL,
+ "CAT_NAME" VARCHAR(256),
"DB_NAME" VARCHAR(128),
"TBL_NAME" VARCHAR(256),
"MESSAGE" text,
@@ -1182,7 +1195,7 @@ CREATE INDEX "PART_PRIVS_N49" ON "PART_PRIVS" USING btree ("PART_ID");
-- Name: PCS_STATS_IDX; Type: INDEX; Schema: public; Owner: hiveuser; Tablespace:
--
-CREATE INDEX "PCS_STATS_IDX" ON "PART_COL_STATS" USING btree ("DB_NAME","TABLE_NAME","COLUMN_NAME","PARTITION_NAME");
+CREATE INDEX "PCS_STATS_IDX" ON "PART_COL_STATS" USING btree ("CAT_NAME", "DB_NAME","TABLE_NAME","COLUMN_NAME","PARTITION_NAME");
--
@@ -1556,6 +1569,7 @@ ALTER TABLE ONLY "TAB_COL_STATS" ADD CONSTRAINT "TAB_COL_STATS_fkey" FOREIGN KEY
--
ALTER TABLE ONLY "PART_COL_STATS" ADD CONSTRAINT "PART_COL_STATS_fkey" FOREIGN KEY("PART_ID") REFERENCES "PARTITIONS"("PART_ID") DEFERRABLE;
+ALTER TABLE "DBS" ADD CONSTRAINT "DBS_FK1" FOREIGN KEY ("CTLG_NAME") REFERENCES "CTLGS" ("NAME");
ALTER TABLE ONLY "VERSION" ADD CONSTRAINT "VERSION_pkey" PRIMARY KEY ("VER_ID");
http://git-wip-us.apache.org/repos/asf/hive/blob/ba8a99e1/standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql b/standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql
index f7d8c73..7b4bd68 100644
--- a/standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql
+++ b/standalone-metastore/src/main/sql/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql
@@ -155,6 +155,7 @@ CREATE TABLE "SCHEMA_VERSION" (
-- 047-HIVE-14498
CREATE TABLE "MV_CREATION_METADATA" (
"MV_CREATION_METADATA_ID" bigint NOT NULL,
+ "CAT_NAME" character varying(256) NOT NULL,
"DB_NAME" character varying(128) NOT NULL,
"TBL_NAME" character varying(256) NOT NULL,
"TXN_LIST" text
@@ -237,6 +238,61 @@ ALTER TABLE "KEY_CONSTRAINTS" ADD COLUMN "DEFAULT_VALUE" VARCHAR(400);
ALTER TABLE HIVE_LOCKS ALTER COLUMN HL_TXNID SET NOT NULL;
+-- HIVE-18755, add catalogs
+-- new catalogs table
+CREATE TABLE "CTLGS" (
+ "CTLG_ID" BIGINT PRIMARY KEY,
+ "NAME" VARCHAR(256) UNIQUE,
+ "DESC" VARCHAR(4000),
+ "LOCATION_URI" VARCHAR(4000) NOT NULL
+);
+
+-- Insert a default value. The location is TBD. Hive will fix this when it starts
+INSERT INTO "CTLGS" VALUES (1, 'hive', 'Default catalog for Hive', 'TBD');
+
+-- Drop the unique index on DBS
+ALTER TABLE "DBS" DROP CONSTRAINT "UNIQUE_DATABASE";
+
+-- Add the new column to the DBS table, can't put in the not null constraint yet
+ALTER TABLE "DBS" ADD "CTLG_NAME" VARCHAR(256);
+
+-- Update all records in the DBS table to point to the Hive catalog
+UPDATE "DBS"
+ SET "CTLG_NAME" = 'hive';
+
+-- Add the not null constraint
+ALTER TABLE "DBS" ALTER COLUMN "CTLG_NAME" SET NOT NULL;
+
+-- Put back the unique index
+ALTER TABLE "DBS" ADD CONSTRAINT "UNIQUE_DATABASE" UNIQUE ("NAME", "CTLG_NAME");
+
+-- Add the foreign key
+ALTER TABLE "DBS" ADD CONSTRAINT "DBS_FK1" FOREIGN KEY ("CTLG_NAME") REFERENCES "CTLGS" ("NAME");
+
+-- Add columns to table stats and part stats
+ALTER TABLE "TAB_COL_STATS" ADD "CAT_NAME" varchar(256);
+ALTER TABLE "PART_COL_STATS" ADD "CAT_NAME" varchar(256);
+
+-- Set the existing column names to Hive
+UPDATE "TAB_COL_STATS"
+ SET "CAT_NAME" = 'hive';
+UPDATE "PART_COL_STATS"
+ SET "CAT_NAME" = 'hive';
+
+-- Add the not null constraint
+ALTER TABLE "TAB_COL_STATS" ALTER COLUMN "CAT_NAME" SET NOT NULL;
+ALTER TABLE "PART_COL_STATS" ALTER COLUMN "CAT_NAME" SET NOT NULL;
+
+-- Rebuild the index for Part col stats. No such index for table stats, which seems weird
+DROP INDEX "PCS_STATS_IDX";
+CREATE INDEX "PCS_STATS_IDX" ON "PART_COL_STATS" ("CAT_NAME", "DB_NAME", "TABLE_NAME", "COLUMN_NAME", "PARTITION_NAME");
+
+-- Add column to partition event
+ALTER TABLE "PARTITION_EVENTS" ADD "CAT_NAME" varchar(256);
+
+-- Add column to notification log
+ALTER TABLE "NOTIFICATION_LOG" ADD "CAT_NAME" varchar(256);
+
-- These lines need to be last. Insert any changes above.
UPDATE "VERSION" SET "SCHEMA_VERSION"='3.0.0', "VERSION_COMMENT"='Hive release version 3.0.0' where "VER_ID"=1;
SELECT 'Finished upgrading MetaStore schema from 2.3.0 to 3.0.0';
http://git-wip-us.apache.org/repos/asf/hive/blob/ba8a99e1/standalone-metastore/src/main/thrift/hive_metastore.thrift
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/thrift/hive_metastore.thrift b/standalone-metastore/src/main/thrift/hive_metastore.thrift
index 68d7b45..27917f0 100644
--- a/standalone-metastore/src/main/thrift/hive_metastore.thrift
+++ b/standalone-metastore/src/main/thrift/hive_metastore.thrift
@@ -48,8 +48,9 @@ struct SQLPrimaryKey {
4: i32 key_seq, // sequence number within primary key
5: string pk_name, // primary key name
6: bool enable_cstr, // Enable/Disable
- 7: bool validate_cstr, // Validate/No validate
- 8: bool rely_cstr // Rely/No Rely
+ 7: bool validate_cstr, // Validate/No validate
+ 8: bool rely_cstr, // Rely/No Rely
+ 9: optional string catName
}
struct SQLForeignKey {
@@ -66,50 +67,55 @@ struct SQLForeignKey {
11: string pk_name, // primary key name
12: bool enable_cstr, // Enable/Disable
13: bool validate_cstr, // Validate/No validate
- 14: bool rely_cstr // Rely/No Rely
+ 14: bool rely_cstr, // Rely/No Rely
+ 15: optional string catName
}
struct SQLUniqueConstraint {
- 1: string table_db, // table schema
- 2: string table_name, // table name
- 3: string column_name, // column name
- 4: i32 key_seq, // sequence number within unique constraint
- 5: string uk_name, // unique key name
- 6: bool enable_cstr, // Enable/Disable
- 7: bool validate_cstr, // Validate/No validate
- 8: bool rely_cstr // Rely/No Rely
+ 1: string catName, // table catalog
+ 2: string table_db, // table schema
+ 3: string table_name, // table name
+ 4: string column_name, // column name
+ 5: i32 key_seq, // sequence number within unique constraint
+ 6: string uk_name, // unique key name
+ 7: bool enable_cstr, // Enable/Disable
+ 8: bool validate_cstr, // Validate/No validate
+ 9: bool rely_cstr, // Rely/No Rely
}
struct SQLNotNullConstraint {
- 1: string table_db, // table schema
- 2: string table_name, // table name
- 3: string column_name, // column name
- 4: string nn_name, // not null name
- 5: bool enable_cstr, // Enable/Disable
- 6: bool validate_cstr, // Validate/No validate
- 7: bool rely_cstr // Rely/No Rely
+ 1: string catName, // table catalog
+ 2: string table_db, // table schema
+ 3: string table_name, // table name
+ 4: string column_name, // column name
+ 5: string nn_name, // not null name
+ 6: bool enable_cstr, // Enable/Disable
+ 7: bool validate_cstr, // Validate/No validate
+ 8: bool rely_cstr, // Rely/No Rely
}
struct SQLDefaultConstraint {
- 1: string table_db, // table schema
- 2: string table_name, // table name
- 3: string column_name, // column name
- 4: string default_value,// default value
- 5: string dc_name, // default name
- 6: bool enable_cstr, // Enable/Disable
- 7: bool validate_cstr, // Validate/No validate
- 8: bool rely_cstr // Rely/No Rely
+ 1: string catName, // catalog name
+ 2: string table_db, // table schema
+ 3: string table_name, // table name
+ 4: string column_name, // column name
+ 5: string default_value,// default value
+ 6: string dc_name, // default name
+ 7: bool enable_cstr, // Enable/Disable
+ 8: bool validate_cstr, // Validate/No validate
+ 9: bool rely_cstr // Rely/No Rely
}
struct SQLCheckConstraint {
- 1: string table_db, // table schema
- 2: string table_name, // table name
- 3: string column_name, // column name
- 4: string check_expression,// check expression
- 5: string dc_name, // default name
- 6: bool enable_cstr, // Enable/Disable
- 7: bool validate_cstr, // Validate/No validate
- 8: bool rely_cstr // Rely/No Rely
+ 1: string catName, // catalog name
+ 2: string table_db, // table schema
+ 3: string table_name, // table name
+ 4: string column_name, // column name
+ 5: string check_expression,// check expression
+ 6: string dc_name, // default name
+ 7: bool enable_cstr, // Enable/Disable
+ 8: bool validate_cstr, // Validate/No validate
+ 9: bool rely_cstr // Rely/No Rely
}
struct Type {
@@ -233,6 +239,7 @@ struct HiveObjectRef{
3: string objectName,
4: list<string> partValues,
5: string columnName,
+ 6: optional string catName
}
struct PrivilegeGrantInfo {
@@ -318,6 +325,34 @@ struct GrantRevokeRoleResponse {
1: optional bool success;
}
+struct Catalog {
+ 1: string name, // Name of the catalog
+ 2: optional string description, // description of the catalog
+ 3: string locationUri // default storage location. When databases are created in
+ // this catalog, if they do not specify a location, they will
+ // be placed in this location.
+}
+
+struct CreateCatalogRequest {
+ 1: Catalog catalog
+}
+
+struct GetCatalogRequest {
+ 1: string name
+}
+
+struct GetCatalogResponse {
+ 1: Catalog catalog
+}
+
+struct GetCatalogsResponse {
+ 1: list<string> names
+}
+
+struct DropCatalogRequest {
+ 1: string name
+}
+
// namespace for tables
struct Database {
1: string name,
@@ -326,7 +361,8 @@ struct Database {
4: map<string, string> parameters, // properties associated with the database
5: optional PrincipalPrivilegeSet privileges,
6: optional string ownerName,
- 7: optional PrincipalType ownerType
+ 7: optional PrincipalType ownerType,
+ 8: optional string catalogName
}
// This object holds the information needed by SerDes
@@ -386,7 +422,8 @@ struct Table {
13: optional PrincipalPrivilegeSet privileges,
14: optional bool temporary=false,
15: optional bool rewriteEnabled, // rewrite enabled or not
- 16: optional CreationMetadata creationMetadata // only for MVs, it stores table names used and txn list at MV creation
+ 16: optional CreationMetadata creationMetadata, // only for MVs, it stores table names used and txn list at MV creation
+ 17: optional string catName // Name of the catalog the table is in
}
struct Partition {
@@ -397,7 +434,8 @@ struct Partition {
5: i32 lastAccessTime,
6: StorageDescriptor sd,
7: map<string, string> parameters,
- 8: optional PrincipalPrivilegeSet privileges
+ 8: optional PrincipalPrivilegeSet privileges,
+ 9: optional string catName
}
struct PartitionWithoutSD {
@@ -423,7 +461,8 @@ struct PartitionSpec {
2: string tableName,
3: string rootPath,
4: optional PartitionSpecWithSharedSD sharedSDPartitionSpec,
- 5: optional PartitionListComposingSpec partitionList
+ 5: optional PartitionListComposingSpec partitionList,
+ 6: optional string catName
}
// column statistics
@@ -512,7 +551,8 @@ struct ColumnStatisticsDesc {
2: required string dbName,
3: required string tableName,
4: optional string partName,
-5: optional i64 lastAnalyzed
+5: optional i64 lastAnalyzed,
+6: optional string catName
}
struct ColumnStatistics {
@@ -547,7 +587,8 @@ struct EnvironmentContext {
struct PrimaryKeysRequest {
1: required string db_name,
- 2: required string tbl_name
+ 2: required string tbl_name,
+ 3: optional string catName
}
struct PrimaryKeysResponse {
@@ -559,6 +600,7 @@ struct ForeignKeysRequest {
2: string parent_tbl_name,
3: string foreign_db_name,
4: string foreign_tbl_name
+ 5: optional string catName // No cross catalog constraints
}
struct ForeignKeysResponse {
@@ -566,8 +608,9 @@ struct ForeignKeysResponse {
}
struct UniqueConstraintsRequest {
- 1: required string db_name,
- 2: required string tbl_name
+ 1: required string catName,
+ 2: required string db_name,
+ 3: required string tbl_name,
}
struct UniqueConstraintsResponse {
@@ -575,8 +618,9 @@ struct UniqueConstraintsResponse {
}
struct NotNullConstraintsRequest {
- 1: required string db_name,
- 2: required string tbl_name
+ 1: required string catName,
+ 2: required string db_name,
+ 3: required string tbl_name,
}
struct NotNullConstraintsResponse {
@@ -584,8 +628,9 @@ struct NotNullConstraintsResponse {
}
struct DefaultConstraintsRequest {
- 1: required string db_name,
- 2: required string tbl_name
+ 1: required string catName,
+ 2: required string db_name,
+ 3: required string tbl_name
}
struct DefaultConstraintsResponse {
@@ -593,8 +638,9 @@ struct DefaultConstraintsResponse {
}
struct CheckConstraintsRequest {
- 1: required string db_name,
- 2: required string tbl_name
+ 1: required string catName,
+ 2: required string db_name,
+ 3: required string tbl_name
}
struct CheckConstraintsResponse {
@@ -605,7 +651,8 @@ struct CheckConstraintsResponse {
struct DropConstraintRequest {
1: required string dbname,
2: required string tablename,
- 3: required string constraintname
+ 3: required string constraintname,
+ 4: optional string catName
}
struct AddPrimaryKeyRequest {
@@ -645,6 +692,7 @@ struct PartitionsByExprRequest {
3: required binary expr,
4: optional string defaultPartitionName,
5: optional i16 maxParts=-1
+ 6: optional string catName
}
struct TableStatsResult {
@@ -659,13 +707,15 @@ struct TableStatsRequest {
1: required string dbName,
2: required string tblName,
3: required list<string> colNames
+ 4: optional string catName
}
struct PartitionsStatsRequest {
1: required string dbName,
2: required string tblName,
3: required list<string> colNames,
- 4: required list<string> partNames
+ 4: required list<string> partNames,
+ 5: optional string catName
}
// Return type for add_partitions_req
@@ -679,7 +729,8 @@ struct AddPartitionsRequest {
2: required string tblName,
3: required list<Partition> parts,
4: required bool ifNotExists,
- 5: optional bool needResult=true
+ 5: optional bool needResult=true,
+ 6: optional string catName
}
// Return type for drop_partitions_req
@@ -707,7 +758,8 @@ struct DropPartitionsRequest {
5: optional bool ifExists=true, // currently verified on client
6: optional bool ignoreProtection,
7: optional EnvironmentContext environmentContext,
- 8: optional bool needResult=true
+ 8: optional bool needResult=true,
+ 9: optional string catName
}
struct PartitionValuesRequest {
@@ -719,6 +771,7 @@ struct PartitionValuesRequest {
6: optional list<FieldSchema> partitionOrder;
7: optional bool ascending = true;
8: optional i64 maxParts = -1;
+ 9: optional string catName
}
struct PartitionValuesRow {
@@ -754,6 +807,7 @@ struct Function {
6: i32 createTime,
7: FunctionType functionType,
8: list<ResourceUri> resourceUris,
+ 9: optional string catName
}
// Structs for transaction and locks
@@ -977,10 +1031,11 @@ struct BasicTxnInfo {
}
struct CreationMetadata {
- 1: required string dbName,
- 2: required string tblName,
- 3: required set<string> tablesUsed,
- 4: optional string validTxnList
+ 1: required string catName
+ 2: required string dbName,
+ 3: required string tblName,
+ 4: required set<string> tablesUsed,
+ 5: optional string validTxnList,
}
struct NotificationEventRequest {
@@ -996,6 +1051,7 @@ struct NotificationEvent {
5: optional string tableName,
6: required string message,
7: optional string messageFormat,
+ 8: optional string catName
}
struct NotificationEventResponse {
@@ -1009,6 +1065,7 @@ struct CurrentNotificationEventId {
struct NotificationEventsCountRequest {
1: required i64 fromEventId,
2: required string dbName,
+ 3: optional string catName
}
struct NotificationEventsCountResponse {
@@ -1034,6 +1091,7 @@ struct FireEventRequest {
3: optional string dbName,
4: optional string tableName,
5: optional list<string> partitionVals,
+ 6: optional string catName,
}
struct FireEventResponse {
@@ -1125,7 +1183,8 @@ struct ClientCapabilities {
struct GetTableRequest {
1: required string dbName,
2: required string tblName,
- 3: optional ClientCapabilities capabilities
+ 3: optional ClientCapabilities capabilities,
+ 4: optional string catName
}
struct GetTableResult {
@@ -1135,7 +1194,8 @@ struct GetTableResult {
struct GetTablesRequest {
1: required string dbName,
2: optional list<string> tblNames,
- 3: optional ClientCapabilities capabilities
+ 3: optional ClientCapabilities capabilities,
+ 4: optional string catName
}
struct GetTablesResult {
@@ -1157,6 +1217,7 @@ struct TableMeta {
2: required string tableName;
3: required string tableType;
4: optional string comments;
+ 5: optional string catName;
}
struct Materialization {
@@ -1384,17 +1445,19 @@ struct WMCreateOrDropTriggerToPoolMappingResponse {
struct ISchema {
1: SchemaType schemaType,
2: string name,
- 3: string dbName,
- 4: SchemaCompatibility compatibility,
- 5: SchemaValidation validationLevel,
- 6: bool canEvolve,
- 7: optional string schemaGroup,
- 8: optional string description
+ 3: string catName,
+ 4: string dbName,
+ 5: SchemaCompatibility compatibility,
+ 6: SchemaValidation validationLevel,
+ 7: bool canEvolve,
+ 8: optional string schemaGroup,
+ 9: optional string description
}
struct ISchemaName {
- 1: string dbName,
- 2: string schemaName
+ 1: string catName,
+ 2: string dbName,
+ 3: string schemaName
}
struct AlterISchemaRequest {
@@ -1515,6 +1578,11 @@ service ThriftHiveMetastore extends fb303.FacebookService
string getMetaConf(1:string key) throws(1:MetaException o1)
void setMetaConf(1:string key, 2:string value) throws(1:MetaException o1)
+ void create_catalog(1: CreateCatalogRequest catalog) throws (1:AlreadyExistsException o1, 2:InvalidObjectException o2, 3: MetaException o3)
+ GetCatalogResponse get_catalog(1: GetCatalogRequest catName) throws (1:NoSuchObjectException o1, 2:MetaException o2)
+ GetCatalogsResponse get_catalogs() throws (1:MetaException o1)
+ void drop_catalog(1: DropCatalogRequest catName) throws (1:NoSuchObjectException o1, 2:InvalidOperationException o2, 3:MetaException o3)
+
void create_database(1:Database database) throws(1:AlreadyExistsException o1, 2:InvalidObjectException o2, 3:MetaException o3)
Database get_database(1:string name) throws(1:NoSuchObjectException o1, 2:MetaException o2)
void drop_database(1:string name, 2:bool deleteData, 3:bool cascade) throws(1:NoSuchObjectException o1, 2:InvalidOperationException o2, 3:MetaException o3)
@@ -1597,7 +1665,7 @@ service ThriftHiveMetastore extends fb303.FacebookService
throws (1:MetaException o1, 2:InvalidOperationException o2, 3:UnknownDBException o3)
map<string, Materialization> get_materialization_invalidation_info(1:string dbname, 2:list<string> tbl_names)
throws (1:MetaException o1, 2:InvalidOperationException o2, 3:UnknownDBException o3)
- void update_creation_metadata(1:string dbname, 2:string tbl_name, 3:CreationMetadata creation_metadata)
+ void update_creation_metadata(1: string catName, 2:string dbname, 3:string tbl_name, 4:CreationMetadata creation_metadata)
throws (1:MetaException o1, 2:InvalidOperationException o2, 3:UnknownDBException o3)
// Get a list of table names that match a filter.
http://git-wip-us.apache.org/repos/asf/hive/blob/ba8a99e1/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
index acad676..304f567 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.metastore;
import org.apache.hadoop.hive.metastore.api.CreationMetadata;
import org.apache.hadoop.hive.metastore.api.ISchemaName;
import org.apache.hadoop.hive.metastore.api.SchemaVersionDescriptor;
+import org.apache.hadoop.hive.metastore.api.Catalog;
import org.apache.hadoop.hive.metastore.api.WMFullResourcePlan;
import java.nio.ByteBuffer;
@@ -152,36 +153,62 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
+ public void createCatalog(Catalog cat) throws MetaException {
+ objectStore.createCatalog(cat);
+ }
+
+ @Override
+ public void alterCatalog(String catName, Catalog cat) throws MetaException,
+ InvalidOperationException {
+ objectStore.alterCatalog(catName, cat);
+ }
+
+ @Override
+ public Catalog getCatalog(String catalogName) throws NoSuchObjectException, MetaException {
+ return objectStore.getCatalog(catalogName);
+ }
+
+ @Override
+ public List<String> getCatalogs() throws MetaException {
+ return objectStore.getCatalogs();
+ }
+
+ @Override
+ public void dropCatalog(String catalogName) throws NoSuchObjectException, MetaException {
+ objectStore.dropCatalog(catalogName);
+ }
+
+ @Override
public void createDatabase(Database db) throws InvalidObjectException, MetaException {
objectStore.createDatabase(db);
}
@Override
- public Database getDatabase(String dbName) throws NoSuchObjectException {
- return objectStore.getDatabase(dbName);
+ public Database getDatabase(String catName, String dbName) throws NoSuchObjectException {
+ return objectStore.getDatabase(catName, dbName);
}
@Override
- public boolean dropDatabase(String dbName)
+ public boolean dropDatabase(String catName, String dbName)
throws NoSuchObjectException, MetaException {
- return objectStore.dropDatabase(dbName);
+ return objectStore.dropDatabase(catName, dbName);
}
@Override
- public boolean alterDatabase(String dbName, Database db)
+ public boolean alterDatabase(String catName, String dbName, Database db)
throws NoSuchObjectException, MetaException {
- return objectStore.alterDatabase(dbName, db);
+ return objectStore.alterDatabase(catName, dbName, db);
}
@Override
- public List<String> getDatabases(String pattern) throws MetaException {
- return objectStore.getDatabases(pattern);
+ public List<String> getDatabases(String catName, String pattern) throws MetaException {
+ return objectStore.getDatabases(catName, pattern);
}
@Override
- public List<String> getAllDatabases() throws MetaException {
- return objectStore.getAllDatabases();
+ public List<String> getAllDatabases(String catName) throws MetaException {
+ return objectStore.getAllDatabases(catName);
}
@Override
@@ -205,15 +232,15 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public boolean dropTable(String dbName, String tableName)
+ public boolean dropTable(String catName, String dbName, String tableName)
throws MetaException, NoSuchObjectException,
InvalidObjectException, InvalidInputException {
- return objectStore.dropTable(dbName, tableName);
+ return objectStore.dropTable(catName, dbName, tableName);
}
@Override
- public Table getTable(String dbName, String tableName) throws MetaException {
- return objectStore.getTable(dbName, tableName);
+ public Table getTable(String catName, String dbName, String tableName) throws MetaException {
+ return objectStore.getTable(catName, dbName, tableName);
}
@Override
@@ -223,150 +250,145 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public Partition getPartition(String dbName, String tableName, List<String> partVals)
+ public Partition getPartition(String catName, String dbName, String tableName, List<String> partVals)
throws MetaException, NoSuchObjectException {
- return objectStore.getPartition(dbName, tableName, partVals);
+ return objectStore.getPartition(catName, dbName, tableName, partVals);
}
@Override
- public boolean dropPartition(String dbName, String tableName, List<String> partVals)
+ public boolean dropPartition(String catName, String dbName, String tableName, List<String> partVals)
throws MetaException, NoSuchObjectException,
InvalidObjectException, InvalidInputException {
- return objectStore.dropPartition(dbName, tableName, partVals);
+ return objectStore.dropPartition(catName, dbName, tableName, partVals);
}
@Override
- public List<Partition> getPartitions(String dbName, String tableName, int max)
+ public List<Partition> getPartitions(String catName, String dbName, String tableName, int max)
throws MetaException, NoSuchObjectException {
- return objectStore.getPartitions(dbName, tableName, max);
+ return objectStore.getPartitions(catName, dbName, tableName, max);
}
@Override
- public void alterTable(String dbName, String name, Table newTable)
+ public void alterTable(String catName, String dbName, String name, Table newTable)
throws InvalidObjectException, MetaException {
- objectStore.alterTable(dbName, name, newTable);
+ objectStore.alterTable(catName, dbName, name, newTable);
}
@Override
- public void updateCreationMetadata(String dbname, String tablename, CreationMetadata cm)
+ public void updateCreationMetadata(String catName, String dbname, String tablename, CreationMetadata cm)
throws MetaException {
- objectStore.updateCreationMetadata(dbname, tablename, cm);
+ objectStore.updateCreationMetadata(catName, dbname, tablename, cm);
}
- @Override
- public List<String> getTables(String dbName, String pattern) throws MetaException {
- return objectStore.getTables(dbName, pattern);
+ public List<String> getTables(String catName, String dbName, String pattern) throws MetaException {
+ return objectStore.getTables(catName, dbName, pattern);
}
@Override
- public List<String> getTables(String dbName, String pattern, TableType tableType) throws MetaException {
- return objectStore.getTables(dbName, pattern, tableType);
+ public List<String> getTables(String catName, String dbName, String pattern, TableType tableType) throws MetaException {
+ return objectStore.getTables(catName, dbName, pattern, tableType);
}
@Override
- public List<String> getMaterializedViewsForRewriting(String dbName)
+ public List<String> getMaterializedViewsForRewriting(String catName, String dbName)
throws MetaException, NoSuchObjectException {
- return objectStore.getMaterializedViewsForRewriting(dbName);
+ return objectStore.getMaterializedViewsForRewriting(catName, dbName);
}
@Override
- public List<TableMeta> getTableMeta(String dbNames, String tableNames, List<String> tableTypes)
+ public List<TableMeta> getTableMeta(String catName, String dbNames, String tableNames, List<String> tableTypes)
throws MetaException {
- return objectStore.getTableMeta(dbNames, tableNames, tableTypes);
+ return objectStore.getTableMeta(catName, dbNames, tableNames, tableTypes);
}
@Override
- public List<Table> getTableObjectsByName(String dbName, List<String> tableNames)
+ public List<Table> getTableObjectsByName(String catName, String dbName, List<String> tableNames)
throws MetaException, UnknownDBException {
- return objectStore.getTableObjectsByName(dbName, tableNames);
+ return objectStore.getTableObjectsByName(catName, dbName, tableNames);
}
@Override
- public List<String> getAllTables(String dbName) throws MetaException {
- return objectStore.getAllTables(dbName);
+ public List<String> getAllTables(String catName, String dbName) throws MetaException {
+ return objectStore.getAllTables(catName, dbName);
}
@Override
- public List<String> listTableNamesByFilter(String dbName, String filter,
+ public List<String> listTableNamesByFilter(String catName, String dbName, String filter,
short maxTables) throws MetaException, UnknownDBException {
- return objectStore.listTableNamesByFilter(dbName, filter, maxTables);
+ return objectStore.listTableNamesByFilter(catName, dbName, filter, maxTables);
}
@Override
- public List<String> listPartitionNames(String dbName, String tblName, short maxParts)
+ public List<String> listPartitionNames(String catName, String dbName, String tblName, short maxParts)
throws MetaException {
- return objectStore.listPartitionNames(dbName, tblName, maxParts);
+ return objectStore.listPartitionNames(catName, dbName, tblName, maxParts);
}
@Override
- public PartitionValuesResponse listPartitionValues(String db_name, String tbl_name, List<FieldSchema> cols, boolean applyDistinct, String filter, boolean ascending, List<FieldSchema> order, long maxParts) throws MetaException {
+ public PartitionValuesResponse listPartitionValues(String catName, String db_name,
+ String tbl_name, List<FieldSchema> cols, boolean applyDistinct, String filter,
+ boolean ascending, List<FieldSchema> order, long maxParts) throws MetaException {
return null;
}
@Override
- public List<String> listPartitionNamesByFilter(String dbName, String tblName,
- String filter, short maxParts) throws MetaException {
- return objectStore.listPartitionNamesByFilter(dbName, tblName, filter, maxParts);
- }
-
- @Override
- public void alterPartition(String dbName, String tblName, List<String> partVals,
+ public void alterPartition(String catName, String dbName, String tblName, List<String> partVals,
Partition newPart) throws InvalidObjectException, MetaException {
- objectStore.alterPartition(dbName, tblName, partVals, newPart);
+ objectStore.alterPartition(catName, dbName, tblName, partVals, newPart);
}
@Override
- public void alterPartitions(String dbName, String tblName,
+ public void alterPartitions(String catName, String dbName, String tblName,
List<List<String>> partValsList, List<Partition> newParts)
throws InvalidObjectException, MetaException {
- objectStore.alterPartitions(dbName, tblName, partValsList, newParts);
+ objectStore.alterPartitions(catName, dbName, tblName, partValsList, newParts);
}
@Override
- public List<Partition> getPartitionsByFilter(String dbName, String tblName,
+ public List<Partition> getPartitionsByFilter(String catName, String dbName, String tblName,
String filter, short maxParts) throws MetaException, NoSuchObjectException {
- return objectStore.getPartitionsByFilter(dbName, tblName, filter, maxParts);
+ return objectStore.getPartitionsByFilter(catName, dbName, tblName, filter, maxParts);
}
@Override
- public int getNumPartitionsByFilter(String dbName, String tblName,
+ public int getNumPartitionsByFilter(String catName, String dbName, String tblName,
String filter) throws MetaException, NoSuchObjectException {
- return objectStore.getNumPartitionsByFilter(dbName, tblName, filter);
+ return objectStore.getNumPartitionsByFilter(catName, dbName, tblName, filter);
}
@Override
- public int getNumPartitionsByExpr(String dbName, String tblName,
+ public int getNumPartitionsByExpr(String catName, String dbName, String tblName,
byte[] expr) throws MetaException, NoSuchObjectException {
- return objectStore.getNumPartitionsByExpr(dbName, tblName, expr);
+ return objectStore.getNumPartitionsByExpr(catName, dbName, tblName, expr);
}
@Override
- public List<Partition> getPartitionsByNames(String dbName, String tblName,
+ public List<Partition> getPartitionsByNames(String catName, String dbName, String tblName,
List<String> partNames) throws MetaException, NoSuchObjectException {
- return objectStore.getPartitionsByNames(dbName, tblName, partNames);
+ return objectStore.getPartitionsByNames(catName, dbName, tblName, partNames);
}
@Override
- public boolean getPartitionsByExpr(String dbName, String tblName, byte[] expr,
+ public boolean getPartitionsByExpr(String catName, String dbName, String tblName, byte[] expr,
String defaultPartitionName, short maxParts, List<Partition> result) throws TException {
- return objectStore.getPartitionsByExpr(
+ return objectStore.getPartitionsByExpr(catName,
dbName, tblName, expr, defaultPartitionName, maxParts, result);
}
@Override
- public Table markPartitionForEvent(String dbName, String tblName,
+ public Table markPartitionForEvent(String catName, String dbName, String tblName,
Map<String, String> partVals, PartitionEventType evtType)
throws MetaException, UnknownTableException, InvalidPartitionException,
UnknownPartitionException {
- return objectStore.markPartitionForEvent(dbName, tblName, partVals, evtType);
+ return objectStore.markPartitionForEvent(catName, dbName, tblName, partVals, evtType);
}
@Override
- public boolean isPartitionMarkedForEvent(String dbName, String tblName,
+ public boolean isPartitionMarkedForEvent(String catName, String dbName, String tblName,
Map<String, String> partName, PartitionEventType evtType)
throws MetaException, UnknownTableException, InvalidPartitionException,
UnknownPartitionException {
- return objectStore.isPartitionMarkedForEvent(dbName, tblName, partName, evtType);
+ return objectStore.isPartitionMarkedForEvent(catName, dbName, tblName, partName, evtType);
}
@Override
@@ -402,31 +424,31 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public PrincipalPrivilegeSet getDBPrivilegeSet(String dbName, String userName,
+ public PrincipalPrivilegeSet getDBPrivilegeSet(String catName, String dbName, String userName,
List<String> groupNames) throws InvalidObjectException, MetaException {
- return objectStore.getDBPrivilegeSet(dbName, userName, groupNames);
+ return objectStore.getDBPrivilegeSet(catName, dbName, userName, groupNames);
}
@Override
- public PrincipalPrivilegeSet getTablePrivilegeSet(String dbName, String tableName,
+ public PrincipalPrivilegeSet getTablePrivilegeSet(String catName, String dbName, String tableName,
String userName, List<String> groupNames)
throws InvalidObjectException, MetaException {
- return objectStore.getTablePrivilegeSet(dbName, tableName, userName, groupNames);
+ return objectStore.getTablePrivilegeSet(catName, dbName, tableName, userName, groupNames);
}
@Override
- public PrincipalPrivilegeSet getPartitionPrivilegeSet(String dbName, String tableName,
+ public PrincipalPrivilegeSet getPartitionPrivilegeSet(String catName, String dbName, String tableName,
String partition, String userName, List<String> groupNames)
throws InvalidObjectException, MetaException {
- return objectStore.getPartitionPrivilegeSet(dbName, tableName, partition,
+ return objectStore.getPartitionPrivilegeSet(catName, dbName, tableName, partition,
userName, groupNames);
}
@Override
- public PrincipalPrivilegeSet getColumnPrivilegeSet(String dbName, String tableName,
+ public PrincipalPrivilegeSet getColumnPrivilegeSet(String catName, String dbName, String tableName,
String partitionName, String columnName, String userName, List<String> groupNames)
throws InvalidObjectException, MetaException {
- return objectStore.getColumnPrivilegeSet(dbName, tableName, partitionName,
+ return objectStore.getColumnPrivilegeSet(catName, dbName, tableName, partitionName,
columnName, userName, groupNames);
}
@@ -438,38 +460,38 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
@Override
public List<HiveObjectPrivilege> listPrincipalDBGrants(String principalName,
- PrincipalType principalType, String dbName) {
- return objectStore.listPrincipalDBGrants(principalName, principalType, dbName);
+ PrincipalType principalType, String catName, String dbName) {
+ return objectStore.listPrincipalDBGrants(principalName, principalType, catName, dbName);
}
@Override
public List<HiveObjectPrivilege> listAllTableGrants(String principalName,
- PrincipalType principalType, String dbName, String tableName) {
+ PrincipalType principalType, String catName, String dbName, String tableName) {
return objectStore.listAllTableGrants(principalName, principalType,
- dbName, tableName);
+ catName, dbName, tableName);
}
@Override
public List<HiveObjectPrivilege> listPrincipalPartitionGrants(String principalName,
- PrincipalType principalType, String dbName, String tableName, List<String> partValues,
+ PrincipalType principalType, String catName, String dbName, String tableName, List<String> partValues,
String partName) {
return objectStore.listPrincipalPartitionGrants(principalName, principalType,
- dbName, tableName, partValues, partName);
+ catName, dbName, tableName, partValues, partName);
}
@Override
public List<HiveObjectPrivilege> listPrincipalTableColumnGrants(String principalName,
- PrincipalType principalType, String dbName, String tableName, String columnName) {
+ PrincipalType principalType, String catName, String dbName, String tableName, String columnName) {
return objectStore.listPrincipalTableColumnGrants(principalName, principalType,
- dbName, tableName, columnName);
+ catName, dbName, tableName, columnName);
}
@Override
public List<HiveObjectPrivilege> listPrincipalPartitionColumnGrants(
- String principalName, PrincipalType principalType, String dbName, String tableName,
+ String principalName, PrincipalType principalType, String catName, String dbName, String tableName,
List<String> partVals, String partName, String columnName) {
return objectStore.listPrincipalPartitionColumnGrants(principalName, principalType,
- dbName, tableName, partVals, partName, columnName);
+ catName, dbName, tableName, partVals, partName, columnName);
}
@Override
@@ -511,33 +533,33 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public Partition getPartitionWithAuth(String dbName, String tblName,
+ public Partition getPartitionWithAuth(String catName, String dbName, String tblName,
List<String> partVals, String userName, List<String> groupNames)
throws MetaException, NoSuchObjectException, InvalidObjectException {
- return objectStore.getPartitionWithAuth(dbName, tblName, partVals, userName,
+ return objectStore.getPartitionWithAuth(catName, dbName, tblName, partVals, userName,
groupNames);
}
@Override
- public List<Partition> getPartitionsWithAuth(String dbName, String tblName,
+ public List<Partition> getPartitionsWithAuth(String catName, String dbName, String tblName,
short maxParts, String userName, List<String> groupNames)
throws MetaException, NoSuchObjectException, InvalidObjectException {
- return objectStore.getPartitionsWithAuth(dbName, tblName, maxParts, userName,
+ return objectStore.getPartitionsWithAuth(catName, dbName, tblName, maxParts, userName,
groupNames);
}
@Override
- public List<String> listPartitionNamesPs(String dbName, String tblName,
+ public List<String> listPartitionNamesPs(String catName, String dbName, String tblName,
List<String> partVals, short maxParts)
throws MetaException, NoSuchObjectException {
- return objectStore.listPartitionNamesPs(dbName, tblName, partVals, maxParts);
+ return objectStore.listPartitionNamesPs(catName, dbName, tblName, partVals, maxParts);
}
@Override
- public List<Partition> listPartitionsPsWithAuth(String dbName, String tblName,
+ public List<Partition> listPartitionsPsWithAuth(String catName, String dbName, String tblName,
List<String> partVals, short maxParts, String userName, List<String> groupNames)
throws MetaException, InvalidObjectException, NoSuchObjectException {
- return objectStore.listPartitionsPsWithAuth(dbName, tblName, partVals, maxParts,
+ return objectStore.listPartitionsPsWithAuth(catName, dbName, tblName, partVals, maxParts,
userName, groupNames);
}
@@ -582,53 +604,52 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public List<HiveObjectPrivilege> listDBGrantsAll(String dbName) {
- return objectStore.listDBGrantsAll(dbName);
+ public List<HiveObjectPrivilege> listDBGrantsAll(String catName, String dbName) {
+ return objectStore.listDBGrantsAll(catName, dbName);
}
@Override
- public List<HiveObjectPrivilege> listPartitionColumnGrantsAll(String dbName, String tableName,
+ public List<HiveObjectPrivilege> listPartitionColumnGrantsAll(String catName, String dbName, String tableName,
String partitionName, String columnName) {
- return objectStore.listPartitionColumnGrantsAll(dbName, tableName, partitionName, columnName);
+ return objectStore.listPartitionColumnGrantsAll(catName, dbName, tableName, partitionName, columnName);
}
@Override
- public List<HiveObjectPrivilege> listTableGrantsAll(String dbName, String tableName) {
- return objectStore.listTableGrantsAll(dbName, tableName);
+ public List<HiveObjectPrivilege> listTableGrantsAll(String catName, String dbName, String tableName) {
+ return objectStore.listTableGrantsAll(catName, dbName, tableName);
}
@Override
- public List<HiveObjectPrivilege> listPartitionGrantsAll(String dbName, String tableName,
+ public List<HiveObjectPrivilege> listPartitionGrantsAll(String catName, String dbName, String tableName,
String partitionName) {
- return objectStore.listPartitionGrantsAll(dbName, tableName, partitionName);
+ return objectStore.listPartitionGrantsAll(catName, dbName, tableName, partitionName);
}
@Override
- public List<HiveObjectPrivilege> listTableColumnGrantsAll(String dbName, String tableName,
+ public List<HiveObjectPrivilege> listTableColumnGrantsAll(String catName, String dbName, String tableName,
String columnName) {
- return objectStore.listTableColumnGrantsAll(dbName, tableName, columnName);
+ return objectStore.listTableColumnGrantsAll(catName, dbName, tableName, columnName);
}
@Override
- public ColumnStatistics getTableColumnStatistics(String dbName, String tableName,
+ public ColumnStatistics getTableColumnStatistics(String catName, String dbName, String tableName,
List<String> colNames) throws MetaException, NoSuchObjectException {
- return objectStore.getTableColumnStatistics(dbName, tableName, colNames);
+ return objectStore.getTableColumnStatistics(catName, dbName, tableName, colNames);
}
@Override
- public boolean deleteTableColumnStatistics(String dbName, String tableName,
- String colName)
- throws NoSuchObjectException, MetaException, InvalidObjectException,
- InvalidInputException {
- return objectStore.deleteTableColumnStatistics(dbName, tableName, colName);
+ public boolean deleteTableColumnStatistics(String catName, String dbName, String tableName,
+ String colName)
+ throws NoSuchObjectException, MetaException, InvalidObjectException, InvalidInputException {
+ return objectStore.deleteTableColumnStatistics(catName, dbName, tableName, colName);
}
@Override
- public boolean deletePartitionColumnStatistics(String dbName, String tableName,
+ public boolean deletePartitionColumnStatistics(String catName, String dbName, String tableName,
String partName, List<String> partVals, String colName)
throws NoSuchObjectException, MetaException, InvalidObjectException,
InvalidInputException {
- return objectStore.deletePartitionColumnStatistics(dbName, tableName, partName,
+ return objectStore.deletePartitionColumnStatistics(catName, dbName, tableName, partName,
partVals, colName);
}
@@ -702,33 +723,33 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public List<ColumnStatistics> getPartitionColumnStatistics(String dbName,
+ public List<ColumnStatistics> getPartitionColumnStatistics(String catName, String dbName,
String tblName, List<String> colNames, List<String> partNames)
throws MetaException, NoSuchObjectException {
- return objectStore.getPartitionColumnStatistics(dbName, tblName , colNames, partNames);
+ return objectStore.getPartitionColumnStatistics(catName, dbName, tblName , colNames, partNames);
}
@Override
- public boolean doesPartitionExist(String dbName, String tableName,
+ public boolean doesPartitionExist(String catName, String dbName, String tableName,
List<String> partVals) throws MetaException, NoSuchObjectException {
- return objectStore.doesPartitionExist(dbName, tableName, partVals);
+ return objectStore.doesPartitionExist(catName, dbName, tableName, partVals);
}
@Override
- public boolean addPartitions(String dbName, String tblName, List<Partition> parts)
+ public boolean addPartitions(String catName, String dbName, String tblName, List<Partition> parts)
throws InvalidObjectException, MetaException {
- return objectStore.addPartitions(dbName, tblName, parts);
+ return objectStore.addPartitions(catName, dbName, tblName, parts);
}
@Override
- public boolean addPartitions(String dbName, String tblName, PartitionSpecProxy partitionSpec, boolean ifNotExists) throws InvalidObjectException, MetaException {
+ public boolean addPartitions(String catName, String dbName, String tblName, PartitionSpecProxy partitionSpec, boolean ifNotExists) throws InvalidObjectException, MetaException {
return false;
}
@Override
- public void dropPartitions(String dbName, String tblName, List<String> partNames)
+ public void dropPartitions(String catName, String dbName, String tblName, List<String> partNames)
throws MetaException, NoSuchObjectException {
- objectStore.dropPartitions(dbName, tblName, partNames);
+ objectStore.dropPartitions(catName, dbName, tblName, partNames);
}
@Override
@@ -738,38 +759,38 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public void alterFunction(String dbName, String funcName, Function newFunction)
+ public void alterFunction(String catName, String dbName, String funcName, Function newFunction)
throws InvalidObjectException, MetaException {
- objectStore.alterFunction(dbName, funcName, newFunction);
+ objectStore.alterFunction(catName, dbName, funcName, newFunction);
}
@Override
- public void dropFunction(String dbName, String funcName)
+ public void dropFunction(String catName, String dbName, String funcName)
throws MetaException, NoSuchObjectException, InvalidObjectException,
InvalidInputException {
- objectStore.dropFunction(dbName, funcName);
+ objectStore.dropFunction(catName, dbName, funcName);
}
@Override
- public Function getFunction(String dbName, String funcName)
+ public Function getFunction(String catName, String dbName, String funcName)
throws MetaException {
- return objectStore.getFunction(dbName, funcName);
+ return objectStore.getFunction(catName, dbName, funcName);
}
@Override
- public List<Function> getAllFunctions()
+ public List<Function> getAllFunctions(String catName)
throws MetaException {
return Collections.emptyList();
}
@Override
- public List<String> getFunctions(String dbName, String pattern)
+ public List<String> getFunctions(String catName, String dbName, String pattern)
throws MetaException {
- return objectStore.getFunctions(dbName, pattern);
+ return objectStore.getFunctions(catName, dbName, pattern);
}
@Override
- public AggrStats get_aggr_stats_for(String dbName,
+ public AggrStats get_aggr_stats_for(String catName, String dbName,
String tblName, List<String> partNames, List<String> colNames)
throws MetaException {
return null;
@@ -847,14 +868,14 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public List<SQLPrimaryKey> getPrimaryKeys(String db_name, String tbl_name)
+ public List<SQLPrimaryKey> getPrimaryKeys(String catName, String db_name, String tbl_name)
throws MetaException {
// TODO Auto-generated method stub
return null;
}
@Override
- public List<SQLForeignKey> getForeignKeys(String parent_db_name,
+ public List<SQLForeignKey> getForeignKeys(String catName, String parent_db_name,
String parent_tbl_name, String foreign_db_name, String foreign_tbl_name)
throws MetaException {
// TODO Auto-generated method stub
@@ -862,28 +883,28 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public List<SQLUniqueConstraint> getUniqueConstraints(String db_name, String tbl_name)
+ public List<SQLUniqueConstraint> getUniqueConstraints(String catName, String db_name, String tbl_name)
throws MetaException {
// TODO Auto-generated method stub
return null;
}
@Override
- public List<SQLNotNullConstraint> getNotNullConstraints(String db_name, String tbl_name)
+ public List<SQLNotNullConstraint> getNotNullConstraints(String catName, String db_name, String tbl_name)
throws MetaException {
// TODO Auto-generated method stub
return null;
}
@Override
- public List<SQLDefaultConstraint> getDefaultConstraints(String db_name, String tbl_name)
+ public List<SQLDefaultConstraint> getDefaultConstraints(String catName, String db_name, String tbl_name)
throws MetaException {
// TODO Auto-generated method stub
return null;
}
@Override
- public List<SQLCheckConstraint> getCheckConstraints(String db_name, String tbl_name)
+ public List<SQLCheckConstraint> getCheckConstraints(String catName, String db_name, String tbl_name)
throws MetaException {
// TODO Auto-generated method stub
return null;
@@ -902,8 +923,8 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public void dropConstraint(String dbName, String tableName,
- String constraintName) throws NoSuchObjectException {
+ public void dropConstraint(String catName, String dbName, String tableName,
+ String constraintName, boolean missingOk) throws NoSuchObjectException {
// TODO Auto-generated method stub
}
@@ -959,7 +980,8 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public WMFullResourcePlan getResourcePlan(String name) throws NoSuchObjectException {
+ public WMFullResourcePlan getResourcePlan(String name) throws NoSuchObjectException,
+ MetaException {
return objectStore.getResourcePlan(name);
}
@@ -1062,6 +1084,14 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
objectStore.dropWMTriggerToPoolMapping(resourcePlanName, triggerName, poolPath);
}
+
+ @Override
+ public List<ColStatsObjWithSourceInfo> getPartitionColStatsForDatabase(String catName, String dbName)
+ throws MetaException, NoSuchObjectException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
public void createISchema(ISchema schema) throws AlreadyExistsException, MetaException,
NoSuchObjectException {
objectStore.createISchema(schema);