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 2019/02/01 18:28:41 UTC

[hive] branch master updated: HIVE-21188: SemanticException for query on view with masked table (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

This is an automated email from the ASF dual-hosted git repository.

jcamacho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 80f5e48  HIVE-21188: SemanticException for query on view with masked table (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)
80f5e48 is described below

commit 80f5e4833baaeb8569b109bd7fc51bf7f90b4161
Author: Jesus Camacho Rodriguez <jc...@apache.org>
AuthorDate: Thu Jan 31 09:27:47 2019 -0800

    HIVE-21188: SemanticException for query on view with masked table (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)
---
 .../hadoop/hive/ql/parse/SemanticAnalyzer.java     |  4 +-
 ql/src/test/queries/clientpositive/masking_14.q    | 13 +++++
 .../clientpositive/beeline/escape_comments.q.out   |  4 +-
 .../test/results/clientpositive/create_view.q.out  | 12 ++--
 .../clientpositive/create_view_partitioned.q.out   |  2 +-
 .../results/clientpositive/escape_comments.q.out   |  4 +-
 .../test/results/clientpositive/groupby_ppr.q.out  | 20 +++----
 .../llap/materialized_view_partitioned.q.out       |  4 +-
 .../llap/materialized_view_partitioned_3.q.out     |  2 +-
 .../test/results/clientpositive/masking_14.q.out   | 64 ++++++++++++++++++++++
 .../results/clientpositive/ppr_pushdown3.q.out     | 16 +++---
 .../results/clientpositive/unicode_comments.q.out  |  4 +-
 12 files changed, 113 insertions(+), 36 deletions(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
index adce54c..706fa55 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
@@ -12609,7 +12609,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
         sb.append(" FROM (");
         sb.append(expandedText);
         sb.append(") ");
-        sb.append(HiveUtils.unparseIdentifier(createVwDesc.getViewName(), conf));
+        sb.append(HiveUtils.unparseIdentifier(Utilities.getDbTableName(createVwDesc.getViewName())[1], conf));
         expandedText = sb.toString();
       }
     } else {
@@ -12643,7 +12643,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
         sb.append(" FROM (");
         sb.append(expandedText);
         sb.append(") ");
-        sb.append(HiveUtils.unparseIdentifier(createVwDesc.getViewName(), conf));
+        sb.append(HiveUtils.unparseIdentifier(Utilities.getDbTableName(createVwDesc.getViewName())[1], conf));
         expandedText = sb.toString();
       }
 
diff --git a/ql/src/test/queries/clientpositive/masking_14.q b/ql/src/test/queries/clientpositive/masking_14.q
new file mode 100644
index 0000000..50cda8c
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/masking_14.q
@@ -0,0 +1,13 @@
+--! qt:dataset:srcpart
+--! qt:dataset:src
+set hive.mapred.mode=nonstrict;
+set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest;
+
+create database atlasmask;
+use atlasmask;
+create table masking_test_n8 (key int, value int);
+insert into masking_test_n8 values(1,1), (2,2);
+create view testv(c,d) as select * from masking_test_n8;
+
+select * from `atlasmask`.`testv`;
+select `testv`.`c` from `atlasmask`.`testv`
diff --git a/ql/src/test/results/clientpositive/beeline/escape_comments.q.out b/ql/src/test/results/clientpositive/beeline/escape_comments.q.out
index ac919e1..a79cb30 100644
--- a/ql/src/test/results/clientpositive/beeline/escape_comments.q.out
+++ b/ql/src/test/results/clientpositive/beeline/escape_comments.q.out
@@ -131,7 +131,7 @@ PREHOOK: Input: escape_comments_db@escape_comments_view1
 POSTHOOK: query: show create table escape_comments_view1
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: escape_comments_db@escape_comments_view1
-CREATE VIEW `escape_comments_view1` AS SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_db.escape_comments_view1`
+CREATE VIEW `escape_comments_view1` AS SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_view1`
 PREHOOK: query: describe formatted escape_comments_view1
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: escape_comments_db@escape_comments_view1
@@ -163,7 +163,7 @@ Sort Columns:       	[]                  	NULL
 	NULL	NULL
 # View Information	NULL	NULL
 Original Query:     	select col1 from escape_comments_tbl1	NULL
-Expanded Query:     	SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_db.escape_comments_view1`	NULL
+Expanded Query:     	SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_view1`	NULL
 PREHOOK: query: drop database escape_comments_db cascade
 PREHOOK: type: DROPDATABASE
 PREHOOK: Input: database:escape_comments_db
diff --git a/ql/src/test/results/clientpositive/create_view.q.out b/ql/src/test/results/clientpositive/create_view.q.out
index f94f7ce..3908836 100644
--- a/ql/src/test/results/clientpositive/create_view.q.out
+++ b/ql/src/test/results/clientpositive/create_view.q.out
@@ -175,7 +175,7 @@ STAGE PLANS:
       Create View Operator:
         Create View
           columns: valoo string
-          expanded text: SELECT `_c0` AS `valoo` FROM (SELECT upper(`src`.`value`) FROM `default`.`src` WHERE `src`.`key`=86) `default.view0`
+          expanded text: SELECT `_c0` AS `valoo` FROM (SELECT upper(`src`.`value`) FROM `default`.`src` WHERE `src`.`key`=86) `view0`
           name: default.view0
           original text: SELECT upper(value) FROM src WHERE key=86
 
@@ -381,7 +381,7 @@ Sort Columns:       	[]
 	 	 
 # View Information	 	 
 Original Query:     	SELECT upper(value) FROM src WHERE key=86	 
-Expanded Query:     	SELECT `_c0` AS `valoo` FROM (SELECT upper(`src`.`value`) FROM `default`.`src` WHERE `src`.`key`=86) `default.view3`	 
+Expanded Query:     	SELECT `_c0` AS `valoo` FROM (SELECT upper(`src`.`value`) FROM `default`.`src` WHERE `src`.`key`=86) `view3`	 
 PREHOOK: query: ALTER VIEW view3 SET TBLPROPERTIES ("biggest" = "loser")
 PREHOOK: type: ALTERVIEW_PROPERTIES
 PREHOOK: Input: default@view3
@@ -430,7 +430,7 @@ Sort Columns:       	[]
 	 	 
 # View Information	 	 
 Original Query:     	SELECT upper(value) FROM src WHERE key=86	 
-Expanded Query:     	SELECT `_c0` AS `valoo` FROM (SELECT upper(`src`.`value`) FROM `default`.`src` WHERE `src`.`key`=86) `default.view3`	 
+Expanded Query:     	SELECT `_c0` AS `valoo` FROM (SELECT upper(`src`.`value`) FROM `default`.`src` WHERE `src`.`key`=86) `view3`	 
 PREHOOK: query: CREATE TABLE table1_n4 (key int)
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
@@ -773,7 +773,7 @@ Sort Columns:       	[]
 Original Query:     	SELECT test_translate('abc', 'a', 'b')	 
 	                    	FROM table1_n4      
 Expanded Query:     	SELECT `_c0` AS `c` FROM (SELECT `test_translate`('abc', 'a', 'b')	 
-	                    	FROM `default`.`table1_n4`) `default.view8`
+	                    	FROM `default`.`table1_n4`) `view8`
 PREHOOK: query: SELECT * FROM view8
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n4
@@ -848,7 +848,7 @@ Sort Columns:       	[]
 Original Query:     	SELECT test_max(length(value))	 
 	                    	FROM src            
 Expanded Query:     	SELECT `_c0` AS `m` FROM (SELECT `test_max`(length(`src`.`value`))	 
-	                    	FROM `default`.`src`) `default.view9`
+	                    	FROM `default`.`src`) `view9`
 PREHOOK: query: SELECT * FROM view9
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
@@ -923,7 +923,7 @@ Sort Columns:       	[]
 Original Query:     	SELECT test_max(length(value))	 
 	                    	FROM src            
 Expanded Query:     	SELECT `_c0` AS `m` FROM (SELECT `test_max`(length(`src`.`value`))	 
-	                    	FROM `default`.`src`) `default.view9`
+	                    	FROM `default`.`src`) `view9`
 PREHOOK: query: SELECT * FROM view9
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
diff --git a/ql/src/test/results/clientpositive/create_view_partitioned.q.out b/ql/src/test/results/clientpositive/create_view_partitioned.q.out
index bd9cb3a..5128b20 100644
--- a/ql/src/test/results/clientpositive/create_view_partitioned.q.out
+++ b/ql/src/test/results/clientpositive/create_view_partitioned.q.out
@@ -402,7 +402,7 @@ Original Query:     	SELECT key, value
 	                    	WHERE key=86        
 Expanded Query:     	SELECT `key` AS `k`, `value` AS `v` FROM (SELECT `src`.`key`, `src`.`value`	 
 	                    	FROM `default`.`src`
-	                    	WHERE `src`.`key`=86) `default.vp3`
+	                    	WHERE `src`.`key`=86) `vp3`
 PREHOOK: query: ALTER VIEW vp3
 ADD PARTITION (v='val_86')
 PREHOOK: type: ALTERTABLE_ADDPARTS
diff --git a/ql/src/test/results/clientpositive/escape_comments.q.out b/ql/src/test/results/clientpositive/escape_comments.q.out
index e29cfee..f8b0713 100644
--- a/ql/src/test/results/clientpositive/escape_comments.q.out
+++ b/ql/src/test/results/clientpositive/escape_comments.q.out
@@ -136,7 +136,7 @@ PREHOOK: Input: escape_comments_db@escape_comments_view1
 POSTHOOK: query: show create table escape_comments_view1
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: escape_comments_db@escape_comments_view1
-CREATE VIEW `escape_comments_view1` AS SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_db.escape_comments_view1`
+CREATE VIEW `escape_comments_view1` AS SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_view1`
 PREHOOK: query: describe formatted escape_comments_view1
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: escape_comments_db@escape_comments_view1
@@ -169,7 +169,7 @@ Sort Columns:       	[]
 	 	 
 # View Information	 	 
 Original Query:     	select col1 from escape_comments_tbl1	 
-Expanded Query:     	SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_db.escape_comments_view1`	 
+Expanded Query:     	SELECT `col1` AS `col1` FROM (select `escape_comments_tbl1`.`col1` from `escape_comments_db`.`escape_comments_tbl1`) `escape_comments_view1`	 
 PREHOOK: query: drop database escape_comments_db cascade
 PREHOOK: type: DROPDATABASE
 PREHOOK: Input: database:escape_comments_db
diff --git a/ql/src/test/results/clientpositive/groupby_ppr.q.out b/ql/src/test/results/clientpositive/groupby_ppr.q.out
index e9c20af..d68680c 100644
--- a/ql/src/test/results/clientpositive/groupby_ppr.q.out
+++ b/ql/src/test/results/clientpositive/groupby_ppr.q.out
@@ -41,18 +41,18 @@ STAGE PLANS:
           TableScan
             alias: src
             filterExpr: (ds = '2008-04-08') (type: boolean)
-            Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: PARTIAL
             GatherStats: false
             Select Operator
               expressions: substr(key, 1, 1) (type: string), substr(value, 5) (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE
+              Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: PARTIAL
               Reduce Output Operator
                 key expressions: _col0 (type: string), _col1 (type: string)
                 null sort order: aa
                 sort order: ++
                 Map-reduce partition columns: _col0 (type: string)
-                Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: PARTIAL
                 tag: -1
                 auto parallelism: false
       Execution mode: vectorized
@@ -167,17 +167,17 @@ STAGE PLANS:
           keys: KEY._col0 (type: string)
           mode: complete
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 316 Data size: 63200 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 316 Data size: 63200 Basic stats: COMPLETE Column stats: PARTIAL
           Select Operator
             expressions: _col0 (type: string), UDFToInteger(_col1) (type: int), concat(_col0, _col2) (type: string)
             outputColumnNames: _col0, _col1, _col2
-            Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: PARTIAL
             File Output Operator
               compressed: false
               GlobalTableId: 1
 #### A masked pattern was here ####
               NumFilesPerFileSink: 1
-              Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: COMPLETE
+              Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: PARTIAL
 #### A masked pattern was here ####
               table:
                   input format: org.apache.hadoop.mapred.TextInputFormat
@@ -208,7 +208,7 @@ STAGE PLANS:
             Select Operator
               expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
               outputColumnNames: key, c1, c2
-              Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: COMPLETE
+              Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: PARTIAL
               File Output Operator
                 compressed: false
                 GlobalTableId: 0
@@ -275,7 +275,7 @@ STAGE PLANS:
             Reduce Output Operator
               null sort order: 
               sort order: 
-              Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: COMPLETE
+              Statistics: Num rows: 316 Data size: 117552 Basic stats: COMPLETE Column stats: PARTIAL
               tag: -1
               value expressions: key (type: string), c1 (type: int), c2 (type: string)
               auto parallelism: false
@@ -313,13 +313,13 @@ STAGE PLANS:
           aggregations: compute_stats(VALUE._col0, 'hll'), compute_stats(VALUE._col2, 'hll'), compute_stats(VALUE._col3, 'hll')
           mode: complete
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 1 Data size: 1320 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 1 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
           File Output Operator
             compressed: false
             GlobalTableId: 0
 #### A masked pattern was here ####
             NumFilesPerFileSink: 1
-            Statistics: Num rows: 1 Data size: 1320 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 1 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
 #### A masked pattern was here ####
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out
index 2c9b36d..ec49e93 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out
@@ -111,7 +111,7 @@ STAGE PLANS:
         Create View
           partition columns: key string
           columns: value string
-          expanded text: SELECT `value`, `key` FROM (SELECT `src_txn`.`value`, `src_txn`.`key` FROM `default`.`src_txn` where `src_txn`.`key` > 200 and `src_txn`.`key` < 250) `default.partition_mv_1`
+          expanded text: SELECT `value`, `key` FROM (SELECT `src_txn`.`value`, `src_txn`.`key` FROM `default`.`src_txn` where `src_txn`.`key` > 200 and `src_txn`.`key` < 250) `partition_mv_1`
           name: default.partition_mv_1
           original text: SELECT value, key FROM src_txn where key > 200 and key < 250
           rewrite enabled: true
@@ -256,7 +256,7 @@ Sort Columns:       	[]
 	 	 
 # Materialized View Information	 	 
 Original Query:     	SELECT value, key FROM src_txn where key > 200 and key < 250	 
-Expanded Query:     	SELECT `value`, `key` FROM (SELECT `src_txn`.`value`, `src_txn`.`key` FROM `default`.`src_txn` where `src_txn`.`key` > 200 and `src_txn`.`key` < 250) `default.partition_mv_1`	 
+Expanded Query:     	SELECT `value`, `key` FROM (SELECT `src_txn`.`value`, `src_txn`.`key` FROM `default`.`src_txn` where `src_txn`.`key` > 200 and `src_txn`.`key` < 250) `partition_mv_1`	 
 Rewrite Enabled:    	Yes                 	 
 Outdated for Rewriting:	No                  	 
 PREHOOK: query: EXPLAIN
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_partitioned_3.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_partitioned_3.q.out
index 6afa85d..a5cd6b1 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_partitioned_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_partitioned_3.q.out
@@ -124,7 +124,7 @@ STAGE PLANS:
         Create View
           partition columns: key string
           columns: value string
-          expanded text: SELECT `value`, `key` FROM (SELECT `src_txn`.`value`, `src_txn`.`key` FROM `default`.`src_txn` where `src_txn`.`key` > 200 and `src_txn`.`key` < 250) `default.partition_mv_sdp`
+          expanded text: SELECT `value`, `key` FROM (SELECT `src_txn`.`value`, `src_txn`.`key` FROM `default`.`src_txn` where `src_txn`.`key` > 200 and `src_txn`.`key` < 250) `partition_mv_sdp`
           name: default.partition_mv_sdp
           original text: SELECT value, key FROM src_txn where key > 200 and key < 250
           rewrite enabled: true
diff --git a/ql/src/test/results/clientpositive/masking_14.q.out b/ql/src/test/results/clientpositive/masking_14.q.out
new file mode 100644
index 0000000..254af5a
--- /dev/null
+++ b/ql/src/test/results/clientpositive/masking_14.q.out
@@ -0,0 +1,64 @@
+PREHOOK: query: create database atlasmask
+PREHOOK: type: CREATEDATABASE
+PREHOOK: Output: database:atlasmask
+POSTHOOK: query: create database atlasmask
+POSTHOOK: type: CREATEDATABASE
+POSTHOOK: Output: database:atlasmask
+PREHOOK: query: use atlasmask
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:atlasmask
+POSTHOOK: query: use atlasmask
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:atlasmask
+PREHOOK: query: create table masking_test_n8 (key int, value int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: atlasmask@masking_test_n8
+PREHOOK: Output: database:atlasmask
+POSTHOOK: query: create table masking_test_n8 (key int, value int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: atlasmask@masking_test_n8
+POSTHOOK: Output: database:atlasmask
+PREHOOK: query: insert into masking_test_n8 values(1,1), (2,2)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: atlasmask@masking_test_n8
+POSTHOOK: query: insert into masking_test_n8 values(1,1), (2,2)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: atlasmask@masking_test_n8
+POSTHOOK: Lineage: masking_test_n8.key SCRIPT []
+POSTHOOK: Lineage: masking_test_n8.value SCRIPT []
+PREHOOK: query: create view testv(c,d) as select * from masking_test_n8
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: atlasmask@masking_test_n8
+PREHOOK: Output: atlasmask@testv
+PREHOOK: Output: database:atlasmask
+POSTHOOK: query: create view testv(c,d) as select * from masking_test_n8
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: atlasmask@masking_test_n8
+POSTHOOK: Output: atlasmask@testv
+POSTHOOK: Output: database:atlasmask
+POSTHOOK: Lineage: testv.c SIMPLE [(masking_test_n8)masking_test_n8.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: testv.d SIMPLE [(masking_test_n8)masking_test_n8.FieldSchema(name:value, type:int, comment:null), ]
+PREHOOK: query: select * from `atlasmask`.`testv`
+PREHOOK: type: QUERY
+PREHOOK: Input: atlasmask@masking_test_n8
+PREHOOK: Input: atlasmask@testv
+#### A masked pattern was here ####
+POSTHOOK: query: select * from `atlasmask`.`testv`
+POSTHOOK: type: QUERY
+POSTHOOK: Input: atlasmask@masking_test_n8
+POSTHOOK: Input: atlasmask@testv
+#### A masked pattern was here ####
+2	2
+PREHOOK: query: select `testv`.`c` from `atlasmask`.`testv`
+PREHOOK: type: QUERY
+PREHOOK: Input: atlasmask@masking_test_n8
+PREHOOK: Input: atlasmask@testv
+#### A masked pattern was here ####
+POSTHOOK: query: select `testv`.`c` from `atlasmask`.`testv`
+POSTHOOK: type: QUERY
+POSTHOOK: Input: atlasmask@masking_test_n8
+POSTHOOK: Input: atlasmask@testv
+#### A masked pattern was here ####
+2
diff --git a/ql/src/test/results/clientpositive/ppr_pushdown3.q.out b/ql/src/test/results/clientpositive/ppr_pushdown3.q.out
index ef44d1e..83daa40 100644
--- a/ql/src/test/results/clientpositive/ppr_pushdown3.q.out
+++ b/ql/src/test/results/clientpositive/ppr_pushdown3.q.out
@@ -25,17 +25,17 @@ STAGE PLANS:
           TableScan
             alias: srcpart
             filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
-            Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: PARTIAL
+            Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (UDFToDouble(key) < 10.0D) (type: boolean)
-              Statistics: Num rows: 666 Data size: 363636 Basic stats: COMPLETE Column stats: PARTIAL
+              Statistics: Num rows: 666 Data size: 363636 Basic stats: COMPLETE Column stats: COMPLETE
               Select Operator
                 expressions: key (type: string), value (type: string), ds (type: string), hr (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 666 Data size: 363636 Basic stats: COMPLETE Column stats: PARTIAL
+                Statistics: Num rows: 666 Data size: 363636 Basic stats: COMPLETE Column stats: COMPLETE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 666 Data size: 363636 Basic stats: COMPLETE Column stats: PARTIAL
+                  Statistics: Num rows: 666 Data size: 363636 Basic stats: COMPLETE Column stats: COMPLETE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -130,11 +130,11 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
-          Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: PARTIAL
+          Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
             expressions: key (type: string), value (type: string), ds (type: string), hr (type: string)
             outputColumnNames: _col0, _col1, _col2, _col3
-            Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: PARTIAL
+            Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
             ListSink
 
 PREHOOK: query: select * from srcpart
@@ -2179,11 +2179,11 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
-          Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: PARTIAL
+          Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
             expressions: key (type: string)
             outputColumnNames: _col0
-            Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: PARTIAL
+            Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
             ListSink
 
 PREHOOK: query: select key from srcpart
diff --git a/ql/src/test/results/clientpositive/unicode_comments.q.out b/ql/src/test/results/clientpositive/unicode_comments.q.out
index ee95406..dbbc100 100644
--- a/ql/src/test/results/clientpositive/unicode_comments.q.out
+++ b/ql/src/test/results/clientpositive/unicode_comments.q.out
@@ -110,7 +110,7 @@ PREHOOK: Input: unicode_comments_db@unicode_comments_view1
 POSTHOOK: query: show create table unicode_comments_view1
 POSTHOOK: type: SHOW_CREATETABLE
 POSTHOOK: Input: unicode_comments_db@unicode_comments_view1
-CREATE VIEW `unicode_comments_view1` AS SELECT `col1` AS `col1` FROM (select `unicode_comments_tbl1`.`col1` from `unicode_comments_db`.`unicode_comments_tbl1`) `unicode_comments_db.unicode_comments_view1`
+CREATE VIEW `unicode_comments_view1` AS SELECT `col1` AS `col1` FROM (select `unicode_comments_tbl1`.`col1` from `unicode_comments_db`.`unicode_comments_tbl1`) `unicode_comments_view1`
 PREHOOK: query: describe formatted unicode_comments_view1
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: unicode_comments_db@unicode_comments_view1
@@ -141,7 +141,7 @@ Sort Columns:       	[]
 	 	 
 # View Information	 	 
 Original Query:     	select col1 from unicode_comments_tbl1	 
-Expanded Query:     	SELECT `col1` AS `col1` FROM (select `unicode_comments_tbl1`.`col1` from `unicode_comments_db`.`unicode_comments_tbl1`) `unicode_comments_db.unicode_comments_view1`	 
+Expanded Query:     	SELECT `col1` AS `col1` FROM (select `unicode_comments_tbl1`.`col1` from `unicode_comments_db`.`unicode_comments_tbl1`) `unicode_comments_view1`	 
 PREHOOK: query: drop database unicode_comments_db cascade
 PREHOOK: type: DROPDATABASE
 PREHOOK: Input: database:unicode_comments_db