You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jd...@apache.org on 2018/06/24 17:10:33 UTC
[1/4] hive git commit: HIVE-19753: Strict managed tables mode in Hive
(Jason Dere, reviewed by Eugene Koifman)
Repository: hive
Updated Branches:
refs/heads/master 4b7f88ad1 -> 091186484
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TransactionalValidationListener.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TransactionalValidationListener.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TransactionalValidationListener.java
index 33cf542..d9fdd29 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TransactionalValidationListener.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TransactionalValidationListener.java
@@ -43,6 +43,7 @@ import org.apache.hadoop.hive.metastore.events.PreEventContext;
import org.apache.hadoop.hive.metastore.txn.TxnStore;
import org.apache.hadoop.hive.metastore.txn.TxnUtils;
import org.apache.hadoop.hive.metastore.utils.MetaStoreUtils;
+import org.apache.hadoop.hive.metastore.utils.HiveStrictManagedUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -78,12 +79,14 @@ public final class TransactionalValidationListener extends MetaStorePreEventList
private void handle(PreAlterTableEvent context) throws MetaException {
if (supportedCatalogs.contains(getTableCatalog(context.getNewTable()))) {
handleAlterTableTransactionalProp(context);
+ HiveStrictManagedUtils.validateStrictManagedTableWithThrow(getConf(), context.getNewTable());
}
}
private void handle(PreCreateTableEvent context) throws MetaException {
if (supportedCatalogs.contains(getTableCatalog(context.getTable()))) {
handleCreateTableTransactionalProp(context);
+ HiveStrictManagedUtils.validateStrictManagedTableWithThrow(getConf(), context.getTable());
}
}
@@ -329,7 +332,7 @@ public final class TransactionalValidationListener extends MetaStorePreEventList
}
}
- if (newTable.getTableType().equals(TableType.EXTERNAL_TABLE.toString())) {
+ if (MetaStoreUtils.isExternalTable(newTable)) {
throw new MetaException(Warehouse.getQualifiedName(newTable) +
" cannot be declared transactional because it's an external table");
}
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
index 54d8830..f3b909c 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
@@ -748,6 +748,9 @@ public class MetastoreConf {
"The class to use to read schemas from storage. It must implement " +
"org.apache.hadoop.hive.metastore.StorageSchemaReader"),
STORE_MANAGER_TYPE("datanucleus.storeManagerType", "datanucleus.storeManagerType", "rdbms", "metadata store type"),
+ STRICT_MANAGED_TABLES("metastore.strict.managed.tables", "hive.strict.managed.tables", false,
+ "Whether strict managed tables mode is enabled. With this mode enabled, " +
+ "only transactional tables (both full and insert-only) are allowed to be created as managed tables"),
SUPPORT_SPECICAL_CHARACTERS_IN_TABLE_NAMES("metastore.support.special.characters.tablename",
"hive.support.special.characters.tablename", true,
"This flag should be set to true to enable support for special characters in table names.\n"
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/HiveStrictManagedUtils.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/HiveStrictManagedUtils.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/HiveStrictManagedUtils.java
new file mode 100644
index 0000000..fac3c22
--- /dev/null
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/HiveStrictManagedUtils.java
@@ -0,0 +1,100 @@
+/*
+ * 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.utils;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
+import org.apache.hadoop.hive.metastore.api.MetaException;
+import org.apache.hadoop.hive.metastore.api.Table;
+import org.apache.hadoop.hive.metastore.TableType;
+
+public class HiveStrictManagedUtils {
+
+ public static void validateStrictManagedTableWithThrow(Configuration conf, Table table)
+ throws MetaException {
+ String reason = validateStrictManagedTable(conf, table);
+ if (reason != null) {
+ throw new MetaException(reason);
+ }
+ }
+
+ /**
+ * Checks if the table is valid based on the rules for strict managed tables.
+ * @param conf
+ * @param table
+ * @return Null if the table is valid, otherwise a string message indicating why the table is invalid.
+ */
+ public static String validateStrictManagedTable(Configuration conf,
+ Table table) {
+ if (MetastoreConf.getBoolVar(conf, MetastoreConf.ConfVars.STRICT_MANAGED_TABLES)) {
+ if (table.isTemporary()) {
+ // temp tables exempted from checks.
+ return null;
+ }
+
+ TableType tableType = TableType.valueOf(table.getTableType());
+ if (tableType == TableType.MANAGED_TABLE) {
+ if (!MetaStoreUtils.isTransactionalTable(table.getParameters())) {
+ return createValidationError(table, "Table is marked as a managed table but is not transactional.");
+ }
+ if (MetaStoreUtils.isNonNativeTable(table)) {
+ return createValidationError(table, "Table is marked as a managed table but is non-native.");
+ }
+ if (isAvroTableWithExternalSchema(table)) {
+ return createValidationError(table, "Managed Avro table has externally defined schema.");
+ }
+ }
+ }
+
+ // Table is valid
+ return null;
+ }
+
+ private static final String AVRO_SERDE_CLASSNAME = "org.apache.hadoop.hive.serde2.avro.AvroSerDe";
+ private static final String AVRO_SCHEMA_URL_PROPERTY = "avro.schema.url";
+
+ public static boolean isAvroTableWithExternalSchema(Table table) {
+ if (table.getSd().getSerdeInfo().getSerializationLib().equals(AVRO_SERDE_CLASSNAME)) {
+ String schemaUrl = table.getParameters().get(AVRO_SCHEMA_URL_PROPERTY);
+ if (schemaUrl != null && !schemaUrl.isEmpty()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static boolean isListBucketedTable(Table table) {
+ return table.getSd().isStoredAsSubDirectories();
+ }
+
+ private static String createValidationError(Table table, String message) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Table ");
+ sb.append(table.getDbName());
+ sb.append(".");
+ sb.append(table.getTableName());
+ sb.append(" failed strict managed table checks due to the following reason: ");
+ sb.append(message);
+ return sb.toString();
+ }
+}
[3/4] hive git commit: HIVE-19753: Strict managed tables mode in Hive
(Jason Dere, reviewed by Eugene Koifman)
Posted by jd...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientpositive/llap/strict_managed_tables1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/strict_managed_tables1.q.out b/ql/src/test/results/clientpositive/llap/strict_managed_tables1.q.out
new file mode 100644
index 0000000..ac80e1f
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/strict_managed_tables1.q.out
@@ -0,0 +1,176 @@
+PREHOOK: query: drop table if exists smt1_tab1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt1_tab1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists smt1_tab2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt1_tab2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table smt1_tab1 (c1 string, c2 string) stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt1_tab1
+POSTHOOK: query: create table smt1_tab1 (c1 string, c2 string) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt1_tab1
+PREHOOK: query: load data local inpath '../../data/files/kv1.txt' into table smt1_tab1
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@smt1_tab1
+POSTHOOK: query: load data local inpath '../../data/files/kv1.txt' into table smt1_tab1
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@smt1_tab1
+PREHOOK: query: select * from smt1_tab1 where c1 = '0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tab1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from smt1_tab1 where c1 = '0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tab1
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+PREHOOK: query: create table smt1_tab2 (c1 string, c2 string) stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt1_tab2
+POSTHOOK: query: create table smt1_tab2 (c1 string, c2 string) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt1_tab2
+PREHOOK: query: insert into table smt1_tab2 select * from smt1_tab1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tab1
+PREHOOK: Output: default@smt1_tab2
+POSTHOOK: query: insert into table smt1_tab2 select * from smt1_tab1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tab1
+POSTHOOK: Output: default@smt1_tab2
+POSTHOOK: Lineage: smt1_tab2.c1 SIMPLE [(smt1_tab1)smt1_tab1.FieldSchema(name:c1, type:string, comment:null), ]
+POSTHOOK: Lineage: smt1_tab2.c2 SIMPLE [(smt1_tab1)smt1_tab1.FieldSchema(name:c2, type:string, comment:null), ]
+PREHOOK: query: select * from smt1_tab2 where c1 = '0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tab2
+#### A masked pattern was here ####
+POSTHOOK: query: select * from smt1_tab2 where c1 = '0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tab2
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+PREHOOK: query: alter table smt1_tab1 set tblproperties('EXTERNAL'='TRUE')
+PREHOOK: type: ALTERTABLE_PROPERTIES
+PREHOOK: Input: default@smt1_tab1
+PREHOOK: Output: default@smt1_tab1
+POSTHOOK: query: alter table smt1_tab1 set tblproperties('EXTERNAL'='TRUE')
+POSTHOOK: type: ALTERTABLE_PROPERTIES
+POSTHOOK: Input: default@smt1_tab1
+POSTHOOK: Output: default@smt1_tab1
+PREHOOK: query: select * from smt1_tab1 where c1 = '0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tab1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from smt1_tab1 where c1 = '0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tab1
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+PREHOOK: query: alter table smt1_tab2 set tblproperties('EXTERNAL'='TRUE')
+PREHOOK: type: ALTERTABLE_PROPERTIES
+PREHOOK: Input: default@smt1_tab2
+PREHOOK: Output: default@smt1_tab2
+POSTHOOK: query: alter table smt1_tab2 set tblproperties('EXTERNAL'='TRUE')
+POSTHOOK: type: ALTERTABLE_PROPERTIES
+POSTHOOK: Input: default@smt1_tab2
+POSTHOOK: Output: default@smt1_tab2
+PREHOOK: query: select * from smt1_tab2 where c1 = '0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tab2
+#### A masked pattern was here ####
+POSTHOOK: query: select * from smt1_tab2 where c1 = '0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tab2
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+PREHOOK: query: alter table smt1_tab1 set tblproperties('EXTERNAL'='FALSE', 'transactional'='true', 'transactional_properties'='insert_only')
+PREHOOK: type: ALTERTABLE_PROPERTIES
+PREHOOK: Input: default@smt1_tab1
+PREHOOK: Output: default@smt1_tab1
+POSTHOOK: query: alter table smt1_tab1 set tblproperties('EXTERNAL'='FALSE', 'transactional'='true', 'transactional_properties'='insert_only')
+POSTHOOK: type: ALTERTABLE_PROPERTIES
+POSTHOOK: Input: default@smt1_tab1
+POSTHOOK: Output: default@smt1_tab1
+PREHOOK: query: select * from smt1_tab1 where c1 = '0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tab1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from smt1_tab1 where c1 = '0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tab1
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+PREHOOK: query: alter table smt1_tab2 set tblproperties('EXTERNAL'='FALSE', 'transactional'='true', 'transactional_properties'='insert_only')
+PREHOOK: type: ALTERTABLE_PROPERTIES
+PREHOOK: Input: default@smt1_tab2
+PREHOOK: Output: default@smt1_tab2
+POSTHOOK: query: alter table smt1_tab2 set tblproperties('EXTERNAL'='FALSE', 'transactional'='true', 'transactional_properties'='insert_only')
+POSTHOOK: type: ALTERTABLE_PROPERTIES
+POSTHOOK: Input: default@smt1_tab2
+POSTHOOK: Output: default@smt1_tab2
+PREHOOK: query: select * from smt1_tab2 where c1 = '0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tab2
+#### A masked pattern was here ####
+POSTHOOK: query: select * from smt1_tab2 where c1 = '0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tab2
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+PREHOOK: query: create temporary table smt1_tmp (c1 string, c2 string) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt1_tmp
+POSTHOOK: query: create temporary table smt1_tmp (c1 string, c2 string) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt1_tmp
+PREHOOK: query: insert into table smt1_tmp values ('123', '456')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@smt1_tmp
+POSTHOOK: query: insert into table smt1_tmp values ('123', '456')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@smt1_tmp
+POSTHOOK: Lineage: smt1_tmp.c1 SCRIPT []
+POSTHOOK: Lineage: smt1_tmp.c2 SCRIPT []
+PREHOOK: query: select * from smt1_tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tmp
+#### A masked pattern was here ####
+POSTHOOK: query: select * from smt1_tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tmp
+#### A masked pattern was here ####
+123 456
+PREHOOK: query: select c1, count(*) from smt1_tmp group by c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@smt1_tmp
+#### A masked pattern was here ####
+POSTHOOK: query: select c1, count(*) from smt1_tmp group by c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@smt1_tmp
+#### A masked pattern was here ####
+123 1
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientpositive/llap/strict_managed_tables2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/strict_managed_tables2.q.out b/ql/src/test/results/clientpositive/llap/strict_managed_tables2.q.out
new file mode 100644
index 0000000..f3b6152
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/strict_managed_tables2.q.out
@@ -0,0 +1,248 @@
+PREHOOK: query: drop table if exists smt2_tab1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt2_tab1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists smt2_tab2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt2_tab2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists smt2_tab3
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt2_tab3
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists smt2_tab4
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt2_tab4
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists smt2_tab5
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt2_tab5
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists smt2_tab6
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists smt2_tab6
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create external table smt2_tab1 (c1 string, c2 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt2_tab1
+POSTHOOK: query: create external table smt2_tab1 (c1 string, c2 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt2_tab1
+PREHOOK: query: show create table smt2_tab1
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: default@smt2_tab1
+POSTHOOK: query: show create table smt2_tab1
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: default@smt2_tab1
+CREATE EXTERNAL TABLE `smt2_tab1`(
+ `c1` string,
+ `c2` string)
+ROW FORMAT SERDE
+ 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
+STORED AS INPUTFORMAT
+ 'org.apache.hadoop.mapred.TextInputFormat'
+OUTPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
+LOCATION
+#### A masked pattern was here ####
+TBLPROPERTIES (
+ 'bucketing_version'='2',
+#### A masked pattern was here ####
+PREHOOK: query: create table smt2_tab2 (c1 string, c2 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt2_tab2
+POSTHOOK: query: create table smt2_tab2 (c1 string, c2 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt2_tab2
+PREHOOK: query: show create table smt2_tab2
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: default@smt2_tab2
+POSTHOOK: query: show create table smt2_tab2
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: default@smt2_tab2
+CREATE TABLE `smt2_tab2`(
+ `c1` string,
+ `c2` string)
+ROW FORMAT SERDE
+ 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
+STORED AS INPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
+OUTPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
+LOCATION
+#### A masked pattern was here ####
+TBLPROPERTIES (
+ 'bucketing_version'='2',
+ 'transactional'='true',
+ 'transactional_properties'='default',
+#### A masked pattern was here ####
+PREHOOK: query: create table smt2_tab3 (c1 string, c2 string) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt2_tab3
+POSTHOOK: query: create table smt2_tab3 (c1 string, c2 string) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt2_tab3
+PREHOOK: query: show create table smt2_tab3
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: default@smt2_tab3
+POSTHOOK: query: show create table smt2_tab3
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: default@smt2_tab3
+CREATE TABLE `smt2_tab3`(
+ `c1` string,
+ `c2` string)
+ROW FORMAT SERDE
+ 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
+STORED AS INPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
+OUTPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
+LOCATION
+#### A masked pattern was here ####
+TBLPROPERTIES (
+ 'bucketing_version'='2',
+ 'transactional'='true',
+ 'transactional_properties'='default',
+#### A masked pattern was here ####
+PREHOOK: query: create external table smt2_tab4 (c1 string, c2 string) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt2_tab4
+POSTHOOK: query: create external table smt2_tab4 (c1 string, c2 string) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt2_tab4
+PREHOOK: query: show create table smt2_tab4
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: default@smt2_tab4
+POSTHOOK: query: show create table smt2_tab4
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: default@smt2_tab4
+CREATE EXTERNAL TABLE `smt2_tab4`(
+ `c1` string,
+ `c2` string)
+ROW FORMAT SERDE
+ 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
+STORED AS INPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
+OUTPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
+LOCATION
+#### A masked pattern was here ####
+TBLPROPERTIES (
+ 'bucketing_version'='2',
+#### A masked pattern was here ####
+PREHOOK: query: create table smt2_tab5 (c1 string, c2 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt2_tab5
+POSTHOOK: query: create table smt2_tab5 (c1 string, c2 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt2_tab5
+PREHOOK: query: show create table smt2_tab5
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: default@smt2_tab5
+POSTHOOK: query: show create table smt2_tab5
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: default@smt2_tab5
+CREATE TABLE `smt2_tab5`(
+ `c1` string,
+ `c2` string)
+ROW FORMAT SERDE
+ 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
+STORED AS INPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
+OUTPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
+LOCATION
+#### A masked pattern was here ####
+TBLPROPERTIES (
+ 'bucketing_version'='2',
+ 'transactional'='true',
+ 'transactional_properties'='insert_only',
+#### A masked pattern was here ####
+PREHOOK: query: create table smt2_tab6 (c1 string, c2 string) stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt2_tab6
+POSTHOOK: query: create table smt2_tab6 (c1 string, c2 string) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt2_tab6
+PREHOOK: query: show create table smt2_tab6
+PREHOOK: type: SHOW_CREATETABLE
+PREHOOK: Input: default@smt2_tab6
+POSTHOOK: query: show create table smt2_tab6
+POSTHOOK: type: SHOW_CREATETABLE
+POSTHOOK: Input: default@smt2_tab6
+CREATE TABLE `smt2_tab6`(
+ `c1` string,
+ `c2` string)
+ROW FORMAT SERDE
+ 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
+STORED AS INPUTFORMAT
+ 'org.apache.hadoop.mapred.TextInputFormat'
+OUTPUTFORMAT
+ 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
+LOCATION
+#### A masked pattern was here ####
+TBLPROPERTIES (
+ 'bucketing_version'='2',
+ 'transactional'='true',
+ 'transactional_properties'='insert_only',
+#### A masked pattern was here ####
+PREHOOK: query: drop table if exists smt2_tab1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@smt2_tab1
+PREHOOK: Output: default@smt2_tab1
+POSTHOOK: query: drop table if exists smt2_tab1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@smt2_tab1
+POSTHOOK: Output: default@smt2_tab1
+PREHOOK: query: drop table if exists smt2_tab2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@smt2_tab2
+PREHOOK: Output: default@smt2_tab2
+POSTHOOK: query: drop table if exists smt2_tab2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@smt2_tab2
+POSTHOOK: Output: default@smt2_tab2
+PREHOOK: query: drop table if exists smt2_tab3
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@smt2_tab3
+PREHOOK: Output: default@smt2_tab3
+POSTHOOK: query: drop table if exists smt2_tab3
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@smt2_tab3
+POSTHOOK: Output: default@smt2_tab3
+PREHOOK: query: drop table if exists smt2_tab4
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@smt2_tab4
+PREHOOK: Output: default@smt2_tab4
+POSTHOOK: query: drop table if exists smt2_tab4
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@smt2_tab4
+POSTHOOK: Output: default@smt2_tab4
+PREHOOK: query: drop table if exists smt2_tab5
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@smt2_tab5
+PREHOOK: Output: default@smt2_tab5
+POSTHOOK: query: drop table if exists smt2_tab5
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@smt2_tab5
+POSTHOOK: Output: default@smt2_tab5
+PREHOOK: query: drop table if exists smt2_tab6
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@smt2_tab6
+PREHOOK: Output: default@smt2_tab6
+POSTHOOK: query: drop table if exists smt2_tab6
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@smt2_tab6
+POSTHOOK: Output: default@smt2_tab6
[2/4] hive git commit: HIVE-19753: Strict managed tables mode in Hive
(Jason Dere, reviewed by Eugene Koifman)
Posted by jd...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out
----------------------------------------------------------------------
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
new file mode 100644
index 0000000..52eaf42
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/strict_managed_tables_sysdb.q.out
@@ -0,0 +1,3458 @@
+PREHOOK: query: create external table smt_sysdb_src_buck (key int, value string) clustered by(value) into 2 buckets
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt_sysdb_src_buck
+POSTHOOK: query: create external table smt_sysdb_src_buck (key int, value string) clustered by(value) into 2 buckets
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt_sysdb_src_buck
+PREHOOK: query: create external table smt_sysdb_src_skew (key int) skewed by (key) on (1,2,3)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt_sysdb_src_skew
+POSTHOOK: query: create external table smt_sysdb_src_skew (key int) skewed by (key) on (1,2,3)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt_sysdb_src_skew
+PREHOOK: query: CREATE TABLE smt_sysdb_scr_txn (key int, value string)
+ CLUSTERED BY (key) INTO 2 BUCKETS STORED AS ORC
+ TBLPROPERTIES (
+ "transactional"="true",
+ "compactor.mapreduce.map.memory.mb"="2048",
+ "compactorthreshold.hive.compactor.delta.num.threshold"="4",
+ "compactorthreshold.hive.compactor.delta.pct.threshold"="0.5")
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt_sysdb_scr_txn
+POSTHOOK: query: CREATE TABLE smt_sysdb_scr_txn (key int, value string)
+ CLUSTERED BY (key) INTO 2 BUCKETS STORED AS ORC
+ TBLPROPERTIES (
+ "transactional"="true",
+ "compactor.mapreduce.map.memory.mb"="2048",
+ "compactorthreshold.hive.compactor.delta.num.threshold"="4",
+ "compactorthreshold.hive.compactor.delta.pct.threshold"="0.5")
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt_sysdb_scr_txn
+PREHOOK: query: CREATE TEMPORARY TABLE smt_sysdb_src_tmp (key int, value string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt_sysdb_src_tmp
+POSTHOOK: query: CREATE TEMPORARY TABLE smt_sysdb_src_tmp (key int, value string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt_sysdb_src_tmp
+PREHOOK: query: CREATE EXTERNAL TABLE smt_sysdb_moretypes (a decimal(10,2), b tinyint, c smallint, d int, e bigint, f varchar(10), g char(3))
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt_sysdb_moretypes
+POSTHOOK: query: CREATE EXTERNAL TABLE smt_sysdb_moretypes (a decimal(10,2), b tinyint, c smallint, d int, e bigint, f varchar(10), g char(3))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt_sysdb_moretypes
+PREHOOK: query: CREATE VIEW smt_sysdb_view
+ AS select smt_sysdb_src_buck.key, smt_sysdb_scr_txn.value
+ from smt_sysdb_src_buck, smt_sysdb_scr_txn where smt_sysdb_src_buck.key = smt_sysdb_scr_txn.key
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@smt_sysdb_scr_txn
+PREHOOK: Input: default@smt_sysdb_src_buck
+PREHOOK: Output: database:default
+PREHOOK: Output: default@smt_sysdb_view
+POSTHOOK: query: CREATE VIEW smt_sysdb_view
+ AS select smt_sysdb_src_buck.key, smt_sysdb_scr_txn.value
+ from smt_sysdb_src_buck, smt_sysdb_scr_txn where smt_sysdb_src_buck.key = smt_sysdb_scr_txn.key
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@smt_sysdb_scr_txn
+POSTHOOK: Input: default@smt_sysdb_src_buck
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@smt_sysdb_view
+POSTHOOK: Lineage: smt_sysdb_view.key SIMPLE [(smt_sysdb_src_buck)smt_sysdb_src_buck.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: smt_sysdb_view.value SIMPLE [(smt_sysdb_scr_txn)smt_sysdb_scr_txn.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: show grant user hive_test_user
+PREHOOK: type: SHOW_GRANT
+POSTHOOK: query: show grant user hive_test_user
+POSTHOOK: type: SHOW_GRANT
+default alltypesorc hive_test_user USER DELETE true -1 hive_test_user
+default alltypesorc hive_test_user USER INSERT true -1 hive_test_user
+default alltypesorc hive_test_user USER SELECT true -1 hive_test_user
+default alltypesorc hive_test_user USER UPDATE true -1 hive_test_user
+default alltypesparquet hive_test_user USER DELETE true -1 hive_test_user
+default alltypesparquet hive_test_user USER INSERT true -1 hive_test_user
+default alltypesparquet hive_test_user USER SELECT true -1 hive_test_user
+default alltypesparquet hive_test_user USER UPDATE true -1 hive_test_user
+default cbo_t1 hive_test_user USER DELETE true -1 hive_test_user
+default cbo_t1 hive_test_user USER INSERT true -1 hive_test_user
+default cbo_t1 hive_test_user USER SELECT true -1 hive_test_user
+default cbo_t1 hive_test_user USER UPDATE true -1 hive_test_user
+default cbo_t2 hive_test_user USER DELETE true -1 hive_test_user
+default cbo_t2 hive_test_user USER INSERT true -1 hive_test_user
+default cbo_t2 hive_test_user USER SELECT true -1 hive_test_user
+default cbo_t2 hive_test_user USER UPDATE true -1 hive_test_user
+default cbo_t3 hive_test_user USER DELETE true -1 hive_test_user
+default cbo_t3 hive_test_user USER INSERT true -1 hive_test_user
+default cbo_t3 hive_test_user USER SELECT true -1 hive_test_user
+default cbo_t3 hive_test_user USER UPDATE true -1 hive_test_user
+default lineitem hive_test_user USER DELETE true -1 hive_test_user
+default lineitem hive_test_user USER INSERT true -1 hive_test_user
+default lineitem hive_test_user USER SELECT true -1 hive_test_user
+default lineitem hive_test_user USER UPDATE true -1 hive_test_user
+default part hive_test_user USER DELETE true -1 hive_test_user
+default part hive_test_user USER INSERT true -1 hive_test_user
+default part hive_test_user USER SELECT true -1 hive_test_user
+default part hive_test_user USER UPDATE true -1 hive_test_user
+default smt_sysdb_moretypes hive_test_user USER DELETE true -1 hive_test_user
+default smt_sysdb_moretypes hive_test_user USER INSERT true -1 hive_test_user
+default smt_sysdb_moretypes hive_test_user USER SELECT true -1 hive_test_user
+default smt_sysdb_moretypes hive_test_user USER UPDATE true -1 hive_test_user
+default smt_sysdb_scr_txn hive_test_user USER DELETE true -1 hive_test_user
+default smt_sysdb_scr_txn hive_test_user USER INSERT true -1 hive_test_user
+default smt_sysdb_scr_txn hive_test_user USER SELECT true -1 hive_test_user
+default smt_sysdb_scr_txn hive_test_user USER UPDATE true -1 hive_test_user
+default smt_sysdb_src_buck hive_test_user USER DELETE true -1 hive_test_user
+default smt_sysdb_src_buck hive_test_user USER INSERT true -1 hive_test_user
+default smt_sysdb_src_buck hive_test_user USER SELECT true -1 hive_test_user
+default smt_sysdb_src_buck hive_test_user USER UPDATE true -1 hive_test_user
+default smt_sysdb_src_skew hive_test_user USER DELETE true -1 hive_test_user
+default smt_sysdb_src_skew hive_test_user USER INSERT true -1 hive_test_user
+default smt_sysdb_src_skew hive_test_user USER SELECT true -1 hive_test_user
+default smt_sysdb_src_skew hive_test_user USER UPDATE true -1 hive_test_user
+default smt_sysdb_view hive_test_user USER DELETE true -1 hive_test_user
+default smt_sysdb_view hive_test_user USER INSERT true -1 hive_test_user
+default smt_sysdb_view hive_test_user USER SELECT true -1 hive_test_user
+default smt_sysdb_view hive_test_user USER UPDATE true -1 hive_test_user
+default src hive_test_user USER DELETE true -1 hive_test_user
+default src hive_test_user USER INSERT true -1 hive_test_user
+default src hive_test_user USER SELECT true -1 hive_test_user
+default src hive_test_user USER UPDATE true -1 hive_test_user
+default src1 hive_test_user USER DELETE true -1 hive_test_user
+default src1 hive_test_user USER INSERT true -1 hive_test_user
+default src1 hive_test_user USER SELECT true -1 hive_test_user
+default src1 hive_test_user USER UPDATE true -1 hive_test_user
+default src_cbo hive_test_user USER DELETE true -1 hive_test_user
+default src_cbo hive_test_user USER INSERT true -1 hive_test_user
+default src_cbo hive_test_user USER SELECT true -1 hive_test_user
+default src_cbo hive_test_user USER UPDATE true -1 hive_test_user
+default src_json hive_test_user USER DELETE true -1 hive_test_user
+default src_json hive_test_user USER INSERT true -1 hive_test_user
+default src_json hive_test_user USER SELECT true -1 hive_test_user
+default src_json hive_test_user USER UPDATE true -1 hive_test_user
+default src_sequencefile hive_test_user USER DELETE true -1 hive_test_user
+default src_sequencefile hive_test_user USER INSERT true -1 hive_test_user
+default src_sequencefile hive_test_user USER SELECT true -1 hive_test_user
+default src_sequencefile hive_test_user USER UPDATE true -1 hive_test_user
+default src_thrift hive_test_user USER DELETE true -1 hive_test_user
+default src_thrift hive_test_user USER INSERT true -1 hive_test_user
+default src_thrift hive_test_user USER SELECT true -1 hive_test_user
+default src_thrift hive_test_user USER UPDATE true -1 hive_test_user
+default srcbucket hive_test_user USER DELETE true -1 hive_test_user
+default srcbucket hive_test_user USER INSERT true -1 hive_test_user
+default srcbucket hive_test_user USER SELECT true -1 hive_test_user
+default srcbucket hive_test_user USER UPDATE true -1 hive_test_user
+default srcbucket2 hive_test_user USER DELETE true -1 hive_test_user
+default srcbucket2 hive_test_user USER INSERT true -1 hive_test_user
+default srcbucket2 hive_test_user USER SELECT true -1 hive_test_user
+default srcbucket2 hive_test_user USER UPDATE true -1 hive_test_user
+default srcpart hive_test_user USER DELETE true -1 hive_test_user
+default srcpart hive_test_user USER INSERT true -1 hive_test_user
+default srcpart hive_test_user USER SELECT true -1 hive_test_user
+default srcpart hive_test_user USER UPDATE true -1 hive_test_user
+PREHOOK: query: DROP DATABASE IF EXISTS SYS CASCADE
+PREHOOK: type: DROPDATABASE
+POSTHOOK: query: DROP DATABASE IF EXISTS SYS CASCADE
+POSTHOOK: type: DROPDATABASE
+PREHOOK: query: CREATE DATABASE SYS
+PREHOOK: type: CREATEDATABASE
+PREHOOK: Output: database:SYS
+POSTHOOK: query: CREATE DATABASE SYS
+POSTHOOK: type: CREATEDATABASE
+POSTHOOK: Output: database:SYS
+PREHOOK: query: USE SYS
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:sys
+POSTHOOK: query: USE SYS
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `BUCKETING_COLS` (
+ `SD_ID` bigint,
+ `BUCKET_COL_NAME` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_BUCKETING_COLS` PRIMARY KEY (`SD_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"BUCKET_COL_NAME\",
+ \"INTEGER_IDX\"
+FROM
+ \"BUCKETING_COLS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@BUCKETING_COLS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `BUCKETING_COLS` (
+ `SD_ID` bigint,
+ `BUCKET_COL_NAME` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_BUCKETING_COLS` PRIMARY KEY (`SD_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"BUCKET_COL_NAME\",
+ \"INTEGER_IDX\"
+FROM
+ \"BUCKETING_COLS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@BUCKETING_COLS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `CDS` (
+ `CD_ID` bigint,
+ CONSTRAINT `SYS_PK_CDS` PRIMARY KEY (`CD_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CD_ID\"
+FROM
+ \"CDS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@CDS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `CDS` (
+ `CD_ID` bigint,
+ CONSTRAINT `SYS_PK_CDS` PRIMARY KEY (`CD_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CD_ID\"
+FROM
+ \"CDS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@CDS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `COLUMNS_V2` (
+ `CD_ID` bigint,
+ `COMMENT` string,
+ `COLUMN_NAME` string,
+ `TYPE_NAME` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_COLUMN_V2` PRIMARY KEY (`CD_ID`,`COLUMN_NAME`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CD_ID\",
+ \"COMMENT\",
+ \"COLUMN_NAME\",
+ \"TYPE_NAME\",
+ \"INTEGER_IDX\"
+FROM
+ \"COLUMNS_V2\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@COLUMNS_V2
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `COLUMNS_V2` (
+ `CD_ID` bigint,
+ `COMMENT` string,
+ `COLUMN_NAME` string,
+ `TYPE_NAME` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_COLUMN_V2` PRIMARY KEY (`CD_ID`,`COLUMN_NAME`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CD_ID\",
+ \"COMMENT\",
+ \"COLUMN_NAME\",
+ \"TYPE_NAME\",
+ \"INTEGER_IDX\"
+FROM
+ \"COLUMNS_V2\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@COLUMNS_V2
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DATABASE_PARAMS` (
+ `DB_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_DATABASE_PARAMS` PRIMARY KEY (`DB_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"DB_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"DATABASE_PARAMS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@DATABASE_PARAMS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DATABASE_PARAMS` (
+ `DB_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_DATABASE_PARAMS` PRIMARY KEY (`DB_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"DB_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"DATABASE_PARAMS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@DATABASE_PARAMS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DBS` (
+ `DB_ID` bigint,
+ `DB_LOCATION_URI` string,
+ `NAME` string,
+ `OWNER_NAME` string,
+ `OWNER_TYPE` string,
+ CONSTRAINT `SYS_PK_DBS` PRIMARY KEY (`DB_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"DB_ID\",
+ \"DB_LOCATION_URI\",
+ \"NAME\",
+ \"OWNER_NAME\",
+ \"OWNER_TYPE\"
+FROM
+ \"DBS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@DBS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DBS` (
+ `DB_ID` bigint,
+ `DB_LOCATION_URI` string,
+ `NAME` string,
+ `OWNER_NAME` string,
+ `OWNER_TYPE` string,
+ CONSTRAINT `SYS_PK_DBS` PRIMARY KEY (`DB_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"DB_ID\",
+ \"DB_LOCATION_URI\",
+ \"NAME\",
+ \"OWNER_NAME\",
+ \"OWNER_TYPE\"
+FROM
+ \"DBS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@DBS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_PRIVS` (
+ `DB_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `DB_ID` bigint,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `DB_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_DB_PRIVS` PRIMARY KEY (`DB_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"DB_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"DB_ID\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"DB_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"DB_PRIVS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@DB_PRIVS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_PRIVS` (
+ `DB_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `DB_ID` bigint,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `DB_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_DB_PRIVS` PRIMARY KEY (`DB_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"DB_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"DB_ID\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"DB_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"DB_PRIVS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@DB_PRIVS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
+ `USER_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` string,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `USER_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_GLOBAL_PRIVS` PRIMARY KEY (`USER_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"USER_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"USER_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"GLOBAL_PRIVS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@GLOBAL_PRIVS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
+ `USER_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` string,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `USER_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_GLOBAL_PRIVS` PRIMARY KEY (`USER_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"USER_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"USER_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"GLOBAL_PRIVS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@GLOBAL_PRIVS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITIONS` (
+ `PART_ID` bigint,
+ `CREATE_TIME` int,
+ `LAST_ACCESS_TIME` int,
+ `PART_NAME` string,
+ `SD_ID` bigint,
+ `TBL_ID` bigint,
+ CONSTRAINT `SYS_PK_PARTITIONS` PRIMARY KEY (`PART_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_ID\",
+ \"CREATE_TIME\",
+ \"LAST_ACCESS_TIME\",
+ \"PART_NAME\",
+ \"SD_ID\",
+ \"TBL_ID\"
+FROM
+ \"PARTITIONS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@PARTITIONS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITIONS` (
+ `PART_ID` bigint,
+ `CREATE_TIME` int,
+ `LAST_ACCESS_TIME` int,
+ `PART_NAME` string,
+ `SD_ID` bigint,
+ `TBL_ID` bigint,
+ CONSTRAINT `SYS_PK_PARTITIONS` PRIMARY KEY (`PART_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_ID\",
+ \"CREATE_TIME\",
+ \"LAST_ACCESS_TIME\",
+ \"PART_NAME\",
+ \"SD_ID\",
+ \"TBL_ID\"
+FROM
+ \"PARTITIONS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@PARTITIONS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEYS` (
+ `TBL_ID` bigint,
+ `PKEY_COMMENT` string,
+ `PKEY_NAME` string,
+ `PKEY_TYPE` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_PARTITION_KEYS` PRIMARY KEY (`TBL_ID`,`PKEY_NAME`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_ID\",
+ \"PKEY_COMMENT\",
+ \"PKEY_NAME\",
+ \"PKEY_TYPE\",
+ \"INTEGER_IDX\"
+FROM
+ \"PARTITION_KEYS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@PARTITION_KEYS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEYS` (
+ `TBL_ID` bigint,
+ `PKEY_COMMENT` string,
+ `PKEY_NAME` string,
+ `PKEY_TYPE` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_PARTITION_KEYS` PRIMARY KEY (`TBL_ID`,`PKEY_NAME`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_ID\",
+ \"PKEY_COMMENT\",
+ \"PKEY_NAME\",
+ \"PKEY_TYPE\",
+ \"INTEGER_IDX\"
+FROM
+ \"PARTITION_KEYS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@PARTITION_KEYS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
+ `PART_ID` bigint,
+ `PART_KEY_VAL` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_PARTITION_KEY_VALS` PRIMARY KEY (`PART_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_ID\",
+ \"PART_KEY_VAL\",
+ \"INTEGER_IDX\"
+FROM
+ \"PARTITION_KEY_VALS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@PARTITION_KEY_VALS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
+ `PART_ID` bigint,
+ `PART_KEY_VAL` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_PARTITION_KEY_VALS` PRIMARY KEY (`PART_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_ID\",
+ \"PART_KEY_VAL\",
+ \"INTEGER_IDX\"
+FROM
+ \"PARTITION_KEY_VALS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@PARTITION_KEY_VALS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_PARAMS` (
+ `PART_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_PARTITION_PARAMS` PRIMARY KEY (`PART_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"PARTITION_PARAMS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@PARTITION_PARAMS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_PARAMS` (
+ `PART_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_PARTITION_PARAMS` PRIMARY KEY (`PART_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"PARTITION_PARAMS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@PARTITION_PARAMS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_PRIVS` (
+ `PART_COLUMN_GRANT_ID` bigint,
+ `COLUMN_NAME` string,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PART_ID` bigint,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `PART_COL_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_PART_COL_PRIVS` PRIMARY KEY (`PART_COLUMN_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_COLUMN_GRANT_ID\",
+ \"COLUMN_NAME\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PART_ID\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"PART_COL_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"PART_COL_PRIVS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@PART_COL_PRIVS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_PRIVS` (
+ `PART_COLUMN_GRANT_ID` bigint,
+ `COLUMN_NAME` string,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PART_ID` bigint,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `PART_COL_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_PART_COL_PRIVS` PRIMARY KEY (`PART_COLUMN_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_COLUMN_GRANT_ID\",
+ \"COLUMN_NAME\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PART_ID\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"PART_COL_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"PART_COL_PRIVS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@PART_COL_PRIVS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_PRIVS` (
+ `PART_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PART_ID` bigint,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `PART_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_PART_PRIVS` PRIMARY KEY (`PART_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PART_ID\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"PART_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"PART_PRIVS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@PART_PRIVS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_PRIVS` (
+ `PART_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PART_ID` bigint,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `PART_PRIV` string,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_PART_PRIVS` PRIMARY KEY (`PART_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"PART_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PART_ID\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"PART_PRIV\",
+ \"AUTHORIZER\"
+FROM
+ \"PART_PRIVS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@PART_PRIVS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLES` (
+ `ROLE_ID` bigint,
+ `CREATE_TIME` int,
+ `OWNER_NAME` string,
+ `ROLE_NAME` string,
+ CONSTRAINT `SYS_PK_ROLES` PRIMARY KEY (`ROLE_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"ROLE_ID\",
+ \"CREATE_TIME\",
+ \"OWNER_NAME\",
+ \"ROLE_NAME\"
+FROM
+ \"ROLES\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@ROLES
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLES` (
+ `ROLE_ID` bigint,
+ `CREATE_TIME` int,
+ `OWNER_NAME` string,
+ `ROLE_NAME` string,
+ CONSTRAINT `SYS_PK_ROLES` PRIMARY KEY (`ROLE_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"ROLE_ID\",
+ \"CREATE_TIME\",
+ \"OWNER_NAME\",
+ \"ROLE_NAME\"
+FROM
+ \"ROLES\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@ROLES
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLE_MAP` (
+ `ROLE_GRANT_ID` bigint,
+ `ADD_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `ROLE_ID` bigint,
+ CONSTRAINT `SYS_PK_ROLE_MAP` PRIMARY KEY (`ROLE_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"ROLE_GRANT_ID\",
+ \"ADD_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"ROLE_ID\"
+FROM
+ \"ROLE_MAP\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@ROLE_MAP
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLE_MAP` (
+ `ROLE_GRANT_ID` bigint,
+ `ADD_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `ROLE_ID` bigint,
+ CONSTRAINT `SYS_PK_ROLE_MAP` PRIMARY KEY (`ROLE_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"ROLE_GRANT_ID\",
+ \"ADD_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"ROLE_ID\"
+FROM
+ \"ROLE_MAP\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@ROLE_MAP
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SDS` (
+ `SD_ID` bigint,
+ `CD_ID` bigint,
+ `INPUT_FORMAT` string,
+ `IS_COMPRESSED` boolean,
+ `IS_STOREDASSUBDIRECTORIES` boolean,
+ `LOCATION` string,
+ `NUM_BUCKETS` int,
+ `OUTPUT_FORMAT` string,
+ `SERDE_ID` bigint,
+ CONSTRAINT `SYS_PK_SDS` PRIMARY KEY (`SD_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"CD_ID\",
+ \"INPUT_FORMAT\",
+ \"IS_COMPRESSED\",
+ \"IS_STOREDASSUBDIRECTORIES\",
+ \"LOCATION\",
+ \"NUM_BUCKETS\",
+ \"OUTPUT_FORMAT\",
+ \"SERDE_ID\"
+FROM
+ \"SDS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SDS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SDS` (
+ `SD_ID` bigint,
+ `CD_ID` bigint,
+ `INPUT_FORMAT` string,
+ `IS_COMPRESSED` boolean,
+ `IS_STOREDASSUBDIRECTORIES` boolean,
+ `LOCATION` string,
+ `NUM_BUCKETS` int,
+ `OUTPUT_FORMAT` string,
+ `SERDE_ID` bigint,
+ CONSTRAINT `SYS_PK_SDS` PRIMARY KEY (`SD_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"CD_ID\",
+ \"INPUT_FORMAT\",
+ \"IS_COMPRESSED\",
+ \"IS_STOREDASSUBDIRECTORIES\",
+ \"LOCATION\",
+ \"NUM_BUCKETS\",
+ \"OUTPUT_FORMAT\",
+ \"SERDE_ID\"
+FROM
+ \"SDS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SDS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SD_PARAMS` (
+ `SD_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_SD_PARAMS` PRIMARY KEY (`SD_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"SD_PARAMS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SD_PARAMS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SD_PARAMS` (
+ `SD_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_SD_PARAMS` PRIMARY KEY (`SD_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"SD_PARAMS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SD_PARAMS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
+ `SEQUENCE_NAME` string,
+ `NEXT_VAL` bigint,
+ CONSTRAINT `SYS_PK_SEQUENCE_TABLE` PRIMARY KEY (`SEQUENCE_NAME`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SEQUENCE_NAME\",
+ \"NEXT_VAL\"
+FROM
+ \"SEQUENCE_TABLE\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SEQUENCE_TABLE
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
+ `SEQUENCE_NAME` string,
+ `NEXT_VAL` bigint,
+ CONSTRAINT `SYS_PK_SEQUENCE_TABLE` PRIMARY KEY (`SEQUENCE_NAME`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SEQUENCE_NAME\",
+ \"NEXT_VAL\"
+FROM
+ \"SEQUENCE_TABLE\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SEQUENCE_TABLE
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDES` (
+ `SERDE_ID` bigint,
+ `NAME` string,
+ `SLIB` string,
+ CONSTRAINT `SYS_PK_SERDES` PRIMARY KEY (`SERDE_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SERDE_ID\",
+ \"NAME\",
+ \"SLIB\"
+FROM
+ \"SERDES\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SERDES
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDES` (
+ `SERDE_ID` bigint,
+ `NAME` string,
+ `SLIB` string,
+ CONSTRAINT `SYS_PK_SERDES` PRIMARY KEY (`SERDE_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SERDE_ID\",
+ \"NAME\",
+ \"SLIB\"
+FROM
+ \"SERDES\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SERDES
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDE_PARAMS` (
+ `SERDE_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_SERDE_PARAMS` PRIMARY KEY (`SERDE_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SERDE_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"SERDE_PARAMS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SERDE_PARAMS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDE_PARAMS` (
+ `SERDE_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_SERDE_PARAMS` PRIMARY KEY (`SERDE_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SERDE_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"SERDE_PARAMS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SERDE_PARAMS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
+ `SD_ID` bigint,
+ `SKEWED_COL_NAME` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SKEWED_COL_NAMES` PRIMARY KEY (`SD_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"SKEWED_COL_NAME\",
+ \"INTEGER_IDX\"
+FROM
+ \"SKEWED_COL_NAMES\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SKEWED_COL_NAMES
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
+ `SD_ID` bigint,
+ `SKEWED_COL_NAME` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SKEWED_COL_NAMES` PRIMARY KEY (`SD_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"SKEWED_COL_NAME\",
+ \"INTEGER_IDX\"
+FROM
+ \"SKEWED_COL_NAMES\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SKEWED_COL_NAMES
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
+ `SD_ID` bigint,
+ `STRING_LIST_ID_KID` bigint,
+ `LOCATION` string,
+ CONSTRAINT `SYS_PK_COL_VALUE_LOC_MAP` PRIMARY KEY (`SD_ID`,`STRING_LIST_ID_KID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"STRING_LIST_ID_KID\",
+ \"LOCATION\"
+FROM
+ \"SKEWED_COL_VALUE_LOC_MAP\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SKEWED_COL_VALUE_LOC_MAP
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
+ `SD_ID` bigint,
+ `STRING_LIST_ID_KID` bigint,
+ `LOCATION` string,
+ CONSTRAINT `SYS_PK_COL_VALUE_LOC_MAP` PRIMARY KEY (`SD_ID`,`STRING_LIST_ID_KID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"STRING_LIST_ID_KID\",
+ \"LOCATION\"
+FROM
+ \"SKEWED_COL_VALUE_LOC_MAP\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SKEWED_COL_VALUE_LOC_MAP
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
+ `STRING_LIST_ID` bigint,
+ CONSTRAINT `SYS_PK_SKEWED_STRING_LIST` PRIMARY KEY (`STRING_LIST_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"STRING_LIST_ID\"
+FROM
+ \"SKEWED_STRING_LIST\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SKEWED_STRING_LIST
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
+ `STRING_LIST_ID` bigint,
+ CONSTRAINT `SYS_PK_SKEWED_STRING_LIST` PRIMARY KEY (`STRING_LIST_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"STRING_LIST_ID\"
+FROM
+ \"SKEWED_STRING_LIST\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SKEWED_STRING_LIST
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
+ `STRING_LIST_ID` bigint,
+ `STRING_LIST_VALUE` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SKEWED_STRING_LIST_VALUES` PRIMARY KEY (`STRING_LIST_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"STRING_LIST_ID\",
+ \"STRING_LIST_VALUE\",
+ \"INTEGER_IDX\"
+FROM
+ \"SKEWED_STRING_LIST_VALUES\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SKEWED_STRING_LIST_VALUES
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
+ `STRING_LIST_ID` bigint,
+ `STRING_LIST_VALUE` string,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SKEWED_STRING_LIST_VALUES` PRIMARY KEY (`STRING_LIST_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"STRING_LIST_ID\",
+ \"STRING_LIST_VALUE\",
+ \"INTEGER_IDX\"
+FROM
+ \"SKEWED_STRING_LIST_VALUES\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SKEWED_STRING_LIST_VALUES
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_VALUES` (
+ `SD_ID_OID` bigint,
+ `STRING_LIST_ID_EID` bigint,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SKEWED_VALUES` PRIMARY KEY (`SD_ID_OID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID_OID\",
+ \"STRING_LIST_ID_EID\",
+ \"INTEGER_IDX\"
+FROM
+ \"SKEWED_VALUES\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SKEWED_VALUES
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_VALUES` (
+ `SD_ID_OID` bigint,
+ `STRING_LIST_ID_EID` bigint,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SKEWED_VALUES` PRIMARY KEY (`SD_ID_OID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID_OID\",
+ \"STRING_LIST_ID_EID\",
+ \"INTEGER_IDX\"
+FROM
+ \"SKEWED_VALUES\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SKEWED_VALUES
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SORT_COLS` (
+ `SD_ID` bigint,
+ `COLUMN_NAME` string,
+ `ORDER` int,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SORT_COLS` PRIMARY KEY (`SD_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"COLUMN_NAME\",
+ \"ORDER\",
+ \"INTEGER_IDX\"
+FROM
+ \"SORT_COLS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@SORT_COLS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SORT_COLS` (
+ `SD_ID` bigint,
+ `COLUMN_NAME` string,
+ `ORDER` int,
+ `INTEGER_IDX` int,
+ CONSTRAINT `SYS_PK_SORT_COLS` PRIMARY KEY (`SD_ID`,`INTEGER_IDX`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"SD_ID\",
+ \"COLUMN_NAME\",
+ \"ORDER\",
+ \"INTEGER_IDX\"
+FROM
+ \"SORT_COLS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@SORT_COLS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TABLE_PARAMS` (
+ `TBL_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_TABLE_PARAMS` PRIMARY KEY (`TBL_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"TABLE_PARAMS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@TABLE_PARAMS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TABLE_PARAMS` (
+ `TBL_ID` bigint,
+ `PARAM_KEY` string,
+ `PARAM_VALUE` string,
+ CONSTRAINT `SYS_PK_TABLE_PARAMS` PRIMARY KEY (`TBL_ID`,`PARAM_KEY`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_ID\",
+ \"PARAM_KEY\",
+ \"PARAM_VALUE\"
+FROM
+ \"TABLE_PARAMS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@TABLE_PARAMS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBLS` (
+ `TBL_ID` bigint,
+ `CREATE_TIME` int,
+ `DB_ID` bigint,
+ `LAST_ACCESS_TIME` int,
+ `OWNER` string,
+ `RETENTION` int,
+ `SD_ID` bigint,
+ `TBL_NAME` string,
+ `TBL_TYPE` string,
+ `VIEW_EXPANDED_TEXT` string,
+ `VIEW_ORIGINAL_TEXT` string,
+ `IS_REWRITE_ENABLED` boolean,
+ CONSTRAINT `SYS_PK_TBLS` PRIMARY KEY (`TBL_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_ID\",
+ \"CREATE_TIME\",
+ \"DB_ID\",
+ \"LAST_ACCESS_TIME\",
+ \"OWNER\",
+ \"RETENTION\",
+ \"SD_ID\",
+ \"TBL_NAME\",
+ \"TBL_TYPE\",
+ \"VIEW_EXPANDED_TEXT\",
+ \"VIEW_ORIGINAL_TEXT\",
+ \"IS_REWRITE_ENABLED\"
+FROM \"TBLS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@TBLS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBLS` (
+ `TBL_ID` bigint,
+ `CREATE_TIME` int,
+ `DB_ID` bigint,
+ `LAST_ACCESS_TIME` int,
+ `OWNER` string,
+ `RETENTION` int,
+ `SD_ID` bigint,
+ `TBL_NAME` string,
+ `TBL_TYPE` string,
+ `VIEW_EXPANDED_TEXT` string,
+ `VIEW_ORIGINAL_TEXT` string,
+ `IS_REWRITE_ENABLED` boolean,
+ CONSTRAINT `SYS_PK_TBLS` PRIMARY KEY (`TBL_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_ID\",
+ \"CREATE_TIME\",
+ \"DB_ID\",
+ \"LAST_ACCESS_TIME\",
+ \"OWNER\",
+ \"RETENTION\",
+ \"SD_ID\",
+ \"TBL_NAME\",
+ \"TBL_TYPE\",
+ \"VIEW_EXPANDED_TEXT\",
+ \"VIEW_ORIGINAL_TEXT\",
+ \"IS_REWRITE_ENABLED\"
+FROM \"TBLS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@TBLS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
+ `MV_CREATION_METADATA_ID` bigint,
+ `DB_NAME` string,
+ `TBL_NAME` string,
+ `TXN_LIST` string,
+ CONSTRAINT `SYS_PK_MV_CREATION_METADATA` PRIMARY KEY (`MV_CREATION_METADATA_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"MV_CREATION_METADATA_ID\",
+ \"DB_NAME\",
+ \"TBL_NAME\",
+ \"TXN_LIST\"
+FROM \"MV_CREATION_METADATA\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@MV_CREATION_METADATA
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
+ `MV_CREATION_METADATA_ID` bigint,
+ `DB_NAME` string,
+ `TBL_NAME` string,
+ `TXN_LIST` string,
+ CONSTRAINT `SYS_PK_MV_CREATION_METADATA` PRIMARY KEY (`MV_CREATION_METADATA_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"MV_CREATION_METADATA_ID\",
+ \"DB_NAME\",
+ \"TBL_NAME\",
+ \"TXN_LIST\"
+FROM \"MV_CREATION_METADATA\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@MV_CREATION_METADATA
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_TABLES_USED` (
+ `MV_CREATION_METADATA_ID` bigint,
+ `TBL_ID` bigint
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"MV_CREATION_METADATA_ID\",
+ \"TBL_ID\"
+FROM \"MV_TABLES_USED\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@MV_TABLES_USED
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_TABLES_USED` (
+ `MV_CREATION_METADATA_ID` bigint,
+ `TBL_ID` bigint
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"MV_CREATION_METADATA_ID\",
+ \"TBL_ID\"
+FROM \"MV_TABLES_USED\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@MV_TABLES_USED
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
+ `TBL_COLUMN_GRANT_ID` bigint,
+ `COLUMN_NAME` string,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `TBL_COL_PRIV` string,
+ `TBL_ID` bigint,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_TBL_COL_PRIVS` PRIMARY KEY (`TBL_COLUMN_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_COLUMN_GRANT_ID\",
+ \"COLUMN_NAME\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"TBL_COL_PRIV\",
+ \"TBL_ID\",
+ \"AUTHORIZER\"
+FROM
+ \"TBL_COL_PRIVS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@TBL_COL_PRIVS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
+ `TBL_COLUMN_GRANT_ID` bigint,
+ `COLUMN_NAME` string,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `TBL_COL_PRIV` string,
+ `TBL_ID` bigint,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_TBL_COL_PRIVS` PRIMARY KEY (`TBL_COLUMN_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_COLUMN_GRANT_ID\",
+ \"COLUMN_NAME\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"TBL_COL_PRIV\",
+ \"TBL_ID\",
+ \"AUTHORIZER\"
+FROM
+ \"TBL_COL_PRIVS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@TBL_COL_PRIVS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_PRIVS` (
+ `TBL_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `TBL_PRIV` string,
+ `TBL_ID` bigint,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_TBL_PRIVS` PRIMARY KEY (`TBL_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"TBL_PRIV\",
+ \"TBL_ID\",
+ \"AUTHORIZER\"
+FROM
+ \"TBL_PRIVS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@TBL_PRIVS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_PRIVS` (
+ `TBL_GRANT_ID` bigint,
+ `CREATE_TIME` int,
+ `GRANT_OPTION` int,
+ `GRANTOR` string,
+ `GRANTOR_TYPE` string,
+ `PRINCIPAL_NAME` string,
+ `PRINCIPAL_TYPE` string,
+ `TBL_PRIV` string,
+ `TBL_ID` bigint,
+ `AUTHORIZER` string,
+ CONSTRAINT `SYS_PK_TBL_PRIVS` PRIMARY KEY (`TBL_GRANT_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"TBL_GRANT_ID\",
+ \"CREATE_TIME\",
+ \"GRANT_OPTION\",
+ \"GRANTOR\",
+ \"GRANTOR_TYPE\",
+ \"PRINCIPAL_NAME\",
+ \"PRINCIPAL_TYPE\",
+ \"TBL_PRIV\",
+ \"TBL_ID\",
+ \"AUTHORIZER\"
+FROM
+ \"TBL_PRIVS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@TBL_PRIVS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TAB_COL_STATS` (
+ `CS_ID` bigint,
+ `DB_NAME` string,
+ `TABLE_NAME` string,
+ `COLUMN_NAME` string,
+ `COLUMN_TYPE` string,
+ `TBL_ID` bigint,
+ `LONG_LOW_VALUE` bigint,
+ `LONG_HIGH_VALUE` bigint,
+ `DOUBLE_HIGH_VALUE` double,
+ `DOUBLE_LOW_VALUE` double,
+ `BIG_DECIMAL_LOW_VALUE` string,
+ `BIG_DECIMAL_HIGH_VALUE` string,
+ `NUM_NULLS` bigint,
+ `NUM_DISTINCTS` bigint,
+ `AVG_COL_LEN` double,
+ `MAX_COL_LEN` bigint,
+ `NUM_TRUES` bigint,
+ `NUM_FALSES` bigint,
+ `LAST_ANALYZED` bigint,
+ CONSTRAINT `SYS_PK_TAB_COL_STATS` PRIMARY KEY (`CS_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CS_ID\",
+ \"DB_NAME\",
+ \"TABLE_NAME\",
+ \"COLUMN_NAME\",
+ \"COLUMN_TYPE\",
+ \"TBL_ID\",
+ \"LONG_LOW_VALUE\",
+ \"LONG_HIGH_VALUE\",
+ \"DOUBLE_HIGH_VALUE\",
+ \"DOUBLE_LOW_VALUE\",
+ \"BIG_DECIMAL_LOW_VALUE\",
+ \"BIG_DECIMAL_HIGH_VALUE\",
+ \"NUM_NULLS\",
+ \"NUM_DISTINCTS\",
+ \"AVG_COL_LEN\",
+ \"MAX_COL_LEN\",
+ \"NUM_TRUES\",
+ \"NUM_FALSES\",
+ \"LAST_ANALYZED\"
+FROM
+ \"TAB_COL_STATS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@TAB_COL_STATS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TAB_COL_STATS` (
+ `CS_ID` bigint,
+ `DB_NAME` string,
+ `TABLE_NAME` string,
+ `COLUMN_NAME` string,
+ `COLUMN_TYPE` string,
+ `TBL_ID` bigint,
+ `LONG_LOW_VALUE` bigint,
+ `LONG_HIGH_VALUE` bigint,
+ `DOUBLE_HIGH_VALUE` double,
+ `DOUBLE_LOW_VALUE` double,
+ `BIG_DECIMAL_LOW_VALUE` string,
+ `BIG_DECIMAL_HIGH_VALUE` string,
+ `NUM_NULLS` bigint,
+ `NUM_DISTINCTS` bigint,
+ `AVG_COL_LEN` double,
+ `MAX_COL_LEN` bigint,
+ `NUM_TRUES` bigint,
+ `NUM_FALSES` bigint,
+ `LAST_ANALYZED` bigint,
+ CONSTRAINT `SYS_PK_TAB_COL_STATS` PRIMARY KEY (`CS_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CS_ID\",
+ \"DB_NAME\",
+ \"TABLE_NAME\",
+ \"COLUMN_NAME\",
+ \"COLUMN_TYPE\",
+ \"TBL_ID\",
+ \"LONG_LOW_VALUE\",
+ \"LONG_HIGH_VALUE\",
+ \"DOUBLE_HIGH_VALUE\",
+ \"DOUBLE_LOW_VALUE\",
+ \"BIG_DECIMAL_LOW_VALUE\",
+ \"BIG_DECIMAL_HIGH_VALUE\",
+ \"NUM_NULLS\",
+ \"NUM_DISTINCTS\",
+ \"AVG_COL_LEN\",
+ \"MAX_COL_LEN\",
+ \"NUM_TRUES\",
+ \"NUM_FALSES\",
+ \"LAST_ANALYZED\"
+FROM
+ \"TAB_COL_STATS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@TAB_COL_STATS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_STATS` (
+ `CS_ID` bigint,
+ `DB_NAME` string,
+ `TABLE_NAME` string,
+ `PARTITION_NAME` string,
+ `COLUMN_NAME` string,
+ `COLUMN_TYPE` string,
+ `PART_ID` bigint,
+ `LONG_LOW_VALUE` bigint,
+ `LONG_HIGH_VALUE` bigint,
+ `DOUBLE_HIGH_VALUE` double,
+ `DOUBLE_LOW_VALUE` double,
+ `BIG_DECIMAL_LOW_VALUE` string,
+ `BIG_DECIMAL_HIGH_VALUE` string,
+ `NUM_NULLS` bigint,
+ `NUM_DISTINCTS` bigint,
+ `AVG_COL_LEN` double,
+ `MAX_COL_LEN` bigint,
+ `NUM_TRUES` bigint,
+ `NUM_FALSES` bigint,
+ `LAST_ANALYZED` bigint,
+ CONSTRAINT `SYS_PK_PART_COL_STATS` PRIMARY KEY (`CS_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CS_ID\",
+ \"DB_NAME\",
+ \"TABLE_NAME\",
+ \"PARTITION_NAME\",
+ \"COLUMN_NAME\",
+ \"COLUMN_TYPE\",
+ \"PART_ID\",
+ \"LONG_LOW_VALUE\",
+ \"LONG_HIGH_VALUE\",
+ \"DOUBLE_HIGH_VALUE\",
+ \"DOUBLE_LOW_VALUE\",
+ \"BIG_DECIMAL_LOW_VALUE\",
+ \"BIG_DECIMAL_HIGH_VALUE\",
+ \"NUM_NULLS\",
+ \"NUM_DISTINCTS\",
+ \"AVG_COL_LEN\",
+ \"MAX_COL_LEN\",
+ \"NUM_TRUES\",
+ \"NUM_FALSES\",
+ \"LAST_ANALYZED\"
+FROM
+ \"PART_COL_STATS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@PART_COL_STATS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_STATS` (
+ `CS_ID` bigint,
+ `DB_NAME` string,
+ `TABLE_NAME` string,
+ `PARTITION_NAME` string,
+ `COLUMN_NAME` string,
+ `COLUMN_TYPE` string,
+ `PART_ID` bigint,
+ `LONG_LOW_VALUE` bigint,
+ `LONG_HIGH_VALUE` bigint,
+ `DOUBLE_HIGH_VALUE` double,
+ `DOUBLE_LOW_VALUE` double,
+ `BIG_DECIMAL_LOW_VALUE` string,
+ `BIG_DECIMAL_HIGH_VALUE` string,
+ `NUM_NULLS` bigint,
+ `NUM_DISTINCTS` bigint,
+ `AVG_COL_LEN` double,
+ `MAX_COL_LEN` bigint,
+ `NUM_TRUES` bigint,
+ `NUM_FALSES` bigint,
+ `LAST_ANALYZED` bigint,
+ CONSTRAINT `SYS_PK_PART_COL_STATS` PRIMARY KEY (`CS_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CS_ID\",
+ \"DB_NAME\",
+ \"TABLE_NAME\",
+ \"PARTITION_NAME\",
+ \"COLUMN_NAME\",
+ \"COLUMN_TYPE\",
+ \"PART_ID\",
+ \"LONG_LOW_VALUE\",
+ \"LONG_HIGH_VALUE\",
+ \"DOUBLE_HIGH_VALUE\",
+ \"DOUBLE_LOW_VALUE\",
+ \"BIG_DECIMAL_LOW_VALUE\",
+ \"BIG_DECIMAL_HIGH_VALUE\",
+ \"NUM_NULLS\",
+ \"NUM_DISTINCTS\",
+ \"AVG_COL_LEN\",
+ \"MAX_COL_LEN\",
+ \"NUM_TRUES\",
+ \"NUM_FALSES\",
+ \"LAST_ANALYZED\"
+FROM
+ \"PART_COL_STATS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@PART_COL_STATS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `VERSION` (
+ `VER_ID` BIGINT,
+ `SCHEMA_VERSION` string,
+ `VERSION_COMMENT` string,
+ CONSTRAINT `SYS_PK_VERSION` PRIMARY KEY (`VER_ID`) DISABLE
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@VERSION
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `VERSION` (
+ `VER_ID` BIGINT,
+ `SCHEMA_VERSION` string,
+ `VERSION_COMMENT` string,
+ CONSTRAINT `SYS_PK_VERSION` PRIMARY KEY (`VER_ID`) DISABLE
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@VERSION
+POSTHOOK: Output: database:sys
+PREHOOK: query: INSERT INTO `VERSION` VALUES (1, '3.1.0', 'Hive release version 3.1.0')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: sys@version
+POSTHOOK: query: INSERT INTO `VERSION` VALUES (1, '3.1.0', 'Hive release version 3.1.0')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: sys@version
+POSTHOOK: Lineage: version.schema_version SCRIPT []
+POSTHOOK: Lineage: version.ver_id SCRIPT []
+POSTHOOK: Lineage: version.version_comment SCRIPT []
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_VERSION` (
+ `VER_ID` BIGINT,
+ `SCHEMA_VERSION` string,
+ `VERSION_COMMENT` string,
+ CONSTRAINT `SYS_PK_DB_VERSION` PRIMARY KEY (`VER_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"VER_ID\",
+ \"SCHEMA_VERSION\",
+ \"VERSION_COMMENT\"
+FROM
+ \"VERSION\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@DB_VERSION
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_VERSION` (
+ `VER_ID` BIGINT,
+ `SCHEMA_VERSION` string,
+ `VERSION_COMMENT` string,
+ CONSTRAINT `SYS_PK_DB_VERSION` PRIMARY KEY (`VER_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"VER_ID\",
+ \"SCHEMA_VERSION\",
+ \"VERSION_COMMENT\"
+FROM
+ \"VERSION\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@DB_VERSION
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `FUNCS` (
+ `FUNC_ID` bigint,
+ `CLASS_NAME` string,
+ `CREATE_TIME` int,
+ `DB_ID` bigint,
+ `FUNC_NAME` string,
+ `FUNC_TYPE` int,
+ `OWNER_NAME` string,
+ `OWNER_TYPE` string,
+ CONSTRAINT `SYS_PK_FUNCS` PRIMARY KEY (`FUNC_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"FUNC_ID\",
+ \"CLASS_NAME\",
+ \"CREATE_TIME\",
+ \"DB_ID\",
+ \"FUNC_NAME\",
+ \"FUNC_TYPE\",
+ \"OWNER_NAME\",
+ \"OWNER_TYPE\"
+FROM
+ \"FUNCS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@FUNCS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `FUNCS` (
+ `FUNC_ID` bigint,
+ `CLASS_NAME` string,
+ `CREATE_TIME` int,
+ `DB_ID` bigint,
+ `FUNC_NAME` string,
+ `FUNC_TYPE` int,
+ `OWNER_NAME` string,
+ `OWNER_TYPE` string,
+ CONSTRAINT `SYS_PK_FUNCS` PRIMARY KEY (`FUNC_ID`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"FUNC_ID\",
+ \"CLASS_NAME\",
+ \"CREATE_TIME\",
+ \"DB_ID\",
+ \"FUNC_NAME\",
+ \"FUNC_TYPE\",
+ \"OWNER_NAME\",
+ \"OWNER_TYPE\"
+FROM
+ \"FUNCS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@FUNCS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
+(
+ `CHILD_CD_ID` bigint,
+ `CHILD_INTEGER_IDX` int,
+ `CHILD_TBL_ID` bigint,
+ `PARENT_CD_ID` bigint,
+ `PARENT_INTEGER_IDX` int,
+ `PARENT_TBL_ID` bigint,
+ `POSITION` bigint,
+ `CONSTRAINT_NAME` string,
+ `CONSTRAINT_TYPE` string,
+ `UPDATE_RULE` string,
+ `DELETE_RULE` string,
+ `ENABLE_VALIDATE_RELY` int,
+ `DEFAULT_VALUE` string,
+ CONSTRAINT `SYS_PK_KEY_CONSTRAINTS` PRIMARY KEY (`CONSTRAINT_NAME`, `POSITION`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CHILD_CD_ID\",
+ \"CHILD_INTEGER_IDX\",
+ \"CHILD_TBL_ID\",
+ \"PARENT_CD_ID\",
+ \"PARENT_INTEGER_IDX\",
+ \"PARENT_TBL_ID\",
+ \"POSITION\",
+ \"CONSTRAINT_NAME\",
+ \"CONSTRAINT_TYPE\",
+ \"UPDATE_RULE\",
+ \"DELETE_RULE\",
+ \"ENABLE_VALIDATE_RELY\",
+ \"DEFAULT_VALUE\"
+FROM
+ \"KEY_CONSTRAINTS\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@KEY_CONSTRAINTS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
+(
+ `CHILD_CD_ID` bigint,
+ `CHILD_INTEGER_IDX` int,
+ `CHILD_TBL_ID` bigint,
+ `PARENT_CD_ID` bigint,
+ `PARENT_INTEGER_IDX` int,
+ `PARENT_TBL_ID` bigint,
+ `POSITION` bigint,
+ `CONSTRAINT_NAME` string,
+ `CONSTRAINT_TYPE` string,
+ `UPDATE_RULE` string,
+ `DELETE_RULE` string,
+ `ENABLE_VALIDATE_RELY` int,
+ `DEFAULT_VALUE` string,
+ CONSTRAINT `SYS_PK_KEY_CONSTRAINTS` PRIMARY KEY (`CONSTRAINT_NAME`, `POSITION`) DISABLE
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"CHILD_CD_ID\",
+ \"CHILD_INTEGER_IDX\",
+ \"CHILD_TBL_ID\",
+ \"PARENT_CD_ID\",
+ \"PARENT_INTEGER_IDX\",
+ \"PARENT_TBL_ID\",
+ \"POSITION\",
+ \"CONSTRAINT_NAME\",
+ \"CONSTRAINT_TYPE\",
+ \"UPDATE_RULE\",
+ \"DELETE_RULE\",
+ \"ENABLE_VALIDATE_RELY\",
+ \"DEFAULT_VALUE\"
+FROM
+ \"KEY_CONSTRAINTS\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@KEY_CONSTRAINTS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE VIEW `TABLE_STATS_VIEW` AS
+SELECT
+ `TBL_ID`,
+ max(CASE `PARAM_KEY` WHEN 'COLUMN_STATS_ACCURATE' THEN `PARAM_VALUE` END) AS COLUMN_STATS_ACCURATE,
+ max(CASE `PARAM_KEY` WHEN 'numFiles' THEN `PARAM_VALUE` END) AS NUM_FILES,
+ max(CASE `PARAM_KEY` WHEN 'numRows' THEN `PARAM_VALUE` END) AS NUM_ROWS,
+ max(CASE `PARAM_KEY` WHEN 'rawDataSize' THEN `PARAM_VALUE` END) AS RAW_DATA_SIZE,
+ max(CASE `PARAM_KEY` WHEN 'totalSize' THEN `PARAM_VALUE` END) AS TOTAL_SIZE,
+#### A masked pattern was here ####
+FROM `TABLE_PARAMS` GROUP BY `TBL_ID`
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: sys@table_params
+PREHOOK: Output: SYS@TABLE_STATS_VIEW
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE VIEW `TABLE_STATS_VIEW` AS
+SELECT
+ `TBL_ID`,
+ max(CASE `PARAM_KEY` WHEN 'COLUMN_STATS_ACCURATE' THEN `PARAM_VALUE` END) AS COLUMN_STATS_ACCURATE,
+ max(CASE `PARAM_KEY` WHEN 'numFiles' THEN `PARAM_VALUE` END) AS NUM_FILES,
+ max(CASE `PARAM_KEY` WHEN 'numRows' THEN `PARAM_VALUE` END) AS NUM_ROWS,
+ max(CASE `PARAM_KEY` WHEN 'rawDataSize' THEN `PARAM_VALUE` END) AS RAW_DATA_SIZE,
+ max(CASE `PARAM_KEY` WHEN 'totalSize' THEN `PARAM_VALUE` END) AS TOTAL_SIZE,
+#### A masked pattern was here ####
+FROM `TABLE_PARAMS` GROUP BY `TBL_ID`
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: sys@table_params
+POSTHOOK: Output: SYS@TABLE_STATS_VIEW
+POSTHOOK: Output: database:sys
+POSTHOOK: Lineage: TABLE_STATS_VIEW.column_stats_accurate EXPRESSION [(table_params)table_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (table_params)table_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_STATS_VIEW.num_files EXPRESSION [(table_params)table_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (table_params)table_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_STATS_VIEW.num_rows EXPRESSION [(table_params)table_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (table_params)table_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_STATS_VIEW.raw_data_size EXPRESSION [(table_params)table_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (table_params)table_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_STATS_VIEW.tbl_id SIMPLE [(table_params)table_params.FieldSchema(name:tbl_id, type:bigint, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_STATS_VIEW.total_size EXPRESSION [(table_params)table_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (table_params)table_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_STATS_VIEW.transient_last_ddl_time EXPRESSION [(table_params)table_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (table_params)table_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+PREHOOK: query: CREATE VIEW `PARTITION_STATS_VIEW` AS
+SELECT
+ `PART_ID`,
+ max(CASE `PARAM_KEY` WHEN 'COLUMN_STATS_ACCURATE' THEN `PARAM_VALUE` END) AS COLUMN_STATS_ACCURATE,
+ max(CASE `PARAM_KEY` WHEN 'numFiles' THEN `PARAM_VALUE` END) AS NUM_FILES,
+ max(CASE `PARAM_KEY` WHEN 'numRows' THEN `PARAM_VALUE` END) AS NUM_ROWS,
+ max(CASE `PARAM_KEY` WHEN 'rawDataSize' THEN `PARAM_VALUE` END) AS RAW_DATA_SIZE,
+ max(CASE `PARAM_KEY` WHEN 'totalSize' THEN `PARAM_VALUE` END) AS TOTAL_SIZE,
+#### A masked pattern was here ####
+FROM `PARTITION_PARAMS` GROUP BY `PART_ID`
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: sys@partition_params
+PREHOOK: Output: SYS@PARTITION_STATS_VIEW
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE VIEW `PARTITION_STATS_VIEW` AS
+SELECT
+ `PART_ID`,
+ max(CASE `PARAM_KEY` WHEN 'COLUMN_STATS_ACCURATE' THEN `PARAM_VALUE` END) AS COLUMN_STATS_ACCURATE,
+ max(CASE `PARAM_KEY` WHEN 'numFiles' THEN `PARAM_VALUE` END) AS NUM_FILES,
+ max(CASE `PARAM_KEY` WHEN 'numRows' THEN `PARAM_VALUE` END) AS NUM_ROWS,
+ max(CASE `PARAM_KEY` WHEN 'rawDataSize' THEN `PARAM_VALUE` END) AS RAW_DATA_SIZE,
+ max(CASE `PARAM_KEY` WHEN 'totalSize' THEN `PARAM_VALUE` END) AS TOTAL_SIZE,
+#### A masked pattern was here ####
+FROM `PARTITION_PARAMS` GROUP BY `PART_ID`
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: sys@partition_params
+POSTHOOK: Output: SYS@PARTITION_STATS_VIEW
+POSTHOOK: Output: database:sys
+POSTHOOK: Lineage: PARTITION_STATS_VIEW.column_stats_accurate EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: PARTITION_STATS_VIEW.num_files EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: PARTITION_STATS_VIEW.num_rows EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: PARTITION_STATS_VIEW.part_id SIMPLE [(partition_params)partition_params.FieldSchema(name:part_id, type:bigint, comment:from deserializer), ]
+POSTHOOK: Lineage: PARTITION_STATS_VIEW.raw_data_size EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: PARTITION_STATS_VIEW.total_size EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: PARTITION_STATS_VIEW.transient_last_ddl_time EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
+ `NAME` string,
+ `STATUS` string,
+ `QUERY_PARALLELISM` int,
+ `DEFAULT_POOL_PATH` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\",
+ \"STATUS\",
+ \"WM_RESOURCEPLAN\".\"QUERY_PARALLELISM\",
+ \"WM_POOL\".\"PATH\"
+FROM
+ \"WM_RESOURCEPLAN\" LEFT OUTER JOIN \"WM_POOL\" ON \"WM_RESOURCEPLAN\".\"DEFAULT_POOL_ID\" = \"WM_POOL\".\"POOL_ID\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@WM_RESOURCEPLANS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
+ `NAME` string,
+ `STATUS` string,
+ `QUERY_PARALLELISM` int,
+ `DEFAULT_POOL_PATH` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\",
+ \"STATUS\",
+ \"WM_RESOURCEPLAN\".\"QUERY_PARALLELISM\",
+ \"WM_POOL\".\"PATH\"
+FROM
+ \"WM_RESOURCEPLAN\" LEFT OUTER JOIN \"WM_POOL\" ON \"WM_RESOURCEPLAN\".\"DEFAULT_POOL_ID\" = \"WM_POOL\".\"POOL_ID\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@WM_RESOURCEPLANS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_TRIGGERS` (
+ `RP_NAME` string,
+ `NAME` string,
+ `TRIGGER_EXPRESSION` string,
+ `ACTION_EXPRESSION` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ r.\"NAME\" AS RP_NAME,
+ t.\"NAME\" AS NAME,
+ \"TRIGGER_EXPRESSION\",
+ \"ACTION_EXPRESSION\"
+FROM
+ \"WM_TRIGGER\" t
+JOIN
+ \"WM_RESOURCEPLAN\" r
+ON
+ t.\"RP_ID\" = r.\"RP_ID\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@WM_TRIGGERS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_TRIGGERS` (
+ `RP_NAME` string,
+ `NAME` string,
+ `TRIGGER_EXPRESSION` string,
+ `ACTION_EXPRESSION` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ r.\"NAME\" AS RP_NAME,
+ t.\"NAME\" AS NAME,
+ \"TRIGGER_EXPRESSION\",
+ \"ACTION_EXPRESSION\"
+FROM
+ \"WM_TRIGGER\" t
+JOIN
+ \"WM_RESOURCEPLAN\" r
+ON
+ t.\"RP_ID\" = r.\"RP_ID\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@WM_TRIGGERS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS` (
+ `RP_NAME` string,
+ `PATH` string,
+ `ALLOC_FRACTION` double,
+ `QUERY_PARALLELISM` int,
+ `SCHEDULING_POLICY` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\",
+ \"WM_POOL\".\"PATH\",
+ \"WM_POOL\".\"ALLOC_FRACTION\",
+ \"WM_POOL\".\"QUERY_PARALLELISM\",
+ \"WM_POOL\".\"SCHEDULING_POLICY\"
+FROM
+ \"WM_POOL\"
+JOIN
+ \"WM_RESOURCEPLAN\"
+ON
+ \"WM_POOL\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\""
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@WM_POOLS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS` (
+ `RP_NAME` string,
+ `PATH` string,
+ `ALLOC_FRACTION` double,
+ `QUERY_PARALLELISM` int,
+ `SCHEDULING_POLICY` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\",
+ \"WM_POOL\".\"PATH\",
+ \"WM_POOL\".\"ALLOC_FRACTION\",
+ \"WM_POOL\".\"QUERY_PARALLELISM\",
+ \"WM_POOL\".\"SCHEDULING_POLICY\"
+FROM
+ \"WM_POOL\"
+JOIN
+ \"WM_RESOURCEPLAN\"
+ON
+ \"WM_POOL\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\""
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@WM_POOLS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
+ `RP_NAME` string,
+ `POOL_PATH` string,
+ `TRIGGER_NAME` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\" AS RP_NAME,
+ \"WM_POOL\".\"PATH\" AS POOL_PATH,
+ \"WM_TRIGGER\".\"NAME\" AS TRIGGER_NAME
+FROM \"WM_POOL_TO_TRIGGER\"
+ JOIN \"WM_POOL\" ON \"WM_POOL_TO_TRIGGER\".\"POOL_ID\" = \"WM_POOL\".\"POOL_ID\"
+ JOIN \"WM_TRIGGER\" ON \"WM_POOL_TO_TRIGGER\".\"TRIGGER_ID\" = \"WM_TRIGGER\".\"TRIGGER_ID\"
+ JOIN \"WM_RESOURCEPLAN\" ON \"WM_POOL\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\"
+UNION
+SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\" AS RP_NAME,
+ '<unmanaged queries>' AS POOL_PATH,
+ \"WM_TRIGGER\".\"NAME\" AS TRIGGER_NAME
+FROM \"WM_TRIGGER\"
+ JOIN \"WM_RESOURCEPLAN\" ON \"WM_TRIGGER\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\"
+WHERE CAST(\"WM_TRIGGER\".\"IS_IN_UNMANAGED\" AS CHAR) IN ('1', 't')
+"
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@WM_POOLS_TO_TRIGGERS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
+ `RP_NAME` string,
+ `POOL_PATH` string,
+ `TRIGGER_NAME` string
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\" AS RP_NAME,
+ \"WM_POOL\".\"PATH\" AS POOL_PATH,
+ \"WM_TRIGGER\".\"NAME\" AS TRIGGER_NAME
+FROM \"WM_POOL_TO_TRIGGER\"
+ JOIN \"WM_POOL\" ON \"WM_POOL_TO_TRIGGER\".\"POOL_ID\" = \"WM_POOL\".\"POOL_ID\"
+ JOIN \"WM_TRIGGER\" ON \"WM_POOL_TO_TRIGGER\".\"TRIGGER_ID\" = \"WM_TRIGGER\".\"TRIGGER_ID\"
+ JOIN \"WM_RESOURCEPLAN\" ON \"WM_POOL\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\"
+UNION
+SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\" AS RP_NAME,
+ '<unmanaged queries>' AS POOL_PATH,
+ \"WM_TRIGGER\".\"NAME\" AS TRIGGER_NAME
+FROM \"WM_TRIGGER\"
+ JOIN \"WM_RESOURCEPLAN\" ON \"WM_TRIGGER\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\"
+WHERE CAST(\"WM_TRIGGER\".\"IS_IN_UNMANAGED\" AS CHAR) IN ('1', 't')
+"
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@WM_POOLS_TO_TRIGGERS
+POSTHOOK: Output: database:sys
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_MAPPINGS` (
+ `RP_NAME` string,
+ `ENTITY_TYPE` string,
+ `ENTITY_NAME` string,
+ `POOL_PATH` string,
+ `ORDERING` int
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\",
+ \"ENTITY_TYPE\",
+ \"ENTITY_NAME\",
+ case when \"WM_POOL\".\"PATH\" is null then '<unmanaged>' else \"WM_POOL\".\"PATH\" end,
+ \"ORDERING\"
+FROM \"WM_MAPPING\"
+JOIN \"WM_RESOURCEPLAN\" ON \"WM_MAPPING\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\"
+LEFT OUTER JOIN \"WM_POOL\" ON \"WM_POOL\".\"POOL_ID\" = \"WM_MAPPING\".\"POOL_ID\"
+"
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: SYS@WM_MAPPINGS
+PREHOOK: Output: database:sys
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_MAPPINGS` (
+ `RP_NAME` string,
+ `ENTITY_TYPE` string,
+ `ENTITY_NAME` string,
+ `POOL_PATH` string,
+ `ORDERING` int
+)
+STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+"hive.sql.database.type" = "METASTORE",
+"hive.sql.query" =
+"SELECT
+ \"WM_RESOURCEPLAN\".\"NAME\",
+ \"ENTITY_TYPE\",
+ \"ENTITY_NAME\",
+ case when \"WM_POOL\".\"PATH\" is null then '<unmanaged>' else \"WM_POOL\".\"PATH\" end,
+ \"ORDERING\"
+FROM \"WM_MAPPING\"
+JOIN \"WM_RESOURCEPLAN\" ON \"WM_MAPPING\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\"
+LEFT OUTER JOIN \"WM_POOL\" ON \"WM_POOL\".\"POOL_ID\" = \"WM_MAPPING\".\"POOL_ID\"
+"
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: SYS@WM_MAPPINGS
+POSTHOOK: Output: database:sys
+PREHOOK: query: DROP DATABASE IF EXISTS INFORMATION_SCHEMA CASCADE
+PREHOOK: type: DROPDATABASE
+POSTHOOK: query: DROP DATABASE IF EXISTS INFORMATION_SCHEMA CASCADE
+POSTHOOK: type: DROPDATABASE
+PREHOOK: query: CREATE DATABASE INFORMATION_SCHEMA
+PREHOOK: type: CREATEDATABASE
+PREHOOK: Output: database:INFORMATION_SCHEMA
+POSTHOOK: query: CREATE DATABASE INFORMATION_SCHEMA
+POSTHOOK: type: CREATEDATABASE
+POSTHOOK: Output: database:INFORMATION_SCHEMA
+PREHOOK: query: USE INFORMATION_SCHEMA
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:information_schema
+POSTHOOK: query: USE INFORMATION_SCHEMA
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:information_schema
+PREHOOK: query: CREATE VIEW IF NOT EXISTS `SCHEMATA`
+(
+ `CATALOG_NAME`,
+ `SCHEMA_NAME`,
+ `SCHEMA_OWNER`,
+ `DEFAULT_CHARACTER_SET_CATALOG`,
+ `DEFAULT_CHARACTER_SET_SCHEMA`,
+ `DEFAULT_CHARACTER_SET_NAME`,
+ `SQL_PATH`
+) AS
+SELECT DISTINCT
+ 'default',
+ D.`NAME`,
+ D.`OWNER_NAME`,
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ `DB_LOCATION_URI`
+FROM
+ `sys`.`DBS` D, `sys`.`TBLS` T, `sys`.`TBL_PRIVS` P
+WHERE
+ NOT restrict_information_schema() OR
+ D.`DB_ID` = T.`DB_ID`
+ AND T.`TBL_ID` = P.`TBL_ID`
+ 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`
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: sys@dbs
+PREHOOK: Input: sys@tbl_privs
+PREHOOK: Input: sys@tbls
+PREHOOK: Output: INFORMATION_SCHEMA@SCHEMATA
+PREHOOK: Output: database:information_schema
+POSTHOOK: query: CREATE VIEW IF NOT EXISTS `SCHEMATA`
+(
+ `CATALOG_NAME`,
+ `SCHEMA_NAME`,
+ `SCHEMA_OWNER`,
+ `DEFAULT_CHARACTER_SET_CATALOG`,
+ `DEFAULT_CHARACTER_SET_SCHEMA`,
+ `DEFAULT_CHARACTER_SET_NAME`,
+ `SQL_PATH`
+) AS
+SELECT DISTINCT
+ 'default',
+ D.`NAME`,
+ D.`OWNER_NAME`,
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ `DB_LOCATION_URI`
+FROM
+ `sys`.`DBS` D, `sys`.`TBLS` T, `sys`.`TBL_PRIVS` P
+WHERE
+ NOT restrict_information_schema() OR
+ D.`DB_ID` = T.`DB_ID`
+ AND T.`TBL_ID` = P.`TBL_ID`
+ 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`
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: sys@dbs
+POSTHOOK: Input: sys@tbl_privs
+POSTHOOK: Input: sys@tbls
+POSTHOOK: Output: INFORMATION_SCHEMA@SCHEMATA
+POSTHOOK: Output: database:information_schema
+POSTHOOK: Lineage: SCHEMATA.catalog_name SIMPLE []
+POSTHOOK: Lineage: SCHEMATA.default_character_set_catalog EXPRESSION []
+POSTHOOK: Lineage: SCHEMATA.default_character_set_name EXPRESSION []
+POSTHOOK: Lineage: SCHEMATA.default_character_set_schema EXPRESSION []
+POSTHOOK: Lineage: SCHEMATA.schema_name SIMPLE [(dbs)d.FieldSchema(name:name, type:string, comment:from deserializer), ]
+#### A masked pattern was here ####
+POSTHOOK: Lineage: SCHEMATA.sql_path SIMPLE [(dbs)d.FieldSchema(name:db_location_uri, type:string, comment:from deserializer), ]
+PREHOOK: query: CREATE VIEW IF NOT EXISTS `TABLES`
+(
+ `TABLE_CATALOG`,
+ `TABLE_SCHEMA`,
+ `TABLE_NAME`,
+ `TABLE_TYPE`,
+ `SELF_REFERENCING_COLUMN_NAME`,
+ `REFERENCE_GENERATION`,
+ `USER_DEFINED_TYPE_CATALOG`,
+ `USER_DEFINED_TYPE_SCHEMA`,
+ `USER_DEFINED_TYPE_NAME`,
+ `IS_INSERTABLE_INTO`,
+ `IS_TYPED`,
+ `COMMIT_ACTION`
+) AS
+SELECT DISTINCT
+ 'default',
+ D.NAME,
+ T.TBL_NAME,
+ IF(length(T.VIEW_ORIGINAL_TEXT) > 0, 'VIEW', 'BASE_TABLE'),
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ IF(length(T.VIEW_ORIGINAL_TEXT) > 0, 'NO', 'YES'),
+ 'NO',
+ cast(null as string)
+FROM
+ `sys`.`TBLS` T, `sys`.`DBS` D, `sys`.`TBL_PRIVS` P
+WHERE
+ D.`DB_ID` = T.`DB_ID`
+ AND (NOT restrict_information_schema() OR T.`TBL_ID` = P.`TBL_ID`
+ 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()
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: sys@dbs
+PREHOOK: Input: sys@tbl_privs
+PREHOOK: Input: sys@tbls
+PREHOOK: Output: INFORMATION_SCHEMA@TABLES
+PREHOOK: Output: database:information_schema
+POSTHOOK: query: CREATE VIEW IF NOT EXISTS `TABLES`
+(
+ `TABLE_CATALOG`,
+ `TABLE_SCHEMA`,
+ `TABLE_NAME`,
+ `TABLE_TYPE`,
+ `SELF_REFERENCING_COLUMN_NAME`,
+ `REFERENCE_GENERATION`,
+ `USER_DEFINED_TYPE_CATALOG`,
+ `USER_DEFINED_TYPE_SCHEMA`,
+ `USER_DEFINED_TYPE_NAME`,
+ `IS_INSERTABLE_INTO`,
+ `IS_TYPED`,
+ `COMMIT_ACTION`
+) AS
+SELECT DISTINCT
+ 'default',
+ D.NAME,
+ T.TBL_NAME,
+ IF(length(T.VIEW_ORIGINAL_TEXT) > 0, 'VIEW', 'BASE_TABLE'),
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ cast(null as string),
+ IF(length(T.VIEW_ORIGINAL_TEXT) > 0, 'NO', 'YES'),
+ 'NO',
+ cast(null as string)
+FROM
+ `sys`.`TBLS` T, `sys`.`DBS` D, `sys`.`TBL_PRIVS` P
+WHERE
+ D.`DB_ID` = T.`DB_ID`
+ AND (NOT restrict_information_schema() OR T.`TBL_ID` = P.`TBL_ID`
+ 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()
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: sys@dbs
+POSTHOOK: Input: sys@tbl_privs
+POSTHOOK: Input: sys@tbls
+POSTHOOK: Output: INFORMATION_SCHEMA@TABLES
+POSTHOOK: Output: database:information_schema
+POSTHOOK: Lineage: TABLES.commit_action EXPRESSION []
+POSTHOOK: Lineage: TABLES.is_insertable_into EXPRESSION [(tbls)t.FieldSchema(name:view_original_text, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLES.is_typed SIMPLE []
+POSTHOOK: Lineage: TABLES.reference_generation EXPRESSION []
+POSTHOOK: Lineage: TABLES.self_referencing_column_name EXPRESSION []
+POSTHOOK: Lineage: TABLES.table_catalog SIMPLE []
+POSTHOOK: Lineage: TABLES.table_name SIMPLE [(tbls)t.FieldSchema(name:tbl_name, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLES.table_schema SIMPLE [(dbs)d.FieldSchema(name:name, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLES.table_type EXPRESSION [(tbls)t.FieldSchema(name:view_original_text, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLES.user_defined_type_catalog EXPRESSION []
+POSTHOOK: Lineage: TABLES.user_defined_type_name EXPRESSION []
+POSTHOOK: Lineage: TABLES.user_defined_type_schema EXPRESSION []
+PREHOOK: query: CREATE VIEW IF NOT EXISTS `TABLE_PRIVILEGES`
+(
+ `GRANTOR`,
+ `GRANTEE`,
+ `TABLE_CATALOG`,
+ `TABLE_SCHEMA`,
+ `TABLE_NAME`,
+ `PRIVILEGE_TYPE`,
+ `IS_GRANTABLE`,
+ `WITH_HIERARCHY`
+) AS
+SELECT DISTINCT
+ P.`GRANTOR`,
+ P.`PRINCIPAL_NAME`,
+ 'default',
+ D.`NAME`,
+ T.`TBL_NAME`,
+ P.`TBL_PRIV`,
+ IF (P.`GRANT_OPTION` == 0, 'NO', 'YES'),
+ 'NO'
+FROM
+ `sys`.`TBL_PRIVS` P,
+ `sys`.`TBLS` T,
+ `sys`.`DBS` D,
+ `sys`.`TBL_PRIVS` P2
+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`
+ 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()
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: sys@dbs
+PREHOOK: Input: sys@tbl_privs
+PREHOOK: Input: sys@tbls
+PREHOOK: Output: INFORMATION_SCHEMA@TABLE_PRIVILEGES
+PREHOOK: Output: database:information_schema
+POSTHOOK: query: CREATE VIEW IF NOT EXISTS `TABLE_PRIVILEGES`
+(
+ `GRANTOR`,
+ `GRANTEE`,
+ `TABLE_CATALOG`,
+ `TABLE_SCHEMA`,
+ `TABLE_NAME`,
+ `PRIVILEGE_TYPE`,
+ `IS_GRANTABLE`,
+ `WITH_HIERARCHY`
+) AS
+SELECT DISTINCT
+ P.`GRANTOR`,
+ P.`PRINCIPAL_NAME`,
+ 'default',
+ D.`NAME`,
+ T.`TBL_NAME`,
+ P.`TBL_PRIV`,
+ IF (P.`GRANT_OPTION` == 0, 'NO', 'YES'),
+ 'NO'
+FROM
+ `sys`.`TBL_PRIVS` P,
+ `sys`.`TBLS` T,
+ `sys`.`DBS` D,
+ `sys`.`TBL_PRIVS` P2
+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`
+ 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()
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: sys@dbs
+POSTHOOK: Input: sys@tbl_privs
+POSTHOOK: Input: sys@tbls
+POSTHOOK: Output: INFORMATION_SCHEMA@TABLE_PRIVILEGES
+POSTHOOK: Output: database:information_schema
+POSTHOOK: Lineage: TABLE_PRIVILEGES.grantee SIMPLE [(tbl_privs)p.FieldSchema(name:principal_name, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_PRIVILEGES.grantor SIMPLE [(tbl_privs)p.FieldSchema(name:grantor, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_PRIVILEGES.is_grantable EXPRESSION [(tbl_privs)p.FieldSchema(name:grant_option, type:int, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_PRIVILEGES.privilege_type SIMPLE [(tbl_privs)p.FieldSchema(name:tbl_priv, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_PRIVILEGES.table_catalog SIMPLE []
+POSTHOOK: Lineage: TABLE_PRIVILEGES.table_name SIMPLE [(tbls)t.FieldSchema(name:tbl_name, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_PRIVILEGES.table_schema SIMPLE [(dbs)d.FieldSchema(name:name, type:string, comment:from deserializer), ]
+POSTHOOK: Lineage: TABLE_PRIVILEGES.with_hierarchy SIMPLE []
+PREHOOK: query: CREATE VIEW IF NOT EXISTS `COLUMNS`
+(
+ `TABLE_CATALOG`,
+ `TABLE_SCHEMA`,
+ `TABLE_NAME`,
+ `COLUMN_NAME`,
+ `ORDINAL_POSITION`,
+ `COLUMN_DEFAULT`,
+ `IS_NULLABLE`,
+ `DATA_TYPE`,
+ `CHARACTER_MAXIMUM_LENGTH`,
+ `CHARACTER_OCTET_LENGTH`,
+ `NUMERIC_PRECISION`,
+ `NUMERIC_PRECISION_RADIX`,
+ `NUMERIC_SCALE`,
+ `DATETIME_PRECISION`,
+ `INTERVAL_TYPE`,
+ `INTERVAL_PRECISION`,
+ `CHARACTER_SET_CATALOG`,
+ `CHARACTER_SET_SCHEMA`,
+ `CHARACTER_SET_NAME`,
+ `COLLATION_CATALOG`,
+ `COLLATION_SCHEMA`,
+ `COLLATION_NAME`,
+ `UDT_CATALOG`,
+ `UDT_SCHEMA`,
+ `UDT_NAME`,
+ `SCOPE_CATALOG`,
+ `SCOPE_SCHEMA`,
+ `SCOPE_NAME`,
+ `MAXIMUM_CARDINALITY`,
+ `DTD_IDENTIFIER`,
+ `IS_SELF_REFERENCING`,
+ `IS_IDENTITY`,
+ `IDENTITY_GENERATION`,
+ `IDENTITY_START`,
+ `IDENTITY_INCREMENT`,
+ `IDENTITY_MAXIMUM`,
+ `IDENTITY_MINIMUM`,
+ `IDENTITY_CYCLE`,
+ `IS_GENERATED`,
+ `GENERATION_EXPRESSION`,
+ `IS_SYSTEM_TIME_PERIOD_START`,
+ `IS_SYSTEM_TIME_PERIOD_END`,
+ `SYSTEM_TIME_PERIOD_TIMESTAMP_GENERATION`,
+ `IS_UPDATABLE`,
+ `DECLARED_DATA_TYPE`,
+ `DECLARED_NUMERIC_PRECISION`,
+ `DECLARED_NUMERIC_SCALE`
+) AS
+SELECT DISTINCT
+ 'default',
+ D.NAME,
+ T.TBL_NAME,
+ C.COLUMN_NAME,
+ C.INTEGER_IDX,
+ cast (null as string),
+ 'YES',
+ C.TYPE_NAME as TYPE_NAME,
+ CASE WHEN lower(C.TYPE_NAME) like 'varchar%' THEN cast(regexp_extract(upper(C.TYPE_NAME), '^VARCHAR\\s*\\((\\d+)\\s*\\)$', 1) as int)
+ WHEN lower(C.TYPE_NAME) like 'char%' THEN cast(regexp_extract(upper(C.TYPE_NAME), '^CHAR\\s*\\((\\d+)\\s*\\)$', 1) as int)
+ ELSE null END,
+ CASE WHEN lower(C.TYPE_NAME) like 'varcha
<TRUNCATED>
[4/4] hive git commit: HIVE-19753: Strict managed tables mode in Hive
(Jason Dere, reviewed by Eugene Koifman)
Posted by jd...@apache.org.
HIVE-19753: Strict managed tables mode in Hive (Jason Dere, reviewed by Eugene Koifman)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/09118648
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/09118648
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/09118648
Branch: refs/heads/master
Commit: 091186484196e3551e3805746ff48adf2520fc6c
Parents: 4b7f88a
Author: Jason Dere <jd...@hortonworks.com>
Authored: Sun Jun 24 10:09:43 2018 -0700
Committer: Jason Dere <jd...@hortonworks.com>
Committed: Sun Jun 24 10:09:43 2018 -0700
----------------------------------------------------------------------
.../org/apache/hadoop/hive/conf/HiveConf.java | 4 -
.../test/resources/testconfiguration.properties | 3 +
.../upgrade/hive/hive-schema-3.0.0.hive.sql | 88 +-
.../upgrade/hive/hive-schema-3.1.0.hive.sql | 88 +-
.../org/apache/hadoop/hive/ql/exec/DDLTask.java | 16 +
.../ql/util/HiveStrictManagedMigration.java | 1 +
.../hive/ql/util/HiveStrictManagedUtils.java | 115 -
.../clientnegative/strict_managed_tables1.q | 15 +
.../clientnegative/strict_managed_tables2.q | 7 +
.../clientnegative/strict_managed_tables3.q | 7 +
.../clientnegative/strict_managed_tables4.q | 16 +
.../clientnegative/strict_managed_tables5.q | 12 +
.../clientpositive/strict_managed_tables1.q | 40 +
.../clientpositive/strict_managed_tables2.q | 46 +
.../strict_managed_tables_sysdb.q | 48 +
.../clientnegative/strict_managed_tables1.q.out | 29 +
.../clientnegative/strict_managed_tables2.q.out | 13 +
.../clientnegative/strict_managed_tables3.q.out | 13 +
.../clientnegative/strict_managed_tables4.q.out | 31 +
.../clientnegative/strict_managed_tables5.q.out | 19 +
.../clientpositive/llap/resourceplan.q.out | 172 +-
.../llap/strict_managed_tables1.q.out | 176 +
.../llap/strict_managed_tables2.q.out | 248 ++
.../llap/strict_managed_tables_sysdb.q.out | 3458 ++++++++++++++++++
.../TransactionalValidationListener.java | 5 +-
.../hive/metastore/conf/MetastoreConf.java | 3 +
.../metastore/utils/HiveStrictManagedUtils.java | 100 +
27 files changed, 4479 insertions(+), 294 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 39e5c00..49d1e52 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -2847,10 +2847,6 @@ public class HiveConf extends Configuration {
" on the assumption that data changes by external applications may have negative effects" +
" on these operations."),
- HIVE_STRICT_MANAGED_TABLES("hive.strict.managed.tables", false,
- "Whether strict managed tables mode is enabled. With this mode enabled, " +
- "only transactional tables (both full and insert-only) are allowed to be created as managed tables"),
-
HIVE_ERROR_ON_EMPTY_PARTITION("hive.error.on.empty.partition", false,
"Whether to throw an exception if dynamic partition insert generates empty results."),
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 93e2a44..1611065 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -678,6 +678,9 @@ minillaplocal.query.files=\
sqlmerge.q,\
stats_based_fetch_decision.q,\
stats_only_external.q,\
+ strict_managed_tables_sysdb.q,\
+ strict_managed_tables1.q,\
+ strict_managed_tables2.q,\
subquery_in_having.q,\
subquery_notin.q,\
subquery_nested_subquery.q, \
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql b/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
index a3ecded..71671c4 100644
--- a/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
+++ b/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
@@ -5,7 +5,7 @@ CREATE DATABASE SYS;
USE SYS;
-CREATE TABLE IF NOT EXISTS `BUCKETING_COLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `BUCKETING_COLS` (
`SD_ID` bigint,
`BUCKET_COL_NAME` string,
`INTEGER_IDX` int,
@@ -23,7 +23,7 @@ FROM
\"BUCKETING_COLS\""
);
-CREATE TABLE IF NOT EXISTS `CDS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `CDS` (
`CD_ID` bigint,
CONSTRAINT `SYS_PK_CDS` PRIMARY KEY (`CD_ID`) DISABLE
)
@@ -37,7 +37,7 @@ FROM
\"CDS\""
);
-CREATE TABLE IF NOT EXISTS `COLUMNS_V2` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `COLUMNS_V2` (
`CD_ID` bigint,
`COMMENT` string,
`COLUMN_NAME` string,
@@ -59,7 +59,7 @@ FROM
\"COLUMNS_V2\""
);
-CREATE TABLE IF NOT EXISTS `DATABASE_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DATABASE_PARAMS` (
`DB_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -77,7 +77,7 @@ FROM
\"DATABASE_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `DBS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DBS` (
`DB_ID` bigint,
`DB_LOCATION_URI` string,
`NAME` string,
@@ -99,7 +99,7 @@ FROM
\"DBS\""
);
-CREATE TABLE IF NOT EXISTS `DB_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DB_PRIVS` (
`DB_GRANT_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -131,7 +131,7 @@ FROM
\"DB_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
`USER_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` string,
@@ -161,7 +161,7 @@ FROM
\"GLOBAL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITIONS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITIONS` (
`PART_ID` bigint,
`CREATE_TIME` int,
`LAST_ACCESS_TIME` int,
@@ -185,7 +185,7 @@ FROM
\"PARTITIONS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITION_KEYS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEYS` (
`TBL_ID` bigint,
`PKEY_COMMENT` string,
`PKEY_NAME` string,
@@ -207,7 +207,7 @@ FROM
\"PARTITION_KEYS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
`PART_ID` bigint,
`PART_KEY_VAL` string,
`INTEGER_IDX` int,
@@ -225,7 +225,7 @@ FROM
\"PARTITION_KEY_VALS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITION_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_PARAMS` (
`PART_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -243,7 +243,7 @@ FROM
\"PARTITION_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_PRIVS` (
`PART_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -277,7 +277,7 @@ FROM
\"PART_COL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `PART_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PART_PRIVS` (
`PART_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -309,7 +309,7 @@ FROM
\"PART_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `ROLES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `ROLES` (
`ROLE_ID` bigint,
`CREATE_TIME` int,
`OWNER_NAME` string,
@@ -329,7 +329,7 @@ FROM
\"ROLES\""
);
-CREATE TABLE IF NOT EXISTS `ROLE_MAP` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `ROLE_MAP` (
`ROLE_GRANT_ID` bigint,
`ADD_TIME` int,
`GRANT_OPTION` int,
@@ -357,7 +357,7 @@ FROM
\"ROLE_MAP\""
);
-CREATE TABLE IF NOT EXISTS `SDS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SDS` (
`SD_ID` bigint,
`CD_ID` bigint,
`INPUT_FORMAT` string,
@@ -387,7 +387,7 @@ FROM
\"SDS\""
);
-CREATE TABLE IF NOT EXISTS `SD_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SD_PARAMS` (
`SD_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -405,7 +405,7 @@ FROM
\"SD_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
`SEQUENCE_NAME` string,
`NEXT_VAL` bigint,
CONSTRAINT `SYS_PK_SEQUENCE_TABLE` PRIMARY KEY (`SEQUENCE_NAME`) DISABLE
@@ -421,7 +421,7 @@ FROM
\"SEQUENCE_TABLE\""
);
-CREATE TABLE IF NOT EXISTS `SERDES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SERDES` (
`SERDE_ID` bigint,
`NAME` string,
`SLIB` string,
@@ -439,7 +439,7 @@ FROM
\"SERDES\""
);
-CREATE TABLE IF NOT EXISTS `SERDE_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SERDE_PARAMS` (
`SERDE_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -457,7 +457,7 @@ FROM
\"SERDE_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
`SD_ID` bigint,
`SKEWED_COL_NAME` string,
`INTEGER_IDX` int,
@@ -475,7 +475,7 @@ FROM
\"SKEWED_COL_NAMES\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
`SD_ID` bigint,
`STRING_LIST_ID_KID` bigint,
`LOCATION` string,
@@ -493,7 +493,7 @@ FROM
\"SKEWED_COL_VALUE_LOC_MAP\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
`STRING_LIST_ID` bigint,
CONSTRAINT `SYS_PK_SKEWED_STRING_LIST` PRIMARY KEY (`STRING_LIST_ID`) DISABLE
)
@@ -507,7 +507,7 @@ FROM
\"SKEWED_STRING_LIST\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
`STRING_LIST_ID` bigint,
`STRING_LIST_VALUE` string,
`INTEGER_IDX` int,
@@ -525,7 +525,7 @@ FROM
\"SKEWED_STRING_LIST_VALUES\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_VALUES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_VALUES` (
`SD_ID_OID` bigint,
`STRING_LIST_ID_EID` bigint,
`INTEGER_IDX` int,
@@ -543,7 +543,7 @@ FROM
\"SKEWED_VALUES\""
);
-CREATE TABLE IF NOT EXISTS `SORT_COLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SORT_COLS` (
`SD_ID` bigint,
`COLUMN_NAME` string,
`ORDER` int,
@@ -563,7 +563,7 @@ FROM
\"SORT_COLS\""
);
-CREATE TABLE IF NOT EXISTS `TABLE_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TABLE_PARAMS` (
`TBL_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -581,7 +581,7 @@ FROM
\"TABLE_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `TBLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TBLS` (
`TBL_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -616,7 +616,7 @@ TBLPROPERTIES (
FROM \"TBLS\""
);
-CREATE TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
`MV_CREATION_METADATA_ID` bigint,
`DB_NAME` string,
`TBL_NAME` string,
@@ -635,7 +635,7 @@ TBLPROPERTIES (
FROM \"MV_CREATION_METADATA\""
);
-CREATE TABLE IF NOT EXISTS `MV_TABLES_USED` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `MV_TABLES_USED` (
`MV_CREATION_METADATA_ID` bigint,
`TBL_ID` bigint
)
@@ -649,7 +649,7 @@ TBLPROPERTIES (
FROM \"MV_TABLES_USED\""
);
-CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
`TBL_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -683,7 +683,7 @@ FROM
\"TBL_COL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `TBL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_PRIVS` (
`TBL_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -715,7 +715,7 @@ FROM
\"TBL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `TAB_COL_STATS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TAB_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -765,7 +765,7 @@ FROM
\"TAB_COL_STATS\""
);
-CREATE TABLE IF NOT EXISTS `PART_COL_STATS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -817,7 +817,7 @@ FROM
\"PART_COL_STATS\""
);
-CREATE TABLE IF NOT EXISTS `VERSION` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -826,7 +826,7 @@ CREATE TABLE IF NOT EXISTS `VERSION` (
INSERT INTO `VERSION` VALUES (1, '3.0.0', 'Hive release version 3.0.0');
-CREATE TABLE IF NOT EXISTS `DB_VERSION` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DB_VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -844,7 +844,7 @@ FROM
\"VERSION\""
);
-CREATE TABLE IF NOT EXISTS `FUNCS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `FUNCS` (
`FUNC_ID` bigint,
`CLASS_NAME` string,
`CREATE_TIME` int,
@@ -872,7 +872,7 @@ FROM
\"FUNCS\""
);
--- CREATE TABLE IF NOT EXISTS `FUNC_RU` (
+-- CREATE EXTERNAL TABLE IF NOT EXISTS `FUNC_RU` (
-- `FUNC_ID` bigint,
-- `RESOURCE_TYPE` int,
-- `RESOURCE_URI` string,
@@ -885,7 +885,7 @@ FROM
-- "hive.sql.query" = "SELECT * FROM FUNCS_RU"
-- );
-CREATE TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
+CREATE EXTERNAL TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
(
`CHILD_CD_ID` bigint,
`CHILD_INTEGER_IDX` int,
@@ -946,7 +946,7 @@ SELECT
max(CASE `PARAM_KEY` WHEN 'transient_lastDdlTime' THEN `PARAM_VALUE` END) AS TRANSIENT_LAST_DDL_TIME
FROM `PARTITION_PARAMS` GROUP BY `PART_ID`;
-CREATE TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
`NAME` string,
`STATUS` string,
`QUERY_PARALLELISM` int,
@@ -965,7 +965,7 @@ FROM
\"WM_RESOURCEPLAN\" LEFT OUTER JOIN \"WM_POOL\" ON \"WM_RESOURCEPLAN\".\"DEFAULT_POOL_ID\" = \"WM_POOL\".\"POOL_ID\""
);
-CREATE TABLE IF NOT EXISTS `WM_TRIGGERS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_TRIGGERS` (
`RP_NAME` string,
`NAME` string,
`TRIGGER_EXPRESSION` string,
@@ -988,7 +988,7 @@ ON
t.\"RP_ID\" = r.\"RP_ID\""
);
-CREATE TABLE IF NOT EXISTS `WM_POOLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS` (
`RP_NAME` string,
`PATH` string,
`ALLOC_FRACTION` double,
@@ -1013,7 +1013,7 @@ ON
\"WM_POOL\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\""
);
-CREATE TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
`RP_NAME` string,
`POOL_PATH` string,
`TRIGGER_NAME` string
@@ -1041,7 +1041,7 @@ WHERE CAST(\"WM_TRIGGER\".\"IS_IN_UNMANAGED\" AS CHAR) IN ('1', 't')
"
);
-CREATE TABLE IF NOT EXISTS `WM_MAPPINGS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_MAPPINGS` (
`RP_NAME` string,
`ENTITY_TYPE` string,
`ENTITY_NAME` string,
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql b/metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql
index 8453ee3..9bfe9c2 100644
--- a/metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql
+++ b/metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql
@@ -5,7 +5,7 @@ CREATE DATABASE SYS;
USE SYS;
-CREATE TABLE IF NOT EXISTS `BUCKETING_COLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `BUCKETING_COLS` (
`SD_ID` bigint,
`BUCKET_COL_NAME` string,
`INTEGER_IDX` int,
@@ -23,7 +23,7 @@ FROM
\"BUCKETING_COLS\""
);
-CREATE TABLE IF NOT EXISTS `CDS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `CDS` (
`CD_ID` bigint,
CONSTRAINT `SYS_PK_CDS` PRIMARY KEY (`CD_ID`) DISABLE
)
@@ -37,7 +37,7 @@ FROM
\"CDS\""
);
-CREATE TABLE IF NOT EXISTS `COLUMNS_V2` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `COLUMNS_V2` (
`CD_ID` bigint,
`COMMENT` string,
`COLUMN_NAME` string,
@@ -59,7 +59,7 @@ FROM
\"COLUMNS_V2\""
);
-CREATE TABLE IF NOT EXISTS `DATABASE_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DATABASE_PARAMS` (
`DB_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -77,7 +77,7 @@ FROM
\"DATABASE_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `DBS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DBS` (
`DB_ID` bigint,
`DB_LOCATION_URI` string,
`NAME` string,
@@ -99,7 +99,7 @@ FROM
\"DBS\""
);
-CREATE TABLE IF NOT EXISTS `DB_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DB_PRIVS` (
`DB_GRANT_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -131,7 +131,7 @@ FROM
\"DB_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
`USER_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` string,
@@ -161,7 +161,7 @@ FROM
\"GLOBAL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITIONS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITIONS` (
`PART_ID` bigint,
`CREATE_TIME` int,
`LAST_ACCESS_TIME` int,
@@ -185,7 +185,7 @@ FROM
\"PARTITIONS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITION_KEYS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEYS` (
`TBL_ID` bigint,
`PKEY_COMMENT` string,
`PKEY_NAME` string,
@@ -207,7 +207,7 @@ FROM
\"PARTITION_KEYS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
`PART_ID` bigint,
`PART_KEY_VAL` string,
`INTEGER_IDX` int,
@@ -225,7 +225,7 @@ FROM
\"PARTITION_KEY_VALS\""
);
-CREATE TABLE IF NOT EXISTS `PARTITION_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_PARAMS` (
`PART_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -243,7 +243,7 @@ FROM
\"PARTITION_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_PRIVS` (
`PART_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -277,7 +277,7 @@ FROM
\"PART_COL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `PART_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PART_PRIVS` (
`PART_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -309,7 +309,7 @@ FROM
\"PART_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `ROLES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `ROLES` (
`ROLE_ID` bigint,
`CREATE_TIME` int,
`OWNER_NAME` string,
@@ -329,7 +329,7 @@ FROM
\"ROLES\""
);
-CREATE TABLE IF NOT EXISTS `ROLE_MAP` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `ROLE_MAP` (
`ROLE_GRANT_ID` bigint,
`ADD_TIME` int,
`GRANT_OPTION` int,
@@ -357,7 +357,7 @@ FROM
\"ROLE_MAP\""
);
-CREATE TABLE IF NOT EXISTS `SDS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SDS` (
`SD_ID` bigint,
`CD_ID` bigint,
`INPUT_FORMAT` string,
@@ -387,7 +387,7 @@ FROM
\"SDS\""
);
-CREATE TABLE IF NOT EXISTS `SD_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SD_PARAMS` (
`SD_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -405,7 +405,7 @@ FROM
\"SD_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
`SEQUENCE_NAME` string,
`NEXT_VAL` bigint,
CONSTRAINT `SYS_PK_SEQUENCE_TABLE` PRIMARY KEY (`SEQUENCE_NAME`) DISABLE
@@ -421,7 +421,7 @@ FROM
\"SEQUENCE_TABLE\""
);
-CREATE TABLE IF NOT EXISTS `SERDES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SERDES` (
`SERDE_ID` bigint,
`NAME` string,
`SLIB` string,
@@ -439,7 +439,7 @@ FROM
\"SERDES\""
);
-CREATE TABLE IF NOT EXISTS `SERDE_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SERDE_PARAMS` (
`SERDE_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -457,7 +457,7 @@ FROM
\"SERDE_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
`SD_ID` bigint,
`SKEWED_COL_NAME` string,
`INTEGER_IDX` int,
@@ -475,7 +475,7 @@ FROM
\"SKEWED_COL_NAMES\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
`SD_ID` bigint,
`STRING_LIST_ID_KID` bigint,
`LOCATION` string,
@@ -493,7 +493,7 @@ FROM
\"SKEWED_COL_VALUE_LOC_MAP\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
`STRING_LIST_ID` bigint,
CONSTRAINT `SYS_PK_SKEWED_STRING_LIST` PRIMARY KEY (`STRING_LIST_ID`) DISABLE
)
@@ -507,7 +507,7 @@ FROM
\"SKEWED_STRING_LIST\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
`STRING_LIST_ID` bigint,
`STRING_LIST_VALUE` string,
`INTEGER_IDX` int,
@@ -525,7 +525,7 @@ FROM
\"SKEWED_STRING_LIST_VALUES\""
);
-CREATE TABLE IF NOT EXISTS `SKEWED_VALUES` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_VALUES` (
`SD_ID_OID` bigint,
`STRING_LIST_ID_EID` bigint,
`INTEGER_IDX` int,
@@ -543,7 +543,7 @@ FROM
\"SKEWED_VALUES\""
);
-CREATE TABLE IF NOT EXISTS `SORT_COLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `SORT_COLS` (
`SD_ID` bigint,
`COLUMN_NAME` string,
`ORDER` int,
@@ -563,7 +563,7 @@ FROM
\"SORT_COLS\""
);
-CREATE TABLE IF NOT EXISTS `TABLE_PARAMS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TABLE_PARAMS` (
`TBL_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -581,7 +581,7 @@ FROM
\"TABLE_PARAMS\""
);
-CREATE TABLE IF NOT EXISTS `TBLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TBLS` (
`TBL_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -616,7 +616,7 @@ TBLPROPERTIES (
FROM \"TBLS\""
);
-CREATE TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
`MV_CREATION_METADATA_ID` bigint,
`DB_NAME` string,
`TBL_NAME` string,
@@ -635,7 +635,7 @@ TBLPROPERTIES (
FROM \"MV_CREATION_METADATA\""
);
-CREATE TABLE IF NOT EXISTS `MV_TABLES_USED` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `MV_TABLES_USED` (
`MV_CREATION_METADATA_ID` bigint,
`TBL_ID` bigint
)
@@ -649,7 +649,7 @@ TBLPROPERTIES (
FROM \"MV_TABLES_USED\""
);
-CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
`TBL_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -683,7 +683,7 @@ FROM
\"TBL_COL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `TBL_PRIVS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_PRIVS` (
`TBL_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -715,7 +715,7 @@ FROM
\"TBL_PRIVS\""
);
-CREATE TABLE IF NOT EXISTS `TAB_COL_STATS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `TAB_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -765,7 +765,7 @@ FROM
\"TAB_COL_STATS\""
);
-CREATE TABLE IF NOT EXISTS `PART_COL_STATS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -817,7 +817,7 @@ FROM
\"PART_COL_STATS\""
);
-CREATE TABLE IF NOT EXISTS `VERSION` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -826,7 +826,7 @@ CREATE TABLE IF NOT EXISTS `VERSION` (
INSERT INTO `VERSION` VALUES (1, '3.1.0', 'Hive release version 3.1.0');
-CREATE TABLE IF NOT EXISTS `DB_VERSION` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `DB_VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -844,7 +844,7 @@ FROM
\"VERSION\""
);
-CREATE TABLE IF NOT EXISTS `FUNCS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `FUNCS` (
`FUNC_ID` bigint,
`CLASS_NAME` string,
`CREATE_TIME` int,
@@ -872,7 +872,7 @@ FROM
\"FUNCS\""
);
--- CREATE TABLE IF NOT EXISTS `FUNC_RU` (
+-- CREATE EXTERNAL TABLE IF NOT EXISTS `FUNC_RU` (
-- `FUNC_ID` bigint,
-- `RESOURCE_TYPE` int,
-- `RESOURCE_URI` string,
@@ -885,7 +885,7 @@ FROM
-- "hive.sql.query" = "SELECT * FROM FUNCS_RU"
-- );
-CREATE TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
+CREATE EXTERNAL TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
(
`CHILD_CD_ID` bigint,
`CHILD_INTEGER_IDX` int,
@@ -946,7 +946,7 @@ SELECT
max(CASE `PARAM_KEY` WHEN 'transient_lastDdlTime' THEN `PARAM_VALUE` END) AS TRANSIENT_LAST_DDL_TIME
FROM `PARTITION_PARAMS` GROUP BY `PART_ID`;
-CREATE TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
`NAME` string,
`STATUS` string,
`QUERY_PARALLELISM` int,
@@ -965,7 +965,7 @@ FROM
\"WM_RESOURCEPLAN\" LEFT OUTER JOIN \"WM_POOL\" ON \"WM_RESOURCEPLAN\".\"DEFAULT_POOL_ID\" = \"WM_POOL\".\"POOL_ID\""
);
-CREATE TABLE IF NOT EXISTS `WM_TRIGGERS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_TRIGGERS` (
`RP_NAME` string,
`NAME` string,
`TRIGGER_EXPRESSION` string,
@@ -988,7 +988,7 @@ ON
t.\"RP_ID\" = r.\"RP_ID\""
);
-CREATE TABLE IF NOT EXISTS `WM_POOLS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS` (
`RP_NAME` string,
`PATH` string,
`ALLOC_FRACTION` double,
@@ -1013,7 +1013,7 @@ ON
\"WM_POOL\".\"RP_ID\" = \"WM_RESOURCEPLAN\".\"RP_ID\""
);
-CREATE TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
`RP_NAME` string,
`POOL_PATH` string,
`TRIGGER_NAME` string
@@ -1041,7 +1041,7 @@ WHERE CAST(\"WM_TRIGGER\".\"IS_IN_UNMANAGED\" AS CHAR) IN ('1', 't')
"
);
-CREATE TABLE IF NOT EXISTS `WM_MAPPINGS` (
+CREATE EXTERNAL TABLE IF NOT EXISTS `WM_MAPPINGS` (
`RP_NAME` string,
`ENTITY_TYPE` string,
`ENTITY_NAME` string,
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
index 8e32b02..8438dad 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
@@ -4393,6 +4393,11 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
if (isFromMmTable && isRemoved) {
throw new HiveException("Cannot convert an ACID table to non-ACID");
}
+
+ // Check if external table property being removed
+ if (removedSet.contains("EXTERNAL") && tbl.getTableType() == TableType.EXTERNAL_TABLE) {
+ tbl.setTableType(TableType.MANAGED_TABLE);
+ }
}
Iterator<String> keyItr = alterTbl.getProps().keySet().iterator();
while (keyItr.hasNext()) {
@@ -4498,6 +4503,17 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
throw new HiveException("Cannot convert an ACID table to non-ACID");
}
}
+
+ // Converting to/from external table
+ String externalProp = alterTbl.getProps().get("EXTERNAL");
+ if (externalProp != null) {
+ if (Boolean.parseBoolean(externalProp) && tbl.getTableType() == TableType.MANAGED_TABLE) {
+ tbl.setTableType(TableType.EXTERNAL_TABLE);
+ } else if (!Boolean.parseBoolean(externalProp) && tbl.getTableType() == TableType.EXTERNAL_TABLE) {
+ tbl.setTableType(TableType.MANAGED_TABLE);
+ }
+ }
+
tbl.getTTable().getParameters().putAll(alterTbl.getProps());
}
return result;
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedMigration.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedMigration.java b/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedMigration.java
index 604e4d2..0f0dc22 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedMigration.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedMigration.java
@@ -47,6 +47,7 @@ import org.apache.hadoop.hive.metastore.TableType;
import org.apache.hadoop.hive.metastore.TransactionalValidationListener;
import org.apache.hadoop.hive.metastore.Warehouse;
import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
+import org.apache.hadoop.hive.metastore.utils.HiveStrictManagedUtils;
import org.apache.hadoop.hive.metastore.utils.MetaStoreUtils;
import org.apache.hadoop.hive.ql.DriverFactory;
import org.apache.hadoop.hive.ql.IDriver;
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedUtils.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedUtils.java
deleted file mode 100644
index d9536eb..0000000
--- a/ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedUtils.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * 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.util;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.metastore.TableType;
-import org.apache.hadoop.hive.metastore.utils.MetaStoreUtils;
-import org.apache.hadoop.hive.ql.io.AcidUtils;
-import org.apache.hadoop.hive.ql.io.NullRowsInputFormat;
-import org.apache.hadoop.hive.ql.io.OneNullRowInputFormat;
-import org.apache.hadoop.hive.ql.io.ZeroRowsInputFormat;
-import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.metadata.Table;
-import org.apache.hadoop.hive.serde2.avro.AvroSerDe;
-import org.apache.hadoop.hive.serde2.avro.AvroSerdeUtils.AvroTableProperties;
-
-public class HiveStrictManagedUtils {
-
- private final static Set<String> EXEMPT_INPUTFORMATS =
- new HashSet<String>(Arrays.asList(NullRowsInputFormat.class.getName(),
- OneNullRowInputFormat.class.getName(), ZeroRowsInputFormat.class.getName()));
-
-
- public static void validateStrictManagedTable(Configuration conf, Table table)
- throws HiveException {
- String reason = validateStrictManagedTable(conf, table.getTTable());
- if (reason != null) {
- throw new HiveException(reason);
- }
- }
-
- /**
- * Checks if the table is valid based on the rules for strict managed tables.
- * @param conf
- * @param table
- * @return Null if the table is valid, otherwise a string message indicating why the table is invalid.
- */
- public static String validateStrictManagedTable(Configuration conf,
- org.apache.hadoop.hive.metastore.api.Table table) {
- if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_STRICT_MANAGED_TABLES)) {
- if (table.isTemporary()) {
- // temp tables exempted from checks.
- return null;
- }
-
- TableType tableType = TableType.valueOf(table.getTableType());
- if (tableType == TableType.MANAGED_TABLE) {
- if (!AcidUtils.isTransactionalTable(table)) {
- String inputFormat = null;
- if (table.getSd() != null) {
- inputFormat = table.getSd().getInputFormat();
- }
- if (!EXEMPT_INPUTFORMATS.contains(inputFormat)) {
- return createValidationError(table, "Table is marked as a managed table but is not transactional.");
- }
- }
- if (MetaStoreUtils.isNonNativeTable(table)) {
- return createValidationError(table, "Table is marked as a managed table but is non-native.");
- }
- if (isAvroTableWithExternalSchema(table)) {
- return createValidationError(table, "Managed Avro table has externally defined schema.");
- }
- }
- }
-
- // Table is valid
- return null;
- }
-
- public static boolean isAvroTableWithExternalSchema(org.apache.hadoop.hive.metastore.api.Table table) {
- if (table.getSd().getSerdeInfo().getSerializationLib().equals(AvroSerDe.class.getName())) {
- String schemaUrl = table.getParameters().get(AvroTableProperties.SCHEMA_URL.getPropName());
- if (schemaUrl != null && !schemaUrl.isEmpty()) {
- return true;
- }
- }
- return false;
- }
-
- public static boolean isListBucketedTable(org.apache.hadoop.hive.metastore.api.Table table) {
- return table.getSd().isStoredAsSubDirectories();
- }
-
- private static String createValidationError(org.apache.hadoop.hive.metastore.api.Table table, String message) {
- StringBuilder sb = new StringBuilder();
- sb.append("Table ");
- sb.append(table.getDbName());
- sb.append(".");
- sb.append(table.getTableName());
- sb.append(" failed strict managed table checks due to the following reason: ");
- sb.append(message);
- return sb.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientnegative/strict_managed_tables1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/strict_managed_tables1.q b/ql/src/test/queries/clientnegative/strict_managed_tables1.q
new file mode 100644
index 0000000..739ab49
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/strict_managed_tables1.q
@@ -0,0 +1,15 @@
+set hive.support.concurrency=true;
+set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+set metastore.strict.managed.tables=true;
+
+-- Managed transactional table ok
+create table strict_managed_tables1_tab1 (c1 string, c2 string) stored as orc tblproperties ('transactional'='true');
+
+-- Managed insert-only transactional table ok
+create table strict_managed_tables1_tab2 (c1 string, c2 string) stored as textfile tblproperties ('transactional'='true', 'transactional_properties'='insert_only');
+
+-- External non-transactional table ok
+create external table strict_managed_tables1_tab3 (c1 string, c2 string) stored as textfile;
+
+-- Managed non-transactional table not ok
+create table strict_managed_tables1_tab4 (c1 string, c2 string) stored as textfile;
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientnegative/strict_managed_tables2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/strict_managed_tables2.q b/ql/src/test/queries/clientnegative/strict_managed_tables2.q
new file mode 100644
index 0000000..080c0f2
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/strict_managed_tables2.q
@@ -0,0 +1,7 @@
+set metastore.strict.managed.tables=true;
+
+-- External non-transactional table ok
+create external table strict_managed_tables2_tab1 (c1 string, c2 string) stored as textfile;
+
+-- Trying to change the table to non-external is not
+alter table strict_managed_tables2_tab1 set tblproperties ('EXTERNAL'='FALSE');
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientnegative/strict_managed_tables3.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/strict_managed_tables3.q b/ql/src/test/queries/clientnegative/strict_managed_tables3.q
new file mode 100644
index 0000000..c0e28d2
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/strict_managed_tables3.q
@@ -0,0 +1,7 @@
+set metastore.strict.managed.tables=true;
+
+-- External non-transactional table ok
+create external table strict_managed_tables3_tab1 (c1 string, c2 string) stored as textfile;
+
+-- Trying to change the table to non-external is not
+alter table strict_managed_tables3_tab1 unset tblproperties ('EXTERNAL');
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientnegative/strict_managed_tables4.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/strict_managed_tables4.q b/ql/src/test/queries/clientnegative/strict_managed_tables4.q
new file mode 100644
index 0000000..34d477a
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/strict_managed_tables4.q
@@ -0,0 +1,16 @@
+
+set metastore.strict.managed.tables=true;
+
+dfs -rm -f ${system:test.tmp.dir}/smt6_schema.avsc;
+dfs -cp ${system:hive.root}data/files/grad.avsc ${system:test.tmp.dir}/smt6_schema.avsc;
+
+CREATE EXTERNAL TABLE strict_managed_tables6_tab1
+STORED AS AVRO
+TBLPROPERTIES ('avro.schema.url'='${system:test.tmp.dir}/smt6_schema.avsc');
+
+describe strict_managed_tables6_tab1;
+
+-- avro table with external schema url not allowed as managed table
+CREATE TABLE strict_managed_tables6_tab2
+STORED AS AVRO
+TBLPROPERTIES ('avro.schema.url'='${system:test.tmp.dir}/smt6_schema.avsc');
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientnegative/strict_managed_tables5.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/strict_managed_tables5.q b/ql/src/test/queries/clientnegative/strict_managed_tables5.q
new file mode 100644
index 0000000..c539166
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/strict_managed_tables5.q
@@ -0,0 +1,12 @@
+
+set metastore.strict.managed.tables=true;
+
+create external table strict_managed_tables5_tab1 (c1 string, c2 string)
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
+STORED BY 'org.apache.hadoop.hive.ql.metadata.DefaultStorageHandler';
+
+-- Managed non-native table should fail
+create table strict_managed_tables5_tab2 (c1 string, c2 string)
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
+STORED BY 'org.apache.hadoop.hive.ql.metadata.DefaultStorageHandler';
+
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientpositive/strict_managed_tables1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/strict_managed_tables1.q b/ql/src/test/queries/clientpositive/strict_managed_tables1.q
new file mode 100644
index 0000000..9057e04
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/strict_managed_tables1.q
@@ -0,0 +1,40 @@
+
+set hive.support.concurrency=true;
+set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+
+drop table if exists smt1_tab1;
+drop table if exists smt1_tab2;
+
+create table smt1_tab1 (c1 string, c2 string) stored as textfile;
+load data local inpath '../../data/files/kv1.txt' into table smt1_tab1;
+select * from smt1_tab1 where c1 = '0';
+
+create table smt1_tab2 (c1 string, c2 string) stored as textfile;
+insert into table smt1_tab2 select * from smt1_tab1;
+select * from smt1_tab2 where c1 = '0';
+
+-- After this point, managed non-transactional table not valid
+set metastore.strict.managed.tables=true;
+
+-- Setting to external table should allow table to be usable
+alter table smt1_tab1 set tblproperties('EXTERNAL'='TRUE');
+select * from smt1_tab1 where c1 = '0';
+
+alter table smt1_tab2 set tblproperties('EXTERNAL'='TRUE');
+select * from smt1_tab2 where c1 = '0';
+
+-- Setting to managed insert-only transactional table should allow table to be usable
+alter table smt1_tab1 set tblproperties('EXTERNAL'='FALSE', 'transactional'='true', 'transactional_properties'='insert_only');
+select * from smt1_tab1 where c1 = '0';
+
+alter table smt1_tab2 set tblproperties('EXTERNAL'='FALSE', 'transactional'='true', 'transactional_properties'='insert_only');
+select * from smt1_tab2 where c1 = '0';
+
+-- Temp table still works
+create temporary table smt1_tmp (c1 string, c2 string) stored as orc;
+insert into table smt1_tmp values ('123', '456');
+
+select * from smt1_tmp;
+
+select c1, count(*) from smt1_tmp group by c1;
+
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientpositive/strict_managed_tables2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/strict_managed_tables2.q b/ql/src/test/queries/clientpositive/strict_managed_tables2.q
new file mode 100644
index 0000000..72479f0
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/strict_managed_tables2.q
@@ -0,0 +1,46 @@
+
+set hive.support.concurrency=true;
+set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+
+set metastore.strict.managed.tables=true;
+set hive.default.fileformat=textfile;
+set hive.default.fileformat.managed=orc;
+
+set metastore.create.as.acid=true;
+set hive.create.as.insert.only=false;
+
+drop table if exists smt2_tab1;
+drop table if exists smt2_tab2;
+drop table if exists smt2_tab3;
+drop table if exists smt2_tab4;
+drop table if exists smt2_tab5;
+drop table if exists smt2_tab6;
+
+create external table smt2_tab1 (c1 string, c2 string);
+show create table smt2_tab1;
+
+create table smt2_tab2 (c1 string, c2 string);
+show create table smt2_tab2;
+
+create table smt2_tab3 (c1 string, c2 string) stored as orc;
+show create table smt2_tab3;
+
+set metastore.create.as.acid=false;
+set hive.create.as.insert.only=true;
+
+create external table smt2_tab4 (c1 string, c2 string) stored as orc;
+show create table smt2_tab4;
+
+create table smt2_tab5 (c1 string, c2 string);
+show create table smt2_tab5;
+
+create table smt2_tab6 (c1 string, c2 string) stored as textfile;
+show create table smt2_tab6;
+
+drop table if exists smt2_tab1;
+drop table if exists smt2_tab2;
+drop table if exists smt2_tab3;
+drop table if exists smt2_tab4;
+drop table if exists smt2_tab5;
+drop table if exists smt2_tab6;
+
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q b/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q
new file mode 100644
index 0000000..76b595b
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/strict_managed_tables_sysdb.q
@@ -0,0 +1,48 @@
+--! qt:dataset:alltypesorc,alltypesparquet,cbo_t1,cbo_t2,cbo_t3,lineitem,part,src,src1,src_cbo,src_json,src_sequencefile,src_thrift,srcbucket,srcbucket2,srcpart
+set hive.strict.checks.cartesian.product=false;
+
+set hive.compute.query.using.stats=false;
+
+set hive.support.concurrency=true;
+set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+
+set hive.cbo.enable=false;
+set metastore.strict.managed.tables=true;
+
+
+create external table smt_sysdb_src_buck (key int, value string) clustered by(value) into 2 buckets;
+
+create external table smt_sysdb_src_skew (key int) skewed by (key) on (1,2,3);
+
+CREATE TABLE smt_sysdb_scr_txn (key int, value string)
+ CLUSTERED BY (key) INTO 2 BUCKETS STORED AS ORC
+ TBLPROPERTIES (
+ "transactional"="true",
+ "compactor.mapreduce.map.memory.mb"="2048",
+ "compactorthreshold.hive.compactor.delta.num.threshold"="4",
+ "compactorthreshold.hive.compactor.delta.pct.threshold"="0.5");
+
+CREATE TEMPORARY TABLE smt_sysdb_src_tmp (key int, value string);
+
+CREATE EXTERNAL TABLE smt_sysdb_moretypes (a decimal(10,2), b tinyint, c smallint, d int, e bigint, f varchar(10), g char(3));
+
+CREATE VIEW smt_sysdb_view
+ AS select smt_sysdb_src_buck.key, smt_sysdb_scr_txn.value
+ from smt_sysdb_src_buck, smt_sysdb_scr_txn where smt_sysdb_src_buck.key = smt_sysdb_scr_txn.key;
+
+show grant user hive_test_user;
+
+source ../../metastore/scripts/upgrade/hive/hive-schema-3.1.0.hive.sql;
+
+use sys;
+
+select tbl_name, tbl_type from tbls where tbl_name like 'smt_sysdb%' order by tbl_name;
+
+drop table smt_sysdb_src_buck;
+drop table smt_sysdb_src_skew;
+drop table smt_sysdb_scr_txn;
+drop table smt_sysdb_src_tmp;
+drop table smt_sysdb_moretypes;
+
+DROP DATABASE IF EXISTS SYS CASCADE;
+DROP DATABASE IF EXISTS INFORMATION_SCHEMA CASCADE;
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientnegative/strict_managed_tables1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/strict_managed_tables1.q.out b/ql/src/test/results/clientnegative/strict_managed_tables1.q.out
new file mode 100644
index 0000000..a659644
--- /dev/null
+++ b/ql/src/test/results/clientnegative/strict_managed_tables1.q.out
@@ -0,0 +1,29 @@
+PREHOOK: query: create table strict_managed_tables1_tab1 (c1 string, c2 string) stored as orc tblproperties ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables1_tab1
+POSTHOOK: query: create table strict_managed_tables1_tab1 (c1 string, c2 string) stored as orc tblproperties ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@strict_managed_tables1_tab1
+PREHOOK: query: create table strict_managed_tables1_tab2 (c1 string, c2 string) stored as textfile tblproperties ('transactional'='true', 'transactional_properties'='insert_only')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables1_tab2
+POSTHOOK: query: create table strict_managed_tables1_tab2 (c1 string, c2 string) stored as textfile tblproperties ('transactional'='true', 'transactional_properties'='insert_only')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@strict_managed_tables1_tab2
+PREHOOK: query: create external table strict_managed_tables1_tab3 (c1 string, c2 string) stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables1_tab3
+POSTHOOK: query: create external table strict_managed_tables1_tab3 (c1 string, c2 string) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@strict_managed_tables1_tab3
+PREHOOK: query: create table strict_managed_tables1_tab4 (c1 string, c2 string) stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables1_tab4
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Table default.strict_managed_tables1_tab4 failed strict managed table checks due to the following reason: Table is marked as a managed table but is not transactional.)
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientnegative/strict_managed_tables2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/strict_managed_tables2.q.out b/ql/src/test/results/clientnegative/strict_managed_tables2.q.out
new file mode 100644
index 0000000..85753a4
--- /dev/null
+++ b/ql/src/test/results/clientnegative/strict_managed_tables2.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create external table strict_managed_tables2_tab1 (c1 string, c2 string) stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables2_tab1
+POSTHOOK: query: create external table strict_managed_tables2_tab1 (c1 string, c2 string) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@strict_managed_tables2_tab1
+PREHOOK: query: alter table strict_managed_tables2_tab1 set tblproperties ('EXTERNAL'='FALSE')
+PREHOOK: type: ALTERTABLE_PROPERTIES
+PREHOOK: Input: default@strict_managed_tables2_tab1
+PREHOOK: Output: default@strict_managed_tables2_tab1
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. Table default.strict_managed_tables2_tab1 failed strict managed table checks due to the following reason: Table is marked as a managed table but is not transactional.
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientnegative/strict_managed_tables3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/strict_managed_tables3.q.out b/ql/src/test/results/clientnegative/strict_managed_tables3.q.out
new file mode 100644
index 0000000..7de8a80
--- /dev/null
+++ b/ql/src/test/results/clientnegative/strict_managed_tables3.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create external table strict_managed_tables3_tab1 (c1 string, c2 string) stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables3_tab1
+POSTHOOK: query: create external table strict_managed_tables3_tab1 (c1 string, c2 string) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@strict_managed_tables3_tab1
+PREHOOK: query: alter table strict_managed_tables3_tab1 unset tblproperties ('EXTERNAL')
+PREHOOK: type: ALTERTABLE_PROPERTIES
+PREHOOK: Input: default@strict_managed_tables3_tab1
+PREHOOK: Output: default@strict_managed_tables3_tab1
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. Table default.strict_managed_tables3_tab1 failed strict managed table checks due to the following reason: Table is marked as a managed table but is not transactional.
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientnegative/strict_managed_tables4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/strict_managed_tables4.q.out b/ql/src/test/results/clientnegative/strict_managed_tables4.q.out
new file mode 100644
index 0000000..0c7576f
--- /dev/null
+++ b/ql/src/test/results/clientnegative/strict_managed_tables4.q.out
@@ -0,0 +1,31 @@
+PREHOOK: query: CREATE EXTERNAL TABLE strict_managed_tables6_tab1
+STORED AS AVRO
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables6_tab1
+POSTHOOK: query: CREATE EXTERNAL TABLE strict_managed_tables6_tab1
+STORED AS AVRO
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@strict_managed_tables6_tab1
+PREHOOK: query: describe strict_managed_tables6_tab1
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@strict_managed_tables6_tab1
+POSTHOOK: query: describe strict_managed_tables6_tab1
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@strict_managed_tables6_tab1
+col1 string
+col2 string
+col3 double
+col4 string
+col5 string
+col6 int
+PREHOOK: query: CREATE TABLE strict_managed_tables6_tab2
+STORED AS AVRO
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables6_tab2
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Table default.strict_managed_tables6_tab2 failed strict managed table checks due to the following reason: Table is marked as a managed table but is not transactional.)
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientnegative/strict_managed_tables5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/strict_managed_tables5.q.out b/ql/src/test/results/clientnegative/strict_managed_tables5.q.out
new file mode 100644
index 0000000..0e29fbd
--- /dev/null
+++ b/ql/src/test/results/clientnegative/strict_managed_tables5.q.out
@@ -0,0 +1,19 @@
+PREHOOK: query: create external table strict_managed_tables5_tab1 (c1 string, c2 string)
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
+STORED BY 'org.apache.hadoop.hive.ql.metadata.DefaultStorageHandler'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables5_tab1
+POSTHOOK: query: create external table strict_managed_tables5_tab1 (c1 string, c2 string)
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
+STORED BY 'org.apache.hadoop.hive.ql.metadata.DefaultStorageHandler'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@strict_managed_tables5_tab1
+PREHOOK: query: create table strict_managed_tables5_tab2 (c1 string, c2 string)
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
+STORED BY 'org.apache.hadoop.hive.ql.metadata.DefaultStorageHandler'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@strict_managed_tables5_tab2
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Table default.strict_managed_tables5_tab2 failed strict managed table checks due to the following reason: Table is marked as a managed table but is not transactional.)
http://git-wip-us.apache.org/repos/asf/hive/blob/09118648/ql/src/test/results/clientpositive/llap/resourceplan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
index bd55592..143b710 100644
--- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out
+++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
@@ -82,7 +82,7 @@ PREHOOK: Input: database:sys
POSTHOOK: query: USE SYS
POSTHOOK: type: SWITCHDATABASE
POSTHOOK: Input: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `BUCKETING_COLS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `BUCKETING_COLS` (
`SD_ID` bigint,
`BUCKET_COL_NAME` string,
`INTEGER_IDX` int,
@@ -102,7 +102,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@BUCKETING_COLS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `BUCKETING_COLS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `BUCKETING_COLS` (
`SD_ID` bigint,
`BUCKET_COL_NAME` string,
`INTEGER_IDX` int,
@@ -122,7 +122,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@BUCKETING_COLS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `CDS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `CDS` (
`CD_ID` bigint,
CONSTRAINT `SYS_PK_CDS` PRIMARY KEY (`CD_ID`) DISABLE
)
@@ -138,7 +138,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@CDS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `CDS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `CDS` (
`CD_ID` bigint,
CONSTRAINT `SYS_PK_CDS` PRIMARY KEY (`CD_ID`) DISABLE
)
@@ -154,7 +154,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@CDS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `COLUMNS_V2` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `COLUMNS_V2` (
`CD_ID` bigint,
`COMMENT` string,
`COLUMN_NAME` string,
@@ -178,7 +178,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@COLUMNS_V2
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `COLUMNS_V2` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `COLUMNS_V2` (
`CD_ID` bigint,
`COMMENT` string,
`COLUMN_NAME` string,
@@ -202,7 +202,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@COLUMNS_V2
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `DATABASE_PARAMS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DATABASE_PARAMS` (
`DB_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -222,7 +222,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@DATABASE_PARAMS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `DATABASE_PARAMS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DATABASE_PARAMS` (
`DB_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -242,7 +242,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@DATABASE_PARAMS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `DBS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DBS` (
`DB_ID` bigint,
`DB_LOCATION_URI` string,
`NAME` string,
@@ -266,7 +266,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@DBS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `DBS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DBS` (
`DB_ID` bigint,
`DB_LOCATION_URI` string,
`NAME` string,
@@ -290,7 +290,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@DBS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `DB_PRIVS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_PRIVS` (
`DB_GRANT_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -324,7 +324,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@DB_PRIVS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `DB_PRIVS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_PRIVS` (
`DB_GRANT_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -358,7 +358,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@DB_PRIVS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
`USER_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` string,
@@ -390,7 +390,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@GLOBAL_PRIVS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
`USER_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` string,
@@ -422,7 +422,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@GLOBAL_PRIVS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITIONS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITIONS` (
`PART_ID` bigint,
`CREATE_TIME` int,
`LAST_ACCESS_TIME` int,
@@ -448,7 +448,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@PARTITIONS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITIONS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITIONS` (
`PART_ID` bigint,
`CREATE_TIME` int,
`LAST_ACCESS_TIME` int,
@@ -474,7 +474,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@PARTITIONS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITION_KEYS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEYS` (
`TBL_ID` bigint,
`PKEY_COMMENT` string,
`PKEY_NAME` string,
@@ -498,7 +498,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@PARTITION_KEYS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITION_KEYS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEYS` (
`TBL_ID` bigint,
`PKEY_COMMENT` string,
`PKEY_NAME` string,
@@ -522,7 +522,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@PARTITION_KEYS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
`PART_ID` bigint,
`PART_KEY_VAL` string,
`INTEGER_IDX` int,
@@ -542,7 +542,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@PARTITION_KEY_VALS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_KEY_VALS` (
`PART_ID` bigint,
`PART_KEY_VAL` string,
`INTEGER_IDX` int,
@@ -562,7 +562,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@PARTITION_KEY_VALS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITION_PARAMS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_PARAMS` (
`PART_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -582,7 +582,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@PARTITION_PARAMS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITION_PARAMS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PARTITION_PARAMS` (
`PART_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -602,7 +602,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@PARTITION_PARAMS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_PRIVS` (
`PART_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -638,7 +638,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@PART_COL_PRIVS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_PRIVS` (
`PART_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -674,7 +674,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@PART_COL_PRIVS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `PART_PRIVS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_PRIVS` (
`PART_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -708,7 +708,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@PART_PRIVS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PART_PRIVS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_PRIVS` (
`PART_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -742,7 +742,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@PART_PRIVS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `ROLES` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLES` (
`ROLE_ID` bigint,
`CREATE_TIME` int,
`OWNER_NAME` string,
@@ -764,7 +764,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@ROLES
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `ROLES` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLES` (
`ROLE_ID` bigint,
`CREATE_TIME` int,
`OWNER_NAME` string,
@@ -786,7 +786,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@ROLES
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `ROLE_MAP` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLE_MAP` (
`ROLE_GRANT_ID` bigint,
`ADD_TIME` int,
`GRANT_OPTION` int,
@@ -816,7 +816,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@ROLE_MAP
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `ROLE_MAP` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `ROLE_MAP` (
`ROLE_GRANT_ID` bigint,
`ADD_TIME` int,
`GRANT_OPTION` int,
@@ -846,7 +846,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@ROLE_MAP
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SDS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SDS` (
`SD_ID` bigint,
`CD_ID` bigint,
`INPUT_FORMAT` string,
@@ -878,7 +878,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SDS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SDS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SDS` (
`SD_ID` bigint,
`CD_ID` bigint,
`INPUT_FORMAT` string,
@@ -910,7 +910,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SDS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SD_PARAMS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SD_PARAMS` (
`SD_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -930,7 +930,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SD_PARAMS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SD_PARAMS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SD_PARAMS` (
`SD_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -950,7 +950,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SD_PARAMS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
`SEQUENCE_NAME` string,
`NEXT_VAL` bigint,
CONSTRAINT `SYS_PK_SEQUENCE_TABLE` PRIMARY KEY (`SEQUENCE_NAME`) DISABLE
@@ -968,7 +968,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SEQUENCE_TABLE
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SEQUENCE_TABLE` (
`SEQUENCE_NAME` string,
`NEXT_VAL` bigint,
CONSTRAINT `SYS_PK_SEQUENCE_TABLE` PRIMARY KEY (`SEQUENCE_NAME`) DISABLE
@@ -986,7 +986,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SEQUENCE_TABLE
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SERDES` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDES` (
`SERDE_ID` bigint,
`NAME` string,
`SLIB` string,
@@ -1006,7 +1006,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SERDES
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SERDES` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDES` (
`SERDE_ID` bigint,
`NAME` string,
`SLIB` string,
@@ -1026,7 +1026,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SERDES
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SERDE_PARAMS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDE_PARAMS` (
`SERDE_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -1046,7 +1046,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SERDE_PARAMS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SERDE_PARAMS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SERDE_PARAMS` (
`SERDE_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -1066,7 +1066,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SERDE_PARAMS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
`SD_ID` bigint,
`SKEWED_COL_NAME` string,
`INTEGER_IDX` int,
@@ -1086,7 +1086,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SKEWED_COL_NAMES
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_NAMES` (
`SD_ID` bigint,
`SKEWED_COL_NAME` string,
`INTEGER_IDX` int,
@@ -1106,7 +1106,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SKEWED_COL_NAMES
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
`SD_ID` bigint,
`STRING_LIST_ID_KID` bigint,
`LOCATION` string,
@@ -1126,7 +1126,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SKEWED_COL_VALUE_LOC_MAP
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_COL_VALUE_LOC_MAP` (
`SD_ID` bigint,
`STRING_LIST_ID_KID` bigint,
`LOCATION` string,
@@ -1146,7 +1146,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SKEWED_COL_VALUE_LOC_MAP
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
`STRING_LIST_ID` bigint,
CONSTRAINT `SYS_PK_SKEWED_STRING_LIST` PRIMARY KEY (`STRING_LIST_ID`) DISABLE
)
@@ -1162,7 +1162,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SKEWED_STRING_LIST
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST` (
`STRING_LIST_ID` bigint,
CONSTRAINT `SYS_PK_SKEWED_STRING_LIST` PRIMARY KEY (`STRING_LIST_ID`) DISABLE
)
@@ -1178,7 +1178,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SKEWED_STRING_LIST
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
`STRING_LIST_ID` bigint,
`STRING_LIST_VALUE` string,
`INTEGER_IDX` int,
@@ -1198,7 +1198,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SKEWED_STRING_LIST_VALUES
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_STRING_LIST_VALUES` (
`STRING_LIST_ID` bigint,
`STRING_LIST_VALUE` string,
`INTEGER_IDX` int,
@@ -1218,7 +1218,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SKEWED_STRING_LIST_VALUES
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_VALUES` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_VALUES` (
`SD_ID_OID` bigint,
`STRING_LIST_ID_EID` bigint,
`INTEGER_IDX` int,
@@ -1238,7 +1238,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SKEWED_VALUES
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SKEWED_VALUES` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SKEWED_VALUES` (
`SD_ID_OID` bigint,
`STRING_LIST_ID_EID` bigint,
`INTEGER_IDX` int,
@@ -1258,7 +1258,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SKEWED_VALUES
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `SORT_COLS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SORT_COLS` (
`SD_ID` bigint,
`COLUMN_NAME` string,
`ORDER` int,
@@ -1280,7 +1280,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@SORT_COLS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `SORT_COLS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `SORT_COLS` (
`SD_ID` bigint,
`COLUMN_NAME` string,
`ORDER` int,
@@ -1302,7 +1302,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@SORT_COLS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `TABLE_PARAMS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TABLE_PARAMS` (
`TBL_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -1322,7 +1322,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@TABLE_PARAMS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `TABLE_PARAMS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TABLE_PARAMS` (
`TBL_ID` bigint,
`PARAM_KEY` string,
`PARAM_VALUE` string,
@@ -1342,7 +1342,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@TABLE_PARAMS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `TBLS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBLS` (
`TBL_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -1379,7 +1379,7 @@ FROM \"TBLS\""
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@TBLS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `TBLS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBLS` (
`TBL_ID` bigint,
`CREATE_TIME` int,
`DB_ID` bigint,
@@ -1416,7 +1416,7 @@ FROM \"TBLS\""
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@TBLS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
`MV_CREATION_METADATA_ID` bigint,
`DB_NAME` string,
`TBL_NAME` string,
@@ -1437,7 +1437,7 @@ FROM \"MV_CREATION_METADATA\""
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@MV_CREATION_METADATA
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_CREATION_METADATA` (
`MV_CREATION_METADATA_ID` bigint,
`DB_NAME` string,
`TBL_NAME` string,
@@ -1458,7 +1458,7 @@ FROM \"MV_CREATION_METADATA\""
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@MV_CREATION_METADATA
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `MV_TABLES_USED` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_TABLES_USED` (
`MV_CREATION_METADATA_ID` bigint,
`TBL_ID` bigint
)
@@ -1474,7 +1474,7 @@ FROM \"MV_TABLES_USED\""
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@MV_TABLES_USED
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `MV_TABLES_USED` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `MV_TABLES_USED` (
`MV_CREATION_METADATA_ID` bigint,
`TBL_ID` bigint
)
@@ -1490,7 +1490,7 @@ FROM \"MV_TABLES_USED\""
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@MV_TABLES_USED
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
`TBL_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -1526,7 +1526,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@TBL_COL_PRIVS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
`TBL_COLUMN_GRANT_ID` bigint,
`COLUMN_NAME` string,
`CREATE_TIME` int,
@@ -1562,7 +1562,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@TBL_COL_PRIVS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_PRIVS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_PRIVS` (
`TBL_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -1596,7 +1596,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@TBL_PRIVS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_PRIVS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TBL_PRIVS` (
`TBL_GRANT_ID` bigint,
`CREATE_TIME` int,
`GRANT_OPTION` int,
@@ -1630,7 +1630,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@TBL_PRIVS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `TAB_COL_STATS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TAB_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -1682,7 +1682,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@TAB_COL_STATS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `TAB_COL_STATS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `TAB_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -1734,7 +1734,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@TAB_COL_STATS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `PART_COL_STATS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -1788,7 +1788,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@PART_COL_STATS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PART_COL_STATS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `PART_COL_STATS` (
`CS_ID` bigint,
`DB_NAME` string,
`TABLE_NAME` string,
@@ -1842,7 +1842,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@PART_COL_STATS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `VERSION` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -1851,7 +1851,7 @@ PREHOOK: query: CREATE TABLE IF NOT EXISTS `VERSION` (
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@VERSION
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `VERSION` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -1871,7 +1871,7 @@ POSTHOOK: Output: sys@version
POSTHOOK: Lineage: version.schema_version SCRIPT []
POSTHOOK: Lineage: version.ver_id SCRIPT []
POSTHOOK: Lineage: version.version_comment SCRIPT []
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `DB_VERSION` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -1891,7 +1891,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@DB_VERSION
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `DB_VERSION` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `DB_VERSION` (
`VER_ID` BIGINT,
`SCHEMA_VERSION` string,
`VERSION_COMMENT` string,
@@ -1911,7 +1911,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@DB_VERSION
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `FUNCS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `FUNCS` (
`FUNC_ID` bigint,
`CLASS_NAME` string,
`CREATE_TIME` int,
@@ -1941,7 +1941,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@FUNCS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `FUNCS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `FUNCS` (
`FUNC_ID` bigint,
`CLASS_NAME` string,
`CREATE_TIME` int,
@@ -1971,7 +1971,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@FUNCS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
(
`CHILD_CD_ID` bigint,
`CHILD_INTEGER_IDX` int,
@@ -2012,7 +2012,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@KEY_CONSTRAINTS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `KEY_CONSTRAINTS`
(
`CHILD_CD_ID` bigint,
`CHILD_INTEGER_IDX` int,
@@ -2123,7 +2123,7 @@ POSTHOOK: Lineage: PARTITION_STATS_VIEW.part_id SIMPLE [(partition_params)partit
POSTHOOK: Lineage: PARTITION_STATS_VIEW.raw_data_size EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
POSTHOOK: Lineage: PARTITION_STATS_VIEW.total_size EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
POSTHOOK: Lineage: PARTITION_STATS_VIEW.transient_last_ddl_time EXPRESSION [(partition_params)partition_params.FieldSchema(name:param_key, type:string, comment:from deserializer), (partition_params)partition_params.FieldSchema(name:param_value, type:string, comment:from deserializer), ]
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
`NAME` string,
`STATUS` string,
`QUERY_PARALLELISM` int,
@@ -2144,7 +2144,7 @@ FROM
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@WM_RESOURCEPLANS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_RESOURCEPLANS` (
`NAME` string,
`STATUS` string,
`QUERY_PARALLELISM` int,
@@ -2165,7 +2165,7 @@ FROM
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@WM_RESOURCEPLANS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `WM_TRIGGERS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_TRIGGERS` (
`RP_NAME` string,
`NAME` string,
`TRIGGER_EXPRESSION` string,
@@ -2190,7 +2190,7 @@ ON
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@WM_TRIGGERS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `WM_TRIGGERS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_TRIGGERS` (
`RP_NAME` string,
`NAME` string,
`TRIGGER_EXPRESSION` string,
@@ -2215,7 +2215,7 @@ ON
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@WM_TRIGGERS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `WM_POOLS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS` (
`RP_NAME` string,
`PATH` string,
`ALLOC_FRACTION` double,
@@ -2242,7 +2242,7 @@ ON
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@WM_POOLS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `WM_POOLS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS` (
`RP_NAME` string,
`PATH` string,
`ALLOC_FRACTION` double,
@@ -2269,7 +2269,7 @@ ON
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@WM_POOLS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
`RP_NAME` string,
`POOL_PATH` string,
`TRIGGER_NAME` string
@@ -2299,7 +2299,7 @@ WHERE CAST(\"WM_TRIGGER\".\"IS_IN_UNMANAGED\" AS CHAR) IN ('1', 't')
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@WM_POOLS_TO_TRIGGERS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_POOLS_TO_TRIGGERS` (
`RP_NAME` string,
`POOL_PATH` string,
`TRIGGER_NAME` string
@@ -2329,7 +2329,7 @@ WHERE CAST(\"WM_TRIGGER\".\"IS_IN_UNMANAGED\" AS CHAR) IN ('1', 't')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: SYS@WM_POOLS_TO_TRIGGERS
POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `WM_MAPPINGS` (
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_MAPPINGS` (
`RP_NAME` string,
`ENTITY_TYPE` string,
`ENTITY_NAME` string,
@@ -2354,7 +2354,7 @@ LEFT OUTER JOIN \"WM_POOL\" ON \"WM_POOL\".\"POOL_ID\" = \"WM_MAPPING\".\"POOL_I
PREHOOK: type: CREATETABLE
PREHOOK: Output: SYS@WM_MAPPINGS
PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `WM_MAPPINGS` (
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS `WM_MAPPINGS` (
`RP_NAME` string,
`ENTITY_TYPE` string,
`ENTITY_NAME` string,