You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2017/11/15 16:50:26 UTC

[1/2] hive git commit: HIVE-14495: Add SHOW MATERIALIZED VIEWS statement (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

Repository: hive
Updated Branches:
  refs/heads/master afa9ffee8 -> edde2d916


HIVE-14495: Add SHOW MATERIALIZED VIEWS statement (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/edde2d91
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/edde2d91
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/edde2d91

Branch: refs/heads/master
Commit: edde2d916497de9270884dcf663328ad99a918d8
Parents: e3168cf
Author: Jesus Camacho Rodriguez <jc...@apache.org>
Authored: Mon Nov 13 11:14:40 2017 -0800
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Wed Nov 15 08:50:02 2017 -0800

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/ql/exec/DDLTask.java |   2 +-
 .../hive/ql/parse/DDLSemanticAnalyzer.java      |  45 +++
 .../apache/hadoop/hive/ql/parse/HiveParser.g    |   2 +
 .../hive/ql/parse/SemanticAnalyzerFactory.java  |   2 +
 .../hadoop/hive/ql/plan/HiveOperation.java      |   1 +
 .../authorization/plugin/HiveOperationType.java |   1 +
 .../plugin/sqlstd/Operation2Privilege.java      |   3 +-
 .../clientpositive/show_materialized_views.q    |  63 ++++
 .../show_materialized_views.q.out               | 328 +++++++++++++++++++
 9 files changed, 445 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/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 0a34633..54491f4 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
@@ -2774,7 +2774,7 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
     String dbName      = showDesc.getDbName();
     String pattern     = showDesc.getPattern(); // if null, all tables/views are returned
     String resultsFile = showDesc.getResFile();
-    TableType type     = showDesc.getType(); // will be null for tables, VIRTUAL_VIEW for views
+    TableType type     = showDesc.getType(); // null for tables, VIRTUAL_VIEW for views, MATERIALIZED_VIEW for MVs
 
     if (!db.databaseExists(dbName)) {
       throw new HiveException(ErrorMsg.DATABASE_NOT_EXISTS, dbName);

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index 579f2df..7961b2b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -423,6 +423,10 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
       ctx.setResFile(ctx.getLocalTmpPath());
       analyzeShowViews(ast);
       break;
+    case HiveParser.TOK_SHOWMATERIALIZEDVIEWS:
+      ctx.setResFile(ctx.getLocalTmpPath());
+      analyzeShowMaterializedViews(ast);
+      break;
     case HiveParser.TOK_DESCFUNCTION:
       ctx.setResFile(ctx.getLocalTmpPath());
       analyzeDescFunction(ast);
@@ -2755,6 +2759,47 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
     setFetchTask(createFetchTask(showViewsDesc.getSchema()));
   }
 
+  private void analyzeShowMaterializedViews(ASTNode ast) throws SemanticException {
+    ShowTablesDesc showMaterializedViewsDesc;
+    String dbName = SessionState.get().getCurrentDatabase();
+    String materializedViewNames = null;
+
+    if (ast.getChildCount() > 3) {
+      throw new SemanticException(ErrorMsg.GENERIC_ERROR.getMsg());
+    }
+
+    switch (ast.getChildCount()) {
+    case 1: // Uses a pattern
+      materializedViewNames = unescapeSQLString(ast.getChild(0).getText());
+      showMaterializedViewsDesc = new ShowTablesDesc(
+          ctx.getResFile(), dbName, materializedViewNames, TableType.MATERIALIZED_VIEW);
+      break;
+    case 2: // Specifies a DB
+      assert (ast.getChild(0).getType() == HiveParser.TOK_FROM);
+      dbName = unescapeIdentifier(ast.getChild(1).getText());
+      validateDatabase(dbName);
+      showMaterializedViewsDesc = new ShowTablesDesc(ctx.getResFile(), dbName);
+      showMaterializedViewsDesc.setType(TableType.MATERIALIZED_VIEW);
+      break;
+    case 3: // Uses a pattern and specifies a DB
+      assert (ast.getChild(0).getType() == HiveParser.TOK_FROM);
+      dbName = unescapeIdentifier(ast.getChild(1).getText());
+      materializedViewNames = unescapeSQLString(ast.getChild(2).getText());
+      validateDatabase(dbName);
+      showMaterializedViewsDesc = new ShowTablesDesc(
+          ctx.getResFile(), dbName, materializedViewNames, TableType.MATERIALIZED_VIEW);
+      break;
+    default: // No pattern or DB
+      showMaterializedViewsDesc = new ShowTablesDesc(ctx.getResFile(), dbName);
+      showMaterializedViewsDesc.setType(TableType.MATERIALIZED_VIEW);
+      break;
+    }
+
+    rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(),
+        showMaterializedViewsDesc), conf));
+    setFetchTask(createFetchTask(showMaterializedViewsDesc.getSchema()));
+  }
+
   /**
    * Add the task according to the parsed command tree. This is used for the CLI
    * command "LOCK TABLE ..;".

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
index 0bbd9be..f5c162d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
@@ -376,6 +376,7 @@ TOK_COL_NAME;
 TOK_URI_TYPE;
 TOK_SERVER_TYPE;
 TOK_SHOWVIEWS;
+TOK_SHOWMATERIALIZEDVIEWS;
 TOK_START_TRANSACTION;
 TOK_ISOLATION_LEVEL;
 TOK_ISOLATION_SNAPSHOT;
@@ -1723,6 +1724,7 @@ showStatement
     : KW_SHOW (KW_DATABASES|KW_SCHEMAS) (KW_LIKE showStmtIdentifier)? -> ^(TOK_SHOWDATABASES showStmtIdentifier?)
     | KW_SHOW KW_TABLES ((KW_FROM|KW_IN) db_name=identifier)? (KW_LIKE showStmtIdentifier|showStmtIdentifier)?  -> ^(TOK_SHOWTABLES (TOK_FROM $db_name)? showStmtIdentifier?)
     | KW_SHOW KW_VIEWS ((KW_FROM|KW_IN) db_name=identifier)? (KW_LIKE showStmtIdentifier|showStmtIdentifier)?  -> ^(TOK_SHOWVIEWS (TOK_FROM $db_name)? showStmtIdentifier?)
+    | KW_SHOW KW_MATERIALIZED KW_VIEWS ((KW_FROM|KW_IN) db_name=identifier)? (KW_LIKE showStmtIdentifier|showStmtIdentifier)?  -> ^(TOK_SHOWMATERIALIZEDVIEWS (TOK_FROM $db_name)? showStmtIdentifier?)
     | KW_SHOW KW_COLUMNS (KW_FROM|KW_IN) tableName ((KW_FROM|KW_IN) db_name=identifier)?
     -> ^(TOK_SHOWCOLUMNS tableName $db_name?)
     | KW_SHOW KW_FUNCTIONS (KW_LIKE showFunctionIdentifier|showFunctionIdentifier)?  -> ^(TOK_SHOWFUNCTIONS KW_LIKE? showFunctionIdentifier?)

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java
index e704c73..64d1675 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java
@@ -80,6 +80,7 @@ public final class SemanticAnalyzerFactory {
     commandType.put(HiveParser.TOK_SHOWDBLOCKS, HiveOperation.SHOWLOCKS);
     commandType.put(HiveParser.TOK_SHOWCONF, HiveOperation.SHOWCONF);
     commandType.put(HiveParser.TOK_SHOWVIEWS, HiveOperation.SHOWVIEWS);
+    commandType.put(HiveParser.TOK_SHOWMATERIALIZEDVIEWS, HiveOperation.SHOWMATERIALIZEDVIEWS);
     commandType.put(HiveParser.TOK_CREATEFUNCTION, HiveOperation.CREATEFUNCTION);
     commandType.put(HiveParser.TOK_DROPFUNCTION, HiveOperation.DROPFUNCTION);
     commandType.put(HiveParser.TOK_RELOADFUNCTION, HiveOperation.RELOADFUNCTION);
@@ -292,6 +293,7 @@ public final class SemanticAnalyzerFactory {
       case HiveParser.TOK_ABORT_TRANSACTIONS:
       case HiveParser.TOK_SHOWCONF:
       case HiveParser.TOK_SHOWVIEWS:
+      case HiveParser.TOK_SHOWMATERIALIZEDVIEWS:
       case HiveParser.TOK_CREATEINDEX:
       case HiveParser.TOK_DROPINDEX:
       case HiveParser.TOK_ALTERTABLE_CLUSTER_SORT:

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java
index 1ce1c76..61c5407 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/HiveOperation.java
@@ -76,6 +76,7 @@ public enum HiveOperation {
   SHOWLOCKS("SHOWLOCKS", null, null, true, false),
   SHOWCONF("SHOWCONF", null, null),
   SHOWVIEWS("SHOWVIEWS", null, null, true, false),
+  SHOWMATERIALIZEDVIEWS("SHOWMATERIALIZEDVIEWS", null, null, true, false),
   CREATEFUNCTION("CREATEFUNCTION", null, null),
   DROPFUNCTION("DROPFUNCTION", null, null),
   RELOADFUNCTION("RELOADFUNCTION", null, null),

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveOperationType.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveOperationType.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveOperationType.java
index ba1d01f..4be42c1 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveOperationType.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveOperationType.java
@@ -80,6 +80,7 @@ public enum HiveOperationType {
   SHOWLOCKS,
   SHOWCONF,
   SHOWVIEWS,
+  SHOWMATERIALIZEDVIEWS,
   CREATEFUNCTION,
   DROPFUNCTION,
   RELOADFUNCTION,

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java
index dc20d16..080880b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java
@@ -391,7 +391,8 @@ public class Operation2Privilege {
 (null, null));
     op2Priv.put(HiveOperationType.SHOWVIEWS, PrivRequirement.newIOPrivRequirement
 (null, null));
-
+    op2Priv.put(HiveOperationType.SHOWMATERIALIZEDVIEWS, PrivRequirement.newIOPrivRequirement
+(null, null));
     op2Priv.put(HiveOperationType.LOCKTABLE, PrivRequirement.newIOPrivRequirement
 (null, null));
     op2Priv.put(HiveOperationType.UNLOCKTABLE, PrivRequirement.newIOPrivRequirement

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/test/queries/clientpositive/show_materialized_views.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/show_materialized_views.q b/ql/src/test/queries/clientpositive/show_materialized_views.q
new file mode 100644
index 0000000..bcd894a
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/show_materialized_views.q
@@ -0,0 +1,63 @@
+CREATE DATABASE test1;
+CREATE DATABASE test2;
+
+USE test1;
+CREATE TABLE shtb_test1(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE;
+CREATE MATERIALIZED VIEW shtb_test1_view1 AS
+SELECT * FROM shtb_test1 where KEY > 1000 and KEY < 2000;
+CREATE MATERIALIZED VIEW shtb_test1_view2 ENABLE REWRITE AS
+SELECT * FROM shtb_test1 where KEY > 100 and KEY < 200;
+CREATE MATERIALIZED VIEW shtb_full_view2 ENABLE REWRITE AS
+SELECT * FROM shtb_test1;
+
+USE test2;
+CREATE TABLE shtb_test1(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE;
+CREATE TABLE shtb_test2(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE;
+CREATE MATERIALIZED VIEW shtb_test1_view1 AS
+SELECT * FROM shtb_test1 where KEY > 1000 and KEY < 2000;
+CREATE MATERIALIZED VIEW shtb_test2_view2 AS
+SELECT * FROM shtb_test2 where KEY > 100 and KEY < 200;
+
+USE test1;
+SHOW MATERIALIZED VIEWS;
+SHOW MATERIALIZED VIEWS 'test_*';
+SHOW MATERIALIZED VIEWS '*view2';
+SHOW MATERIALIZED VIEWS LIKE 'test_view1|test_view2';
+
+USE test2;
+SHOW MATERIALIZED VIEWS 'shtb_*';
+
+-- SHOW MATERIALIZED VIEWS basic syntax tests
+USE default;
+SHOW MATERIALIZED VIEWS FROM test1;
+SHOW MATERIALIZED VIEWS FROM test2;
+SHOW MATERIALIZED VIEWS IN test1;
+SHOW MATERIALIZED VIEWS IN default;
+SHOW MATERIALIZED VIEWS IN test1 "shtb_test_*";
+SHOW MATERIALIZED VIEWS IN test2 LIKE "nomatch";
+
+-- SHOW MATERIALIZED VIEWS from a database with a name that requires escaping
+CREATE DATABASE `database`;
+USE `database`;
+CREATE TABLE foo(a INT);
+CREATE VIEW fooview AS
+SELECT * FROM foo;
+USE default;
+SHOW MATERIALIZED VIEWS FROM `database` LIKE "fooview";
+
+DROP MATERIALIZED VIEW fooview;
+DROP TABLE foo;
+
+USE test1;
+DROP MATERIALIZED VIEW shtb_test1_view1;
+DROP MATERIALIZED VIEW shtb_test1_view2;
+DROP MATERIALIZED VIEW shtb_full_view2;
+DROP TABLE shtb_test1;
+DROP DATABASE test1;
+
+USE test2;
+DROP MATERIALIZED VIEW shtb_test1_view1;
+DROP MATERIALIZED VIEW shtb_test2_view2;
+DROP TABLE shtb_test1;
+DROP TABLE shtb_test2;
+DROP DATABASE test2;

http://git-wip-us.apache.org/repos/asf/hive/blob/edde2d91/ql/src/test/results/clientpositive/show_materialized_views.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/show_materialized_views.q.out b/ql/src/test/results/clientpositive/show_materialized_views.q.out
new file mode 100644
index 0000000..39f5807
--- /dev/null
+++ b/ql/src/test/results/clientpositive/show_materialized_views.q.out
@@ -0,0 +1,328 @@
+PREHOOK: query: CREATE DATABASE test1
+PREHOOK: type: CREATEDATABASE
+PREHOOK: Output: database:test1
+POSTHOOK: query: CREATE DATABASE test1
+POSTHOOK: type: CREATEDATABASE
+POSTHOOK: Output: database:test1
+PREHOOK: query: CREATE DATABASE test2
+PREHOOK: type: CREATEDATABASE
+PREHOOK: Output: database:test2
+POSTHOOK: query: CREATE DATABASE test2
+POSTHOOK: type: CREATEDATABASE
+POSTHOOK: Output: database:test2
+PREHOOK: query: USE test1
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:test1
+POSTHOOK: query: USE test1
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:test1
+PREHOOK: query: CREATE TABLE shtb_test1(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:test1
+PREHOOK: Output: test1@shtb_test1
+POSTHOOK: query: CREATE TABLE shtb_test1(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:test1
+POSTHOOK: Output: test1@shtb_test1
+PREHOOK: query: CREATE MATERIALIZED VIEW shtb_test1_view1 AS
+SELECT * FROM shtb_test1 where KEY > 1000 and KEY < 2000
+PREHOOK: type: CREATE_MATERIALIZED_VIEW
+PREHOOK: Input: test1@shtb_test1
+PREHOOK: Output: database:test1
+PREHOOK: Output: test1@shtb_test1_view1
+POSTHOOK: query: CREATE MATERIALIZED VIEW shtb_test1_view1 AS
+SELECT * FROM shtb_test1 where KEY > 1000 and KEY < 2000
+POSTHOOK: type: CREATE_MATERIALIZED_VIEW
+POSTHOOK: Input: test1@shtb_test1
+POSTHOOK: Output: database:test1
+POSTHOOK: Output: test1@shtb_test1_view1
+PREHOOK: query: CREATE MATERIALIZED VIEW shtb_test1_view2 ENABLE REWRITE AS
+SELECT * FROM shtb_test1 where KEY > 100 and KEY < 200
+PREHOOK: type: CREATE_MATERIALIZED_VIEW
+PREHOOK: Input: test1@shtb_test1
+PREHOOK: Output: database:test1
+PREHOOK: Output: test1@shtb_test1_view2
+POSTHOOK: query: CREATE MATERIALIZED VIEW shtb_test1_view2 ENABLE REWRITE AS
+SELECT * FROM shtb_test1 where KEY > 100 and KEY < 200
+POSTHOOK: type: CREATE_MATERIALIZED_VIEW
+POSTHOOK: Input: test1@shtb_test1
+POSTHOOK: Output: database:test1
+POSTHOOK: Output: test1@shtb_test1_view2
+PREHOOK: query: CREATE MATERIALIZED VIEW shtb_full_view2 ENABLE REWRITE AS
+SELECT * FROM shtb_test1
+PREHOOK: type: CREATE_MATERIALIZED_VIEW
+PREHOOK: Input: test1@shtb_test1
+PREHOOK: Output: database:test1
+PREHOOK: Output: test1@shtb_full_view2
+POSTHOOK: query: CREATE MATERIALIZED VIEW shtb_full_view2 ENABLE REWRITE AS
+SELECT * FROM shtb_test1
+POSTHOOK: type: CREATE_MATERIALIZED_VIEW
+POSTHOOK: Input: test1@shtb_test1
+POSTHOOK: Output: database:test1
+POSTHOOK: Output: test1@shtb_full_view2
+PREHOOK: query: USE test2
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:test2
+POSTHOOK: query: USE test2
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:test2
+PREHOOK: query: CREATE TABLE shtb_test1(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:test2
+PREHOOK: Output: test2@shtb_test1
+POSTHOOK: query: CREATE TABLE shtb_test1(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:test2
+POSTHOOK: Output: test2@shtb_test1
+PREHOOK: query: CREATE TABLE shtb_test2(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:test2
+PREHOOK: Output: test2@shtb_test2
+POSTHOOK: query: CREATE TABLE shtb_test2(KEY INT, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:test2
+POSTHOOK: Output: test2@shtb_test2
+PREHOOK: query: CREATE MATERIALIZED VIEW shtb_test1_view1 AS
+SELECT * FROM shtb_test1 where KEY > 1000 and KEY < 2000
+PREHOOK: type: CREATE_MATERIALIZED_VIEW
+PREHOOK: Input: test2@shtb_test1
+PREHOOK: Output: database:test2
+PREHOOK: Output: test2@shtb_test1_view1
+POSTHOOK: query: CREATE MATERIALIZED VIEW shtb_test1_view1 AS
+SELECT * FROM shtb_test1 where KEY > 1000 and KEY < 2000
+POSTHOOK: type: CREATE_MATERIALIZED_VIEW
+POSTHOOK: Input: test2@shtb_test1
+POSTHOOK: Output: database:test2
+POSTHOOK: Output: test2@shtb_test1_view1
+PREHOOK: query: CREATE MATERIALIZED VIEW shtb_test2_view2 AS
+SELECT * FROM shtb_test2 where KEY > 100 and KEY < 200
+PREHOOK: type: CREATE_MATERIALIZED_VIEW
+PREHOOK: Input: test2@shtb_test2
+PREHOOK: Output: database:test2
+PREHOOK: Output: test2@shtb_test2_view2
+POSTHOOK: query: CREATE MATERIALIZED VIEW shtb_test2_view2 AS
+SELECT * FROM shtb_test2 where KEY > 100 and KEY < 200
+POSTHOOK: type: CREATE_MATERIALIZED_VIEW
+POSTHOOK: Input: test2@shtb_test2
+POSTHOOK: Output: database:test2
+POSTHOOK: Output: test2@shtb_test2_view2
+PREHOOK: query: USE test1
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:test1
+POSTHOOK: query: USE test1
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:test1
+PREHOOK: query: SHOW MATERIALIZED VIEWS
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+shtb_full_view2
+shtb_test1_view1
+shtb_test1_view2
+PREHOOK: query: SHOW MATERIALIZED VIEWS 'test_*'
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS 'test_*'
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+PREHOOK: query: SHOW MATERIALIZED VIEWS '*view2'
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS '*view2'
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+shtb_full_view2
+shtb_test1_view2
+PREHOOK: query: SHOW MATERIALIZED VIEWS LIKE 'test_view1|test_view2'
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS LIKE 'test_view1|test_view2'
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+PREHOOK: query: USE test2
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:test2
+POSTHOOK: query: USE test2
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:test2
+PREHOOK: query: SHOW MATERIALIZED VIEWS 'shtb_*'
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS 'shtb_*'
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+shtb_test1_view1
+shtb_test2_view2
+PREHOOK: query: USE default
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:default
+POSTHOOK: query: USE default
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:default
+PREHOOK: query: SHOW MATERIALIZED VIEWS FROM test1
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS FROM test1
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+shtb_full_view2
+shtb_test1_view1
+shtb_test1_view2
+PREHOOK: query: SHOW MATERIALIZED VIEWS FROM test2
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS FROM test2
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+shtb_test1_view1
+shtb_test2_view2
+PREHOOK: query: SHOW MATERIALIZED VIEWS IN test1
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS IN test1
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+shtb_full_view2
+shtb_test1_view1
+shtb_test1_view2
+PREHOOK: query: SHOW MATERIALIZED VIEWS IN default
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS IN default
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+PREHOOK: query: SHOW MATERIALIZED VIEWS IN test1 "shtb_test_*"
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS IN test1 "shtb_test_*"
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+PREHOOK: query: SHOW MATERIALIZED VIEWS IN test2 LIKE "nomatch"
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS IN test2 LIKE "nomatch"
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+PREHOOK: query: CREATE DATABASE `database`
+PREHOOK: type: CREATEDATABASE
+PREHOOK: Output: database:database
+POSTHOOK: query: CREATE DATABASE `database`
+POSTHOOK: type: CREATEDATABASE
+POSTHOOK: Output: database:database
+PREHOOK: query: USE `database`
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:database
+POSTHOOK: query: USE `database`
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:database
+PREHOOK: query: CREATE TABLE foo(a INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:database
+PREHOOK: Output: database@foo
+POSTHOOK: query: CREATE TABLE foo(a INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:database
+POSTHOOK: Output: database@foo
+PREHOOK: query: CREATE VIEW fooview AS
+SELECT * FROM foo
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: database@foo
+PREHOOK: Output: database:database
+PREHOOK: Output: database@fooview
+POSTHOOK: query: CREATE VIEW fooview AS
+SELECT * FROM foo
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: database@foo
+POSTHOOK: Output: database:database
+POSTHOOK: Output: database@fooview
+POSTHOOK: Lineage: fooview.a SIMPLE [(foo)foo.FieldSchema(name:a, type:int, comment:null), ]
+PREHOOK: query: USE default
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:default
+POSTHOOK: query: USE default
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:default
+PREHOOK: query: SHOW MATERIALIZED VIEWS FROM `database` LIKE "fooview"
+PREHOOK: type: SHOWMATERIALIZEDVIEWS
+POSTHOOK: query: SHOW MATERIALIZED VIEWS FROM `database` LIKE "fooview"
+POSTHOOK: type: SHOWMATERIALIZEDVIEWS
+PREHOOK: query: DROP MATERIALIZED VIEW fooview
+PREHOOK: type: DROP_MATERIALIZED_VIEW
+POSTHOOK: query: DROP MATERIALIZED VIEW fooview
+POSTHOOK: type: DROP_MATERIALIZED_VIEW
+PREHOOK: query: DROP TABLE foo
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE foo
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: USE test1
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:test1
+POSTHOOK: query: USE test1
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:test1
+PREHOOK: query: DROP MATERIALIZED VIEW shtb_test1_view1
+PREHOOK: type: DROP_MATERIALIZED_VIEW
+PREHOOK: Input: test1@shtb_test1_view1
+PREHOOK: Output: test1@shtb_test1_view1
+POSTHOOK: query: DROP MATERIALIZED VIEW shtb_test1_view1
+POSTHOOK: type: DROP_MATERIALIZED_VIEW
+POSTHOOK: Input: test1@shtb_test1_view1
+POSTHOOK: Output: test1@shtb_test1_view1
+PREHOOK: query: DROP MATERIALIZED VIEW shtb_test1_view2
+PREHOOK: type: DROP_MATERIALIZED_VIEW
+PREHOOK: Input: test1@shtb_test1_view2
+PREHOOK: Output: test1@shtb_test1_view2
+POSTHOOK: query: DROP MATERIALIZED VIEW shtb_test1_view2
+POSTHOOK: type: DROP_MATERIALIZED_VIEW
+POSTHOOK: Input: test1@shtb_test1_view2
+POSTHOOK: Output: test1@shtb_test1_view2
+PREHOOK: query: DROP MATERIALIZED VIEW shtb_full_view2
+PREHOOK: type: DROP_MATERIALIZED_VIEW
+PREHOOK: Input: test1@shtb_full_view2
+PREHOOK: Output: test1@shtb_full_view2
+POSTHOOK: query: DROP MATERIALIZED VIEW shtb_full_view2
+POSTHOOK: type: DROP_MATERIALIZED_VIEW
+POSTHOOK: Input: test1@shtb_full_view2
+POSTHOOK: Output: test1@shtb_full_view2
+PREHOOK: query: DROP TABLE shtb_test1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: test1@shtb_test1
+PREHOOK: Output: test1@shtb_test1
+POSTHOOK: query: DROP TABLE shtb_test1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: test1@shtb_test1
+POSTHOOK: Output: test1@shtb_test1
+PREHOOK: query: DROP DATABASE test1
+PREHOOK: type: DROPDATABASE
+PREHOOK: Input: database:test1
+PREHOOK: Output: database:test1
+POSTHOOK: query: DROP DATABASE test1
+POSTHOOK: type: DROPDATABASE
+POSTHOOK: Input: database:test1
+POSTHOOK: Output: database:test1
+PREHOOK: query: USE test2
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:test2
+POSTHOOK: query: USE test2
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:test2
+PREHOOK: query: DROP MATERIALIZED VIEW shtb_test1_view1
+PREHOOK: type: DROP_MATERIALIZED_VIEW
+PREHOOK: Input: test2@shtb_test1_view1
+PREHOOK: Output: test2@shtb_test1_view1
+POSTHOOK: query: DROP MATERIALIZED VIEW shtb_test1_view1
+POSTHOOK: type: DROP_MATERIALIZED_VIEW
+POSTHOOK: Input: test2@shtb_test1_view1
+POSTHOOK: Output: test2@shtb_test1_view1
+PREHOOK: query: DROP MATERIALIZED VIEW shtb_test2_view2
+PREHOOK: type: DROP_MATERIALIZED_VIEW
+PREHOOK: Input: test2@shtb_test2_view2
+PREHOOK: Output: test2@shtb_test2_view2
+POSTHOOK: query: DROP MATERIALIZED VIEW shtb_test2_view2
+POSTHOOK: type: DROP_MATERIALIZED_VIEW
+POSTHOOK: Input: test2@shtb_test2_view2
+POSTHOOK: Output: test2@shtb_test2_view2
+PREHOOK: query: DROP TABLE shtb_test1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: test2@shtb_test1
+PREHOOK: Output: test2@shtb_test1
+POSTHOOK: query: DROP TABLE shtb_test1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: test2@shtb_test1
+POSTHOOK: Output: test2@shtb_test1
+PREHOOK: query: DROP TABLE shtb_test2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: test2@shtb_test2
+PREHOOK: Output: test2@shtb_test2
+POSTHOOK: query: DROP TABLE shtb_test2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: test2@shtb_test2
+POSTHOOK: Output: test2@shtb_test2
+PREHOOK: query: DROP DATABASE test2
+PREHOOK: type: DROPDATABASE
+PREHOOK: Input: database:test2
+PREHOOK: Output: database:test2
+POSTHOOK: query: DROP DATABASE test2
+POSTHOOK: type: DROPDATABASE
+POSTHOOK: Input: database:test2
+POSTHOOK: Output: database:test2


[2/2] hive git commit: HIVE-18046: Metastore: default IS_REWRITE_ENABLED=false instead of NULL (Jesus Camacho Rodriguez, reviewed by Sergey Shelukhin)

Posted by jc...@apache.org.
HIVE-18046: Metastore: default IS_REWRITE_ENABLED=false instead of NULL (Jesus Camacho Rodriguez, reviewed by Sergey Shelukhin)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e3168cfc
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e3168cfc
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e3168cfc

Branch: refs/heads/master
Commit: e3168cfc867a534d82e4fd6deef1ba4c4c5ed7c1
Parents: afa9ffe
Author: Jesus Camacho Rodriguez <jc...@apache.org>
Authored: Mon Nov 13 10:38:34 2017 -0800
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Wed Nov 15 08:50:02 2017 -0800

----------------------------------------------------------------------
 metastore/scripts/upgrade/derby/037-HIVE-14496.derby.sql          | 1 +
 metastore/scripts/upgrade/derby/hive-schema-2.2.0.derby.sql       | 2 +-
 metastore/scripts/upgrade/derby/hive-schema-2.3.0.derby.sql       | 2 +-
 metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql       | 2 +-
 metastore/scripts/upgrade/mssql/022-HIVE-14496.mssql.sql          | 2 +-
 metastore/scripts/upgrade/mssql/hive-schema-2.2.0.mssql.sql       | 2 +-
 metastore/scripts/upgrade/mssql/hive-schema-2.3.0.mssql.sql       | 2 +-
 metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql       | 2 +-
 metastore/scripts/upgrade/mysql/037-HIVE-14496.mysql.sql          | 2 +-
 metastore/scripts/upgrade/mysql/hive-schema-2.2.0.mysql.sql       | 2 +-
 metastore/scripts/upgrade/mysql/hive-schema-2.3.0.mysql.sql       | 2 +-
 metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql       | 2 +-
 metastore/scripts/upgrade/oracle/037-HIVE-14496.oracle.sql        | 1 +
 metastore/scripts/upgrade/oracle/hive-schema-2.2.0.oracle.sql     | 2 +-
 metastore/scripts/upgrade/oracle/hive-schema-2.3.0.oracle.sql     | 2 +-
 metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql     | 2 +-
 metastore/scripts/upgrade/postgres/036-HIVE-14496.postgres.sql    | 1 +
 metastore/scripts/upgrade/postgres/hive-schema-2.2.0.postgres.sql | 2 +-
 metastore/scripts/upgrade/postgres/hive-schema-2.3.0.postgres.sql | 2 +-
 metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql | 2 +-
 20 files changed, 20 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/derby/037-HIVE-14496.derby.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/derby/037-HIVE-14496.derby.sql b/metastore/scripts/upgrade/derby/037-HIVE-14496.derby.sql
index 0c294ce..86c6673 100644
--- a/metastore/scripts/upgrade/derby/037-HIVE-14496.derby.sql
+++ b/metastore/scripts/upgrade/derby/037-HIVE-14496.derby.sql
@@ -5,4 +5,5 @@ ALTER TABLE "APP"."TBLS" ADD "IS_REWRITE_ENABLED" CHAR(1);
 UPDATE "APP"."TBLS" SET "IS_REWRITE_ENABLED" = 'N';
 
 -- Step 3: Alter the column to disallow null values
+ALTER TABLE "APP"."TBLS" ALTER COLUMN "IS_REWRITE_ENABLED" SET DEFAULT 'N';
 ALTER TABLE "APP"."TBLS" ALTER COLUMN "IS_REWRITE_ENABLED" NOT NULL;

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/derby/hive-schema-2.2.0.derby.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/derby/hive-schema-2.2.0.derby.sql b/metastore/scripts/upgrade/derby/hive-schema-2.2.0.derby.sql
index 6dd3dee..2e3aaf0 100644
--- a/metastore/scripts/upgrade/derby/hive-schema-2.2.0.derby.sql
+++ b/metastore/scripts/upgrade/derby/hive-schema-2.2.0.derby.sql
@@ -60,7 +60,7 @@ CREATE TABLE "APP"."COLUMNS" ("SD_ID" BIGINT NOT NULL, "COMMENT" VARCHAR(256), "
 
 CREATE TABLE "APP"."ROLES" ("ROLE_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "OWNER_NAME" VARCHAR(128), "ROLE_NAME" VARCHAR(128));
 
-CREATE TABLE "APP"."TBLS" ("TBL_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "DB_ID" BIGINT, "LAST_ACCESS_TIME" INTEGER NOT NULL, "OWNER" VARCHAR(767), "RETENTION" INTEGER NOT NULL, "SD_ID" BIGINT, "TBL_NAME" VARCHAR(256), "TBL_TYPE" VARCHAR(128), "VIEW_EXPANDED_TEXT" LONG VARCHAR, "VIEW_ORIGINAL_TEXT" LONG VARCHAR, "IS_REWRITE_ENABLED" CHAR(1) NOT NULL);
+CREATE TABLE "APP"."TBLS" ("TBL_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "DB_ID" BIGINT, "LAST_ACCESS_TIME" INTEGER NOT NULL, "OWNER" VARCHAR(767), "RETENTION" INTEGER NOT NULL, "SD_ID" BIGINT, "TBL_NAME" VARCHAR(256), "TBL_TYPE" VARCHAR(128), "VIEW_EXPANDED_TEXT" LONG VARCHAR, "VIEW_ORIGINAL_TEXT" LONG VARCHAR, "IS_REWRITE_ENABLED" CHAR(1) NOT NULL DEFAULT 'N');
 
 CREATE TABLE "APP"."PARTITION_KEYS" ("TBL_ID" BIGINT NOT NULL, "PKEY_COMMENT" VARCHAR(4000), "PKEY_NAME" VARCHAR(128) NOT NULL, "PKEY_TYPE" VARCHAR(767) NOT NULL, "INTEGER_IDX" INTEGER NOT NULL);
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/derby/hive-schema-2.3.0.derby.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/derby/hive-schema-2.3.0.derby.sql b/metastore/scripts/upgrade/derby/hive-schema-2.3.0.derby.sql
index b2916c8..3c4d9ee 100644
--- a/metastore/scripts/upgrade/derby/hive-schema-2.3.0.derby.sql
+++ b/metastore/scripts/upgrade/derby/hive-schema-2.3.0.derby.sql
@@ -60,7 +60,7 @@ CREATE TABLE "APP"."COLUMNS" ("SD_ID" BIGINT NOT NULL, "COMMENT" VARCHAR(256), "
 
 CREATE TABLE "APP"."ROLES" ("ROLE_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "OWNER_NAME" VARCHAR(128), "ROLE_NAME" VARCHAR(128));
 
-CREATE TABLE "APP"."TBLS" ("TBL_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "DB_ID" BIGINT, "LAST_ACCESS_TIME" INTEGER NOT NULL, "OWNER" VARCHAR(767), "RETENTION" INTEGER NOT NULL, "SD_ID" BIGINT, "TBL_NAME" VARCHAR(256), "TBL_TYPE" VARCHAR(128), "VIEW_EXPANDED_TEXT" LONG VARCHAR, "VIEW_ORIGINAL_TEXT" LONG VARCHAR, "IS_REWRITE_ENABLED" CHAR(1) NOT NULL);
+CREATE TABLE "APP"."TBLS" ("TBL_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "DB_ID" BIGINT, "LAST_ACCESS_TIME" INTEGER NOT NULL, "OWNER" VARCHAR(767), "RETENTION" INTEGER NOT NULL, "SD_ID" BIGINT, "TBL_NAME" VARCHAR(256), "TBL_TYPE" VARCHAR(128), "VIEW_EXPANDED_TEXT" LONG VARCHAR, "VIEW_ORIGINAL_TEXT" LONG VARCHAR, "IS_REWRITE_ENABLED" CHAR(1) NOT NULL DEFAULT 'N');
 
 CREATE TABLE "APP"."PARTITION_KEYS" ("TBL_ID" BIGINT NOT NULL, "PKEY_COMMENT" VARCHAR(4000), "PKEY_NAME" VARCHAR(128) NOT NULL, "PKEY_TYPE" VARCHAR(767) NOT NULL, "INTEGER_IDX" INTEGER NOT NULL);
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql b/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql
index 1d21fa2..16aae7a 100644
--- a/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql
+++ b/metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql
@@ -60,7 +60,7 @@ CREATE TABLE "APP"."COLUMNS" ("SD_ID" BIGINT NOT NULL, "COMMENT" VARCHAR(256), "
 
 CREATE TABLE "APP"."ROLES" ("ROLE_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "OWNER_NAME" VARCHAR(128), "ROLE_NAME" VARCHAR(128));
 
-CREATE TABLE "APP"."TBLS" ("TBL_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "DB_ID" BIGINT, "LAST_ACCESS_TIME" INTEGER NOT NULL, "OWNER" VARCHAR(767), "RETENTION" INTEGER NOT NULL, "SD_ID" BIGINT, "TBL_NAME" VARCHAR(256), "TBL_TYPE" VARCHAR(128), "VIEW_EXPANDED_TEXT" LONG VARCHAR, "VIEW_ORIGINAL_TEXT" LONG VARCHAR, "IS_REWRITE_ENABLED" CHAR(1) NOT NULL);
+CREATE TABLE "APP"."TBLS" ("TBL_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "DB_ID" BIGINT, "LAST_ACCESS_TIME" INTEGER NOT NULL, "OWNER" VARCHAR(767), "RETENTION" INTEGER NOT NULL, "SD_ID" BIGINT, "TBL_NAME" VARCHAR(256), "TBL_TYPE" VARCHAR(128), "VIEW_EXPANDED_TEXT" LONG VARCHAR, "VIEW_ORIGINAL_TEXT" LONG VARCHAR, "IS_REWRITE_ENABLED" CHAR(1) NOT NULL DEFAULT 'N');
 
 CREATE TABLE "APP"."PARTITION_KEYS" ("TBL_ID" BIGINT NOT NULL, "PKEY_COMMENT" VARCHAR(4000), "PKEY_NAME" VARCHAR(128) NOT NULL, "PKEY_TYPE" VARCHAR(767) NOT NULL, "INTEGER_IDX" INTEGER NOT NULL);
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mssql/022-HIVE-14496.mssql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/022-HIVE-14496.mssql.sql b/metastore/scripts/upgrade/mssql/022-HIVE-14496.mssql.sql
index 0c59467..c3ee236 100644
--- a/metastore/scripts/upgrade/mssql/022-HIVE-14496.mssql.sql
+++ b/metastore/scripts/upgrade/mssql/022-HIVE-14496.mssql.sql
@@ -1 +1 @@
-ALTER TABLE TBLS ADD IS_REWRITE_ENABLED bit NOT NULL DEFAULT 0;
+ALTER TABLE TBLS ADD IS_REWRITE_ENABLED bit NOT NULL DEFAULT(0);

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mssql/hive-schema-2.2.0.mssql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/hive-schema-2.2.0.mssql.sql b/metastore/scripts/upgrade/mssql/hive-schema-2.2.0.mssql.sql
index b6fdc7b..7cd49b3 100644
--- a/metastore/scripts/upgrade/mssql/hive-schema-2.2.0.mssql.sql
+++ b/metastore/scripts/upgrade/mssql/hive-schema-2.2.0.mssql.sql
@@ -359,7 +359,7 @@ CREATE TABLE TBLS
     TBL_TYPE nvarchar(128) NULL,
     VIEW_EXPANDED_TEXT text NULL,
     VIEW_ORIGINAL_TEXT text NULL,
-    IS_REWRITE_ENABLED bit NOT NULL
+    IS_REWRITE_ENABLED bit NOT NULL DEFAULT 0
 );
 
 ALTER TABLE TBLS ADD CONSTRAINT TBLS_PK PRIMARY KEY (TBL_ID);

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mssql/hive-schema-2.3.0.mssql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/hive-schema-2.3.0.mssql.sql b/metastore/scripts/upgrade/mssql/hive-schema-2.3.0.mssql.sql
index c117a32..3df5369 100644
--- a/metastore/scripts/upgrade/mssql/hive-schema-2.3.0.mssql.sql
+++ b/metastore/scripts/upgrade/mssql/hive-schema-2.3.0.mssql.sql
@@ -359,7 +359,7 @@ CREATE TABLE TBLS
     TBL_TYPE nvarchar(128) NULL,
     VIEW_EXPANDED_TEXT text NULL,
     VIEW_ORIGINAL_TEXT text NULL,
-    IS_REWRITE_ENABLED bit NOT NULL
+    IS_REWRITE_ENABLED bit NOT NULL DEFAULT 0
 );
 
 ALTER TABLE TBLS ADD CONSTRAINT TBLS_PK PRIMARY KEY (TBL_ID);

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql b/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql
index b189c31..70e1267 100644
--- a/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql
+++ b/metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql
@@ -361,7 +361,7 @@ CREATE TABLE TBLS
     TBL_TYPE nvarchar(128) NULL,
     VIEW_EXPANDED_TEXT text NULL,
     VIEW_ORIGINAL_TEXT text NULL,
-    IS_REWRITE_ENABLED bit NOT NULL
+    IS_REWRITE_ENABLED bit NOT NULL DEFAULT 0
 );
 
 ALTER TABLE TBLS ADD CONSTRAINT TBLS_PK PRIMARY KEY (TBL_ID);

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mysql/037-HIVE-14496.mysql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mysql/037-HIVE-14496.mysql.sql b/metastore/scripts/upgrade/mysql/037-HIVE-14496.mysql.sql
index 6cccefe..5a5a5e4 100644
--- a/metastore/scripts/upgrade/mysql/037-HIVE-14496.mysql.sql
+++ b/metastore/scripts/upgrade/mysql/037-HIVE-14496.mysql.sql
@@ -5,4 +5,4 @@ ALTER TABLE `TBLS` ADD `IS_REWRITE_ENABLED` bit(1);
 UPDATE `TBLS` SET `IS_REWRITE_ENABLED` = false;
 
 -- Step 3: Alter the column to disallow null values
-ALTER TABLE `TBLS` MODIFY COLUMN `IS_REWRITE_ENABLED` bit(1) NOT NULL;
+ALTER TABLE `TBLS` MODIFY COLUMN `IS_REWRITE_ENABLED` bit(1) NOT NULL DEFAULT 0;

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mysql/hive-schema-2.2.0.mysql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mysql/hive-schema-2.2.0.mysql.sql b/metastore/scripts/upgrade/mysql/hive-schema-2.2.0.mysql.sql
index d1852df..9b20b48 100644
--- a/metastore/scripts/upgrade/mysql/hive-schema-2.2.0.mysql.sql
+++ b/metastore/scripts/upgrade/mysql/hive-schema-2.2.0.mysql.sql
@@ -587,7 +587,7 @@ CREATE TABLE IF NOT EXISTS `TBLS` (
   `TBL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `VIEW_EXPANDED_TEXT` mediumtext,
   `VIEW_ORIGINAL_TEXT` mediumtext,
-  `IS_REWRITE_ENABLED` bit(1) NOT NULL,
+  `IS_REWRITE_ENABLED` bit(1) NOT NULL DEFAULT 0,
   PRIMARY KEY (`TBL_ID`),
   UNIQUE KEY `UNIQUETABLE` (`TBL_NAME`,`DB_ID`),
   KEY `TBLS_N50` (`SD_ID`),

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mysql/hive-schema-2.3.0.mysql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mysql/hive-schema-2.3.0.mysql.sql b/metastore/scripts/upgrade/mysql/hive-schema-2.3.0.mysql.sql
index 1403e38..133edcb 100644
--- a/metastore/scripts/upgrade/mysql/hive-schema-2.3.0.mysql.sql
+++ b/metastore/scripts/upgrade/mysql/hive-schema-2.3.0.mysql.sql
@@ -587,7 +587,7 @@ CREATE TABLE IF NOT EXISTS `TBLS` (
   `TBL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `VIEW_EXPANDED_TEXT` mediumtext,
   `VIEW_ORIGINAL_TEXT` mediumtext,
-  `IS_REWRITE_ENABLED` bit(1) NOT NULL,
+  `IS_REWRITE_ENABLED` bit(1) NOT NULL DEFAULT 0,
   PRIMARY KEY (`TBL_ID`),
   UNIQUE KEY `UNIQUETABLE` (`TBL_NAME`,`DB_ID`),
   KEY `TBLS_N50` (`SD_ID`),

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql b/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql
index 702a929..9b66e83 100644
--- a/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql
+++ b/metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql
@@ -587,7 +587,7 @@ CREATE TABLE IF NOT EXISTS `TBLS` (
   `TBL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
   `VIEW_EXPANDED_TEXT` mediumtext,
   `VIEW_ORIGINAL_TEXT` mediumtext,
-  `IS_REWRITE_ENABLED` bit(1) NOT NULL,
+  `IS_REWRITE_ENABLED` bit(1) NOT NULL DEFAULT 0,
   PRIMARY KEY (`TBL_ID`),
   UNIQUE KEY `UNIQUETABLE` (`TBL_NAME`,`DB_ID`),
   KEY `TBLS_N50` (`SD_ID`),

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/oracle/037-HIVE-14496.oracle.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/oracle/037-HIVE-14496.oracle.sql b/metastore/scripts/upgrade/oracle/037-HIVE-14496.oracle.sql
index 2b3bb77..73ee21d 100644
--- a/metastore/scripts/upgrade/oracle/037-HIVE-14496.oracle.sql
+++ b/metastore/scripts/upgrade/oracle/037-HIVE-14496.oracle.sql
@@ -5,5 +5,6 @@ ALTER TABLE TBLS ADD IS_REWRITE_ENABLED NUMBER(1) NULL;
 UPDATE TBLS SET IS_REWRITE_ENABLED = 0;
 
 -- Step 3: Alter the column to disallow null values
+ALTER TABLE TBLS MODIFY(IS_REWRITE_ENABLED DEFAULT 0);
 ALTER TABLE TBLS MODIFY(IS_REWRITE_ENABLED NOT NULL);
 ALTER TABLE TBLS ADD CONSTRAINT REWRITE_CHECK CHECK (IS_REWRITE_ENABLED IN (1,0));

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/oracle/hive-schema-2.2.0.oracle.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/oracle/hive-schema-2.2.0.oracle.sql b/metastore/scripts/upgrade/oracle/hive-schema-2.2.0.oracle.sql
index 4aaa5e7..3824ea9 100644
--- a/metastore/scripts/upgrade/oracle/hive-schema-2.2.0.oracle.sql
+++ b/metastore/scripts/upgrade/oracle/hive-schema-2.2.0.oracle.sql
@@ -376,7 +376,7 @@ CREATE TABLE TBLS
     TBL_TYPE VARCHAR2(128) NULL,
     VIEW_EXPANDED_TEXT CLOB NULL,
     VIEW_ORIGINAL_TEXT CLOB NULL,
-    IS_REWRITE_ENABLED NUMBER(1) NOT NULL CHECK (IS_REWRITE_ENABLED IN (1,0))
+    IS_REWRITE_ENABLED NUMBER(1) DEFAULT 0 NOT NULL CHECK (IS_REWRITE_ENABLED IN (1,0))
 );
 
 ALTER TABLE TBLS ADD CONSTRAINT TBLS_PK PRIMARY KEY (TBL_ID);

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/oracle/hive-schema-2.3.0.oracle.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/oracle/hive-schema-2.3.0.oracle.sql b/metastore/scripts/upgrade/oracle/hive-schema-2.3.0.oracle.sql
index 259a2ad..3b2b512 100644
--- a/metastore/scripts/upgrade/oracle/hive-schema-2.3.0.oracle.sql
+++ b/metastore/scripts/upgrade/oracle/hive-schema-2.3.0.oracle.sql
@@ -376,7 +376,7 @@ CREATE TABLE TBLS
     TBL_TYPE VARCHAR2(128) NULL,
     VIEW_EXPANDED_TEXT CLOB NULL,
     VIEW_ORIGINAL_TEXT CLOB NULL,
-    IS_REWRITE_ENABLED NUMBER(1) NOT NULL CHECK (IS_REWRITE_ENABLED IN (1,0))
+    IS_REWRITE_ENABLED NUMBER(1) DEFAULT 0 NOT NULL CHECK (IS_REWRITE_ENABLED IN (1,0))
 );
 
 ALTER TABLE TBLS ADD CONSTRAINT TBLS_PK PRIMARY KEY (TBL_ID);

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql b/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql
index 6e9c7ff..de55e70 100644
--- a/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql
+++ b/metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql
@@ -376,7 +376,7 @@ CREATE TABLE TBLS
     TBL_TYPE VARCHAR2(128) NULL,
     VIEW_EXPANDED_TEXT CLOB NULL,
     VIEW_ORIGINAL_TEXT CLOB NULL,
-    IS_REWRITE_ENABLED NUMBER(1) NOT NULL CHECK (IS_REWRITE_ENABLED IN (1,0))
+    IS_REWRITE_ENABLED NUMBER(1) DEFAULT 0 NOT NULL CHECK (IS_REWRITE_ENABLED IN (1,0))
 );
 
 ALTER TABLE TBLS ADD CONSTRAINT TBLS_PK PRIMARY KEY (TBL_ID);

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/postgres/036-HIVE-14496.postgres.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/postgres/036-HIVE-14496.postgres.sql b/metastore/scripts/upgrade/postgres/036-HIVE-14496.postgres.sql
index 1910cc3..22dc855 100644
--- a/metastore/scripts/upgrade/postgres/036-HIVE-14496.postgres.sql
+++ b/metastore/scripts/upgrade/postgres/036-HIVE-14496.postgres.sql
@@ -6,3 +6,4 @@ UPDATE "TBLS" SET "IS_REWRITE_ENABLED" = false;
 
 -- Step 3: Alter the column to disallow null values
 ALTER TABLE "TBLS" ALTER COLUMN "IS_REWRITE_ENABLED" SET NOT NULL;
+ALTER TABLE "TBLS" ALTER COLUMN "IS_REWRITE_ENABLED" SET DEFAULT false;

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/postgres/hive-schema-2.2.0.postgres.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/postgres/hive-schema-2.2.0.postgres.sql b/metastore/scripts/upgrade/postgres/hive-schema-2.2.0.postgres.sql
index 5feab4e..63acce7 100644
--- a/metastore/scripts/upgrade/postgres/hive-schema-2.2.0.postgres.sql
+++ b/metastore/scripts/upgrade/postgres/hive-schema-2.2.0.postgres.sql
@@ -373,7 +373,7 @@ CREATE TABLE "TBLS" (
     "TBL_TYPE" character varying(128) DEFAULT NULL::character varying,
     "VIEW_EXPANDED_TEXT" text,
     "VIEW_ORIGINAL_TEXT" text,
-    "IS_REWRITE_ENABLED" boolean NOT NULL
+    "IS_REWRITE_ENABLED" boolean NOT NULL DEFAULT false
 );
 
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/postgres/hive-schema-2.3.0.postgres.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/postgres/hive-schema-2.3.0.postgres.sql b/metastore/scripts/upgrade/postgres/hive-schema-2.3.0.postgres.sql
index a6d976f..a04883c 100644
--- a/metastore/scripts/upgrade/postgres/hive-schema-2.3.0.postgres.sql
+++ b/metastore/scripts/upgrade/postgres/hive-schema-2.3.0.postgres.sql
@@ -373,7 +373,7 @@ CREATE TABLE "TBLS" (
     "TBL_TYPE" character varying(128) DEFAULT NULL::character varying,
     "VIEW_EXPANDED_TEXT" text,
     "VIEW_ORIGINAL_TEXT" text,
-    "IS_REWRITE_ENABLED" boolean NOT NULL
+    "IS_REWRITE_ENABLED" boolean NOT NULL DEFAULT false
 );
 
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e3168cfc/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql b/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql
index 7504604..23626c0 100644
--- a/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql
+++ b/metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql
@@ -373,7 +373,7 @@ CREATE TABLE "TBLS" (
     "TBL_TYPE" character varying(128) DEFAULT NULL::character varying,
     "VIEW_EXPANDED_TEXT" text,
     "VIEW_ORIGINAL_TEXT" text,
-    "IS_REWRITE_ENABLED" boolean NOT NULL
+    "IS_REWRITE_ENABLED" boolean NOT NULL DEFAULT false
 );