diff --git a/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql b/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql index a69046f..7945c30 100644 --- a/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql +++ b/metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql @@ -1080,11 +1080,10 @@ SELECT DISTINCT cast(null as string), `DB_LOCATION_URI` FROM - `sys`.`DBS` D, `sys`.`TBLS` T, `sys`.`TBL_PRIVS` P + `sys`.`DBS` D LEFT JOIN `sys`.`TBLS` T ON (D.`DB_ID` = T.`DB_ID`) + LEFT JOIN `sys`.`TBL_PRIVS` P ON (T.`TBL_ID` = P.`TBL_ID`) WHERE - NOT restrict_information_schema() OR - D.`DB_ID` = T.`DB_ID` - AND T.`TBL_ID` = P.`TBL_ID` + NOT restrict_information_schema() OR P.`TBL_ID` IS NOT NULL AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER' OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP')) AND current_authorizer() = P.`AUTHORIZER`; @@ -1118,12 +1117,12 @@ SELECT DISTINCT 'NO', cast(null as string) FROM - `sys`.`TBLS` T, `sys`.`DBS` D, `sys`.`TBL_PRIVS` P + `sys`.`TBLS` T JOIN `sys`.`DBS` D ON (D.`DB_ID` = T.`DB_ID`) + LEFT JOIN `sys`.`TBL_PRIVS` P ON (T.`TBL_ID` = P.`TBL_ID`) WHERE - D.`DB_ID` = T.`DB_ID` - AND (NOT restrict_information_schema() OR T.`TBL_ID` = P.`TBL_ID` + NOT restrict_information_schema() OR P.`TBL_ID` IS NOT NULL AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER' - OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))) + OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP')) AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer(); CREATE OR REPLACE VIEW `TABLE_PRIVILEGES` @@ -1147,18 +1146,15 @@ SELECT DISTINCT IF (P.`GRANT_OPTION` == 0, 'NO', 'YES'), 'NO' FROM - `sys`.`TBL_PRIVS` P, - `sys`.`TBLS` T, - `sys`.`DBS` D, - `sys`.`TBL_PRIVS` P2 + `sys`.`TBL_PRIVS` P JOIN `sys`.`TBLS` T ON (P.`TBL_ID` = T.`TBL_ID`) + JOIN `sys`.`DBS` D ON (T.`DB_ID` = D.`DB_ID`) + LEFT JOIN `sys`.`TBL_PRIVS` P2 ON (P.`TBL_ID` = P2.`TBL_ID`) WHERE - P.`TBL_ID` = T.`TBL_ID` - AND T.`DB_ID` = D.`DB_ID` - AND (NOT restrict_information_schema() OR - P.`TBL_ID` = P2.`TBL_ID` AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE` + NOT restrict_information_schema() OR + (P2.`TBL_ID` IS NOT NULL AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE` AND (P2.`PRINCIPAL_NAME`=current_user() AND P2.`PRINCIPAL_TYPE`='USER' - OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP'))) - AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER` = current_authorizer() AND P2.`AUTHORIZER` = current_authorizer(); + OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP')) + AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER` = current_authorizer() AND P2.`AUTHORIZER` = current_authorizer()); CREATE OR REPLACE VIEW `COLUMNS` ( @@ -1299,21 +1295,16 @@ SELECT DISTINCT WHEN lower(C.TYPE_NAME) like 'numeric%' THEN 10 ELSE null END FROM - `sys`.`COLUMNS_V2` C, - `sys`.`SDS` S, - `sys`.`TBLS` T, - `sys`.`DBS` D, - `sys`.`TBL_COL_PRIVS` P + `sys`.`COLUMNS_V2` C JOIN `sys`.`SDS` S ON (C.`CD_ID` = S.`CD_ID`) + JOIN `sys`.`TBLS` T ON (S.`SD_ID` = T.`SD_ID`) + JOIN `sys`.`DBS` D ON (T.`DB_ID` = D.`DB_ID`) + LEFT JOIN `sys`.`TBL_COL_PRIVS` P ON (T.`TBL_ID` = P.`TBL_ID`) WHERE - S.`SD_ID` = T.`SD_ID` - AND T.`DB_ID` = D.`DB_ID` - AND C.`CD_ID` = S.`CD_ID` - AND (NOT restrict_information_schema() OR - T.`TBL_ID` = P.`TBL_ID` + NOT restrict_information_schema() OR P.`TBL_ID` IS NOT NULL AND C.`COLUMN_NAME` = P.`COLUMN_NAME` AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER' OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP')) - AND P.`TBL_COL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer()); + AND P.`TBL_COL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer(); CREATE OR REPLACE VIEW `COLUMN_PRIVILEGES` ( @@ -1336,20 +1327,16 @@ SELECT DISTINCT P.`TBL_COL_PRIV`, IF (P.`GRANT_OPTION` == 0, 'NO', 'YES') FROM - `sys`.`TBL_COL_PRIVS` P, - `sys`.`TBLS` T, - `sys`.`DBS` D, - `sys`.`SDS` S, - `sys`.`TBL_PRIVS` P2 + `sys`.`TBL_COL_PRIVS` P JOIN `sys`.`TBLS` T ON (P.`TBL_ID` = T.`TBL_ID`) + JOIN `sys`.`DBS` D ON (T.`DB_ID` = D.`DB_ID`) + JOIN `sys`.`SDS` S ON (S.`SD_ID` = T.`SD_ID`) + LEFT JOIN `sys`.`TBL_PRIVS` P2 ON (P.`TBL_ID` = P2.`TBL_ID`) WHERE - S.`SD_ID` = T.`SD_ID` - AND T.`DB_ID` = D.`DB_ID` - AND P.`TBL_ID` = T.`TBL_ID` - AND (NOT restrict_information_schema() OR - P.`TBL_ID` = P2.`TBL_ID` AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE` + NOT restrict_information_schema() OR P2.`TBL_ID` IS NOT NULL + AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE` AND (P2.`PRINCIPAL_NAME`=current_user() AND P2.`PRINCIPAL_TYPE`='USER' OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP')) - AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer() AND P2.`AUTHORIZER`=current_authorizer()); + AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer() AND P2.`AUTHORIZER`=current_authorizer(); CREATE OR REPLACE VIEW `VIEWS` ( @@ -1376,14 +1363,11 @@ SELECT DISTINCT false, false FROM - `sys`.`DBS` D, - `sys`.`TBLS` T, - `sys`.`TBL_PRIVS` P + `sys`.`DBS` D JOIN `sys`.`TBLS` T ON (D.`DB_ID` = T.`DB_ID`) + LEFT JOIN `sys`.`TBL_PRIVS` P ON (T.`TBL_ID` = P.`TBL_ID`) WHERE - D.`DB_ID` = T.`DB_ID` - AND length(T.VIEW_ORIGINAL_TEXT) > 0 - AND (NOT restrict_information_schema() OR - T.`TBL_ID` = P.`TBL_ID` + length(T.VIEW_ORIGINAL_TEXT) > 0 + AND (NOT restrict_information_schema() OR P.`TBL_ID` IS NOT NULL AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER' OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP')) AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer()); diff --git a/ql/src/test/queries/clientpositive/resourceplan.q b/ql/src/test/queries/clientpositive/resourceplan.q index fae9701..fa2ce98 100644 --- a/ql/src/test/queries/clientpositive/resourceplan.q +++ b/ql/src/test/queries/clientpositive/resourceplan.q @@ -10,7 +10,7 @@ set hive.cbo.enable=false; show grant user hive_test_user; -- Initialize the hive schema. -source ../../metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql; +source ../../metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q b/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q index 76b595b..ded7a40 100644 --- a/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q +++ b/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q @@ -32,7 +32,7 @@ CREATE VIEW smt_sysdb_view show grant user hive_test_user; -source ../../metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql; +source ../../metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql; use sys; diff --git a/ql/src/test/queries/clientpositive/sysdb.q b/ql/src/test/queries/clientpositive/sysdb.q index 6a03dd9..c617d04 100644 --- a/ql/src/test/queries/clientpositive/sysdb.q +++ b/ql/src/test/queries/clientpositive/sysdb.q @@ -27,7 +27,7 @@ CREATE TABLE moretypes (a decimal(10,2), b tinyint, c smallint, d int, e bigint, show grant user hive_test_user; -source ../../metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql; +source ../../metastore/scripts/upgrade/hive/hive-schema-4.0.0.hive.sql; use sys; diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out index c11daf7..08aea73 100644 --- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out +++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out @@ -1838,14 +1838,14 @@ FROM POSTHOOK: type: CREATETABLE POSTHOOK: Output: SYS@PART_COL_STATS POSTHOOK: Output: database:sys -PREHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '3.1.0' AS `SCHEMA_VERSION`, - 'Hive release version 3.1.0' AS `VERSION_COMMENT` +PREHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '4.0.0' AS `SCHEMA_VERSION`, + 'Hive release version 4.0.0' AS `VERSION_COMMENT` PREHOOK: type: CREATEVIEW PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: SYS@VERSION PREHOOK: Output: database:sys -POSTHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '3.1.0' AS `SCHEMA_VERSION`, - 'Hive release version 3.1.0' AS `VERSION_COMMENT` +POSTHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '4.0.0' AS `SCHEMA_VERSION`, + 'Hive release version 4.0.0' AS `VERSION_COMMENT` POSTHOOK: type: CREATEVIEW POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: SYS@VERSION diff --git a/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out b/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out index d4aad39..7ed48e8 100644 --- a/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out +++ b/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out @@ -1928,14 +1928,14 @@ FROM POSTHOOK: type: CREATETABLE POSTHOOK: Output: SYS@PART_COL_STATS POSTHOOK: Output: database:sys -PREHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '3.1.0' AS `SCHEMA_VERSION`, - 'Hive release version 3.1.0' AS `VERSION_COMMENT` +PREHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '4.0.0' AS `SCHEMA_VERSION`, + 'Hive release version 4.0.0' AS `VERSION_COMMENT` PREHOOK: type: CREATEVIEW PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: SYS@VERSION PREHOOK: Output: database:sys -POSTHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '3.1.0' AS `SCHEMA_VERSION`, - 'Hive release version 3.1.0' AS `VERSION_COMMENT` +POSTHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '4.0.0' AS `SCHEMA_VERSION`, + 'Hive release version 4.0.0' AS `VERSION_COMMENT` POSTHOOK: type: CREATEVIEW POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: SYS@VERSION diff --git a/ql/src/test/results/clientpositive/llap/sysdb.q.out b/ql/src/test/results/clientpositive/llap/sysdb.q.out index b3be3f7..9bc2345 100644 --- a/ql/src/test/results/clientpositive/llap/sysdb.q.out +++ b/ql/src/test/results/clientpositive/llap/sysdb.q.out @@ -1906,14 +1906,14 @@ FROM POSTHOOK: type: CREATETABLE POSTHOOK: Output: SYS@PART_COL_STATS POSTHOOK: Output: database:sys -PREHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '3.1.0' AS `SCHEMA_VERSION`, - 'Hive release version 3.1.0' AS `VERSION_COMMENT` +PREHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '4.0.0' AS `SCHEMA_VERSION`, + 'Hive release version 4.0.0' AS `VERSION_COMMENT` PREHOOK: type: CREATEVIEW PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: SYS@VERSION PREHOOK: Output: database:sys -POSTHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '3.1.0' AS `SCHEMA_VERSION`, - 'Hive release version 3.1.0' AS `VERSION_COMMENT` +POSTHOOK: query: CREATE OR REPLACE VIEW `VERSION` AS SELECT 1 AS `VER_ID`, '4.0.0' AS `SCHEMA_VERSION`, + 'Hive release version 4.0.0' AS `VERSION_COMMENT` POSTHOOK: type: CREATEVIEW POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: SYS@VERSION @@ -4151,7 +4151,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Input: sys@version #### A masked pattern was here #### -3.1.0 +4.0.0 PREHOOK: query: select func_name, func_type from funcs order by func_name, func_type limit 5 PREHOOK: type: QUERY PREHOOK: Input: sys@funcs