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 1ab7158898..bd9f432281 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 @@ -533,6 +533,7 @@ public void doPhase1QBExpr(ASTNode ast, QBExpr qbexpr, String id, String alias) throws SemanticException { doPhase1QBExpr(ast, qbexpr, id, alias, false); } + @SuppressWarnings("nls") public void doPhase1QBExpr(ASTNode ast, QBExpr qbexpr, String id, String alias, boolean insideView) throws SemanticException { @@ -572,15 +573,15 @@ public void doPhase1QBExpr(ASTNode ast, QBExpr qbexpr, String id, String alias, // query 1 assert (ast.getChild(0) != null); QBExpr qbexpr1 = new QBExpr(alias + SUBQUERY_TAG_1); - doPhase1QBExpr((ASTNode) ast.getChild(0), qbexpr1, id + SUBQUERY_TAG_1, alias - + SUBQUERY_TAG_1, insideView); + doPhase1QBExpr((ASTNode) ast.getChild(0), qbexpr1, id, + alias + SUBQUERY_TAG_1, insideView); qbexpr.setQBExpr1(qbexpr1); // query 2 assert (ast.getChild(1) != null); QBExpr qbexpr2 = new QBExpr(alias + SUBQUERY_TAG_2); - doPhase1QBExpr((ASTNode) ast.getChild(1), qbexpr2, id + SUBQUERY_TAG_2, alias - + SUBQUERY_TAG_2, insideView); + doPhase1QBExpr((ASTNode) ast.getChild(1), qbexpr2, id, + alias + SUBQUERY_TAG_2, insideView); qbexpr.setQBExpr2(qbexpr2); } } diff --git a/ql/src/test/queries/clientpositive/union38.q b/ql/src/test/queries/clientpositive/union38.q new file mode 100644 index 0000000000..7db0814562 --- /dev/null +++ b/ql/src/test/queries/clientpositive/union38.q @@ -0,0 +1,50 @@ +--create table test1 + +create table test1( name String, id int, address String); +insert into test1 values("Young", 1, "Sydney"), ("Jin", 2, "Mel"); +analyze table test1 compute statistics for columns; + +create view test1_view as select * from test1; +select * from test1_view; + + +--create table test2 + +create table test2( name String, id int, address String); +insert into test2 values("Eun", 3, "Bri"), ("Kim", 4, "Ad"); + +create view test2_view as select * from test2; +select * from test2_view; + +select * from test1 union select * from test2; +select * from test1_view union select * from test2_view; + + +--create view test_view using tables with union + +create view test_view as select * from test1 union select * from test2; +select * from test_view; + + +--create view test_view using tables with union all + +create view test_view1 as select * from test1 union all select * from test2; +select * from test_view1; + + +--create view test_view using temp table with union + +create view test_view2 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union select * from tmp_2; +select * from test_view2; + + +--create view test_view using temp table with union all + +create view test_view3 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union all select * from tmp_2; +select * from test_view3; + + +--create table test_table using temp table with union all + +create table test_table1 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union all select * from tmp_2; +select * from test_table1; diff --git a/ql/src/test/results/clientpositive/union22.q.out b/ql/src/test/results/clientpositive/union22.q.out index dc53735e05..43c9f857ba 100644 --- a/ql/src/test/results/clientpositive/union22.q.out +++ b/ql/src/test/results/clientpositive/union22.q.out @@ -86,7 +86,7 @@ STAGE PLANS: Stage: Stage-8 Map Reduce Local Work Alias -> Map Local Tables: - null-subquery2:$hdt$_0-subquery2:$hdt$_1:dst_union22_delta + $hdt$_0-subquery2:$hdt$_1:dst_union22_delta Fetch Operator limit: -1 Partition Description: @@ -138,7 +138,7 @@ STAGE PLANS: name: default.dst_union22_delta name: default.dst_union22_delta Alias -> Map Local Operator Tree: - null-subquery2:$hdt$_0-subquery2:$hdt$_1:dst_union22_delta + $hdt$_0-subquery2:$hdt$_1:dst_union22_delta TableScan alias: dst_union22_delta Statistics: Num rows: 500 Data size: 16936 Basic stats: COMPLETE Column stats: NONE @@ -316,7 +316,7 @@ STAGE PLANS: name: default.dst_union22_delta name: default.dst_union22_delta Truncated Path -> Alias: - /dst_union22/ds=1 [null-subquery2:$hdt$_0-subquery2:$hdt$_0:a] + /dst_union22/ds=1 [$hdt$_0-subquery2:$hdt$_0:a] Stage: Stage-2 Map Reduce @@ -513,7 +513,7 @@ STAGE PLANS: name: default.dst_union22_delta name: default.dst_union22_delta Truncated Path -> Alias: - /dst_union22_delta/ds=1 [null-subquery1:$hdt$_0-subquery1:dst_union22_delta] + /dst_union22_delta/ds=1 [$hdt$_0-subquery1:dst_union22_delta] #### A masked pattern was here #### Needs Tagging: false Reduce Operator Tree: @@ -733,8 +733,8 @@ STAGE PLANS: name: default.dst_union22_delta name: default.dst_union22_delta Truncated Path -> Alias: - /dst_union22/ds=1 [null-subquery2:$hdt$_0-subquery2:$hdt$_0:a] - /dst_union22_delta/ds=1 [null-subquery2:$hdt$_0-subquery2:$hdt$_1:dst_union22_delta] + /dst_union22/ds=1 [$hdt$_0-subquery2:$hdt$_0:a] + /dst_union22_delta/ds=1 [$hdt$_0-subquery2:$hdt$_1:dst_union22_delta] Needs Tagging: true Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/union24.q.out b/ql/src/test/results/clientpositive/union24.q.out index 8920506a1b..334affaeca 100644 --- a/ql/src/test/results/clientpositive/union24.q.out +++ b/ql/src/test/results/clientpositive/union24.q.out @@ -153,7 +153,7 @@ STAGE PLANS: name: default.src5 name: default.src5 Truncated Path -> Alias: - /src5 [null-subquery2:$hdt$_2-subquery2:src5] + /src5 [$hdt$_2-subquery2:src5] Needs Tagging: false Reduce Operator Tree: Group By Operator @@ -488,9 +488,9 @@ STAGE PLANS: name: default.src4 name: default.src4 Truncated Path -> Alias: - /src2 [null-subquery1-subquery1-subquery1:$hdt$_2-subquery1-subquery1-subquery1:src2] - /src3 [null-subquery1-subquery1-subquery2:$hdt$_2-subquery1-subquery1-subquery2:src3] - /src4 [null-subquery1-subquery2:$hdt$_2-subquery1-subquery2:src4] + /src2 [$hdt$_2-subquery1-subquery1-subquery1:src2] + /src3 [$hdt$_2-subquery1-subquery1-subquery2:src3] + /src4 [$hdt$_2-subquery1-subquery2:src4] #### A masked pattern was here #### Stage: Stage-0 @@ -721,8 +721,8 @@ STAGE PLANS: name: default.src5 name: default.src5 Truncated Path -> Alias: - /src4 [null-subquery2:$hdt$_1-subquery2:$hdt$_1:a] - /src5 [null-subquery2:$hdt$_1-subquery2:$hdt$_2:b] + /src4 [$hdt$_1-subquery2:$hdt$_1:a] + /src5 [$hdt$_1-subquery2:$hdt$_2:b] Needs Tagging: true Reduce Operator Tree: Join Operator @@ -979,8 +979,8 @@ STAGE PLANS: name: default.src3 name: default.src3 Truncated Path -> Alias: - /src2 [null-subquery1-subquery1:$hdt$_1-subquery1-subquery1:src2] - /src3 [null-subquery1-subquery2:$hdt$_1-subquery1-subquery2:src3] + /src2 [$hdt$_1-subquery1-subquery1:src2] + /src3 [$hdt$_1-subquery1-subquery2:src3] #### A masked pattern was here #### Stage: Stage-0 @@ -1201,8 +1201,8 @@ STAGE PLANS: name: default.src5 name: default.src5 Truncated Path -> Alias: - /src4 [null-subquery2:$hdt$_1-subquery2:$hdt$_1:a] - /src5 [null-subquery2:$hdt$_1-subquery2:$hdt$_2:b] + /src4 [$hdt$_1-subquery2:$hdt$_1:a] + /src5 [$hdt$_1-subquery2:$hdt$_2:b] Needs Tagging: true Reduce Operator Tree: Join Operator @@ -1530,8 +1530,8 @@ STAGE PLANS: name: default.src3 name: default.src3 Truncated Path -> Alias: - /src2 [null-subquery1-subquery1:$hdt$_1-subquery1-subquery1:src2] - /src3 [null-subquery1-subquery2:$hdt$_1-subquery1-subquery2:src3] + /src2 [$hdt$_1-subquery1-subquery1:src2] + /src3 [$hdt$_1-subquery1-subquery2:src3] #### A masked pattern was here #### Stage: Stage-0 diff --git a/ql/src/test/results/clientpositive/union34.q.out b/ql/src/test/results/clientpositive/union34.q.out index 527b85a517..8a65a52d02 100644 --- a/ql/src/test/results/clientpositive/union34.q.out +++ b/ql/src/test/results/clientpositive/union34.q.out @@ -83,11 +83,11 @@ STAGE PLANS: Stage: Stage-7 Map Reduce Local Work Alias -> Map Local Tables: - null-subquery1-subquery1:$hdt$_1-subquery1-subquery1:$hdt$_0:src10_1 + $hdt$_1-subquery1-subquery1:$hdt$_0:src10_1 Fetch Operator limit: -1 Alias -> Map Local Operator Tree: - null-subquery1-subquery1:$hdt$_1-subquery1-subquery1:$hdt$_0:src10_1 + $hdt$_1-subquery1-subquery1:$hdt$_0:src10_1 TableScan alias: src10_1 Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/union38.q.out b/ql/src/test/results/clientpositive/union38.q.out new file mode 100644 index 0000000000..7632d3fa5f --- /dev/null +++ b/ql/src/test/results/clientpositive/union38.q.out @@ -0,0 +1,281 @@ +PREHOOK: query: create table test1( name String, id int, address String) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@test1 +POSTHOOK: query: create table test1( name String, id int, address String) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test1 +PREHOOK: query: insert into test1 values("Young", 1, "Sydney"), ("Jin", 2, "Mel") +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@test1 +POSTHOOK: query: insert into test1 values("Young", 1, "Sydney"), ("Jin", 2, "Mel") +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@test1 +POSTHOOK: Lineage: test1.address SCRIPT [] +POSTHOOK: Lineage: test1.id SCRIPT [] +POSTHOOK: Lineage: test1.name SCRIPT [] +PREHOOK: query: analyze table test1 compute statistics for columns +PREHOOK: type: ANALYZE_TABLE +PREHOOK: Input: default@test1 +PREHOOK: Output: default@test1 +#### A masked pattern was here #### +POSTHOOK: query: analyze table test1 compute statistics for columns +POSTHOOK: type: ANALYZE_TABLE +POSTHOOK: Input: default@test1 +POSTHOOK: Output: default@test1 +#### A masked pattern was here #### +PREHOOK: query: create view test1_view as select * from test1 +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@test1 +PREHOOK: Output: database:default +PREHOOK: Output: default@test1_view +POSTHOOK: query: create view test1_view as select * from test1 +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@test1 +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test1_view +POSTHOOK: Lineage: test1_view.address SIMPLE [(test1)test1.FieldSchema(name:address, type:string, comment:null), ] +POSTHOOK: Lineage: test1_view.id SIMPLE [(test1)test1.FieldSchema(name:id, type:int, comment:null), ] +POSTHOOK: Lineage: test1_view.name SIMPLE [(test1)test1.FieldSchema(name:name, type:string, comment:null), ] +PREHOOK: query: select * from test1_view +PREHOOK: type: QUERY +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test1_view +#### A masked pattern was here #### +POSTHOOK: query: select * from test1_view +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test1_view +#### A masked pattern was here #### +Young 1 Sydney +Jin 2 Mel +PREHOOK: query: create table test2( name String, id int, address String) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@test2 +POSTHOOK: query: create table test2( name String, id int, address String) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test2 +PREHOOK: query: insert into test2 values("Eun", 3, "Bri"), ("Kim", 4, "Ad") +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@test2 +POSTHOOK: query: insert into test2 values("Eun", 3, "Bri"), ("Kim", 4, "Ad") +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@test2 +POSTHOOK: Lineage: test2.address SCRIPT [] +POSTHOOK: Lineage: test2.id SCRIPT [] +POSTHOOK: Lineage: test2.name SCRIPT [] +PREHOOK: query: create view test2_view as select * from test2 +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@test2 +PREHOOK: Output: database:default +PREHOOK: Output: default@test2_view +POSTHOOK: query: create view test2_view as select * from test2 +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@test2 +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test2_view +POSTHOOK: Lineage: test2_view.address SIMPLE [(test2)test2.FieldSchema(name:address, type:string, comment:null), ] +POSTHOOK: Lineage: test2_view.id SIMPLE [(test2)test2.FieldSchema(name:id, type:int, comment:null), ] +POSTHOOK: Lineage: test2_view.name SIMPLE [(test2)test2.FieldSchema(name:name, type:string, comment:null), ] +PREHOOK: query: select * from test2_view +PREHOOK: type: QUERY +PREHOOK: Input: default@test2 +PREHOOK: Input: default@test2_view +#### A masked pattern was here #### +POSTHOOK: query: select * from test2_view +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test2 +POSTHOOK: Input: default@test2_view +#### A masked pattern was here #### +Eun 3 Bri +Kim 4 Ad +PREHOOK: query: select * from test1 union select * from test2 +PREHOOK: type: QUERY +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +#### A masked pattern was here #### +POSTHOOK: query: select * from test1 union select * from test2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +#### A masked pattern was here #### +Eun 3 Bri +Jin 2 Mel +Kim 4 Ad +Young 1 Sydney +PREHOOK: query: select * from test1_view union select * from test2_view +PREHOOK: type: QUERY +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test1_view +PREHOOK: Input: default@test2 +PREHOOK: Input: default@test2_view +#### A masked pattern was here #### +POSTHOOK: query: select * from test1_view union select * from test2_view +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test1_view +POSTHOOK: Input: default@test2 +POSTHOOK: Input: default@test2_view +#### A masked pattern was here #### +Eun 3 Bri +Jin 2 Mel +Kim 4 Ad +Young 1 Sydney +PREHOOK: query: create view test_view as select * from test1 union select * from test2 +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Output: database:default +PREHOOK: Output: default@test_view +POSTHOOK: query: create view test_view as select * from test1 union select * from test2 +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test_view +POSTHOOK: Lineage: test_view.address EXPRESSION [(test1)test1.FieldSchema(name:address, type:string, comment:null), (test2)test2.FieldSchema(name:address, type:string, comment:null), ] +POSTHOOK: Lineage: test_view.id EXPRESSION [(test1)test1.FieldSchema(name:id, type:int, comment:null), (test2)test2.FieldSchema(name:id, type:int, comment:null), ] +POSTHOOK: Lineage: test_view.name EXPRESSION [(test1)test1.FieldSchema(name:name, type:string, comment:null), (test2)test2.FieldSchema(name:name, type:string, comment:null), ] +PREHOOK: query: select * from test_view +PREHOOK: type: QUERY +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Input: default@test_view +#### A masked pattern was here #### +POSTHOOK: query: select * from test_view +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Input: default@test_view +#### A masked pattern was here #### +Eun 3 Bri +Jin 2 Mel +Kim 4 Ad +Young 1 Sydney +PREHOOK: query: create view test_view1 as select * from test1 union all select * from test2 +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Output: database:default +PREHOOK: Output: default@test_view1 +POSTHOOK: query: create view test_view1 as select * from test1 union all select * from test2 +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test_view1 +POSTHOOK: Lineage: test_view1.address EXPRESSION [(test1)test1.FieldSchema(name:address, type:string, comment:null), (test2)test2.FieldSchema(name:address, type:string, comment:null), ] +POSTHOOK: Lineage: test_view1.id EXPRESSION [(test1)test1.FieldSchema(name:id, type:int, comment:null), (test2)test2.FieldSchema(name:id, type:int, comment:null), ] +POSTHOOK: Lineage: test_view1.name EXPRESSION [(test1)test1.FieldSchema(name:name, type:string, comment:null), (test2)test2.FieldSchema(name:name, type:string, comment:null), ] +PREHOOK: query: select * from test_view1 +PREHOOK: type: QUERY +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Input: default@test_view1 +#### A masked pattern was here #### +POSTHOOK: query: select * from test_view1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Input: default@test_view1 +#### A masked pattern was here #### +Young 1 Sydney +Jin 2 Mel +Eun 3 Bri +Kim 4 Ad +PREHOOK: query: create view test_view2 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union select * from tmp_2 +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Output: database:default +PREHOOK: Output: default@test_view2 +POSTHOOK: query: create view test_view2 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union select * from tmp_2 +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test_view2 +POSTHOOK: Lineage: test_view2.address EXPRESSION [(test1)test1.FieldSchema(name:address, type:string, comment:null), (test2)test2.FieldSchema(name:address, type:string, comment:null), ] +POSTHOOK: Lineage: test_view2.id EXPRESSION [(test1)test1.FieldSchema(name:id, type:int, comment:null), (test2)test2.FieldSchema(name:id, type:int, comment:null), ] +POSTHOOK: Lineage: test_view2.name EXPRESSION [(test1)test1.FieldSchema(name:name, type:string, comment:null), (test2)test2.FieldSchema(name:name, type:string, comment:null), ] +PREHOOK: query: select * from test_view2 +PREHOOK: type: QUERY +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Input: default@test_view2 +#### A masked pattern was here #### +POSTHOOK: query: select * from test_view2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Input: default@test_view2 +#### A masked pattern was here #### +Eun 3 Bri +Jin 2 Mel +Kim 4 Ad +Young 1 Sydney +PREHOOK: query: create view test_view3 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union all select * from tmp_2 +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Output: database:default +PREHOOK: Output: default@test_view3 +POSTHOOK: query: create view test_view3 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union all select * from tmp_2 +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test_view3 +POSTHOOK: Lineage: test_view3.address EXPRESSION [(test1)test1.FieldSchema(name:address, type:string, comment:null), (test2)test2.FieldSchema(name:address, type:string, comment:null), ] +POSTHOOK: Lineage: test_view3.id EXPRESSION [(test1)test1.FieldSchema(name:id, type:int, comment:null), (test2)test2.FieldSchema(name:id, type:int, comment:null), ] +POSTHOOK: Lineage: test_view3.name EXPRESSION [(test1)test1.FieldSchema(name:name, type:string, comment:null), (test2)test2.FieldSchema(name:name, type:string, comment:null), ] +PREHOOK: query: select * from test_view3 +PREHOOK: type: QUERY +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Input: default@test_view3 +#### A masked pattern was here #### +POSTHOOK: query: select * from test_view3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Input: default@test_view3 +#### A masked pattern was here #### +Young 1 Sydney +Jin 2 Mel +Eun 3 Bri +Kim 4 Ad +PREHOOK: query: create table test_table1 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union all select * from tmp_2 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@test1 +PREHOOK: Input: default@test2 +PREHOOK: Output: database:default +PREHOOK: Output: default@test_table1 +POSTHOOK: query: create table test_table1 as with tmp_1 as ( select * from test1 ), tmp_2 as (select * from test2 ) select * from tmp_1 union all select * from tmp_2 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@test1 +POSTHOOK: Input: default@test2 +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test_table1 +POSTHOOK: Lineage: test_table1.address EXPRESSION [(test1)test1.FieldSchema(name:address, type:string, comment:null), (test2)test2.FieldSchema(name:address, type:string, comment:null), ] +POSTHOOK: Lineage: test_table1.id EXPRESSION [(test1)test1.FieldSchema(name:id, type:int, comment:null), (test2)test2.FieldSchema(name:id, type:int, comment:null), ] +POSTHOOK: Lineage: test_table1.name EXPRESSION [(test1)test1.FieldSchema(name:name, type:string, comment:null), (test2)test2.FieldSchema(name:name, type:string, comment:null), ] +PREHOOK: query: select * from test_table1 +PREHOOK: type: QUERY +PREHOOK: Input: default@test_table1 +#### A masked pattern was here #### +POSTHOOK: query: select * from test_table1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test_table1 +#### A masked pattern was here #### +Young 1 Sydney +Jin 2 Mel +Eun 3 Bri +Kim 4 Ad diff --git a/ql/src/test/results/clientpositive/union_ppr.q.out b/ql/src/test/results/clientpositive/union_ppr.q.out index 1be1e815ce..a42d619bdf 100644 --- a/ql/src/test/results/clientpositive/union_ppr.q.out +++ b/ql/src/test/results/clientpositive/union_ppr.q.out @@ -176,8 +176,8 @@ STAGE PLANS: name: default.srcpart name: default.srcpart Truncated Path -> Alias: - /srcpart/ds=2008-04-08/hr=11 [a-subquery1:_u1-subquery1:x, a-subquery2:_u1-subquery2:y] - /srcpart/ds=2008-04-08/hr=12 [a-subquery1:_u1-subquery1:x, a-subquery2:_u1-subquery2:y] + /srcpart/ds=2008-04-08/hr=11 [a:_u1-subquery1:x, a:_u1-subquery2:y] + /srcpart/ds=2008-04-08/hr=12 [a:_u1-subquery1:x, a:_u1-subquery2:y] Needs Tagging: false Reduce Operator Tree: Select Operator diff --git a/ql/src/test/results/clientpositive/union_remove_12.q.out b/ql/src/test/results/clientpositive/union_remove_12.q.out index 35bff6a64d..360e178dbc 100644 --- a/ql/src/test/results/clientpositive/union_remove_12.q.out +++ b/ql/src/test/results/clientpositive/union_remove_12.q.out @@ -116,11 +116,11 @@ STAGE PLANS: Stage: Stage-10 Map Reduce Local Work Alias -> Map Local Tables: - null-subquery2:$hdt$_0-subquery2:$hdt$_0:a + $hdt$_0-subquery2:$hdt$_0:a Fetch Operator limit: -1 Alias -> Map Local Operator Tree: - null-subquery2:$hdt$_0-subquery2:$hdt$_0:a + $hdt$_0-subquery2:$hdt$_0:a TableScan alias: a Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/union_remove_13.q.out b/ql/src/test/results/clientpositive/union_remove_13.q.out index cfc89f90cc..daaebad8c3 100644 --- a/ql/src/test/results/clientpositive/union_remove_13.q.out +++ b/ql/src/test/results/clientpositive/union_remove_13.q.out @@ -135,11 +135,11 @@ STAGE PLANS: Stage: Stage-10 Map Reduce Local Work Alias -> Map Local Tables: - null-subquery2:$hdt$_0-subquery2:$hdt$_0:a + $hdt$_0-subquery2:$hdt$_0:a Fetch Operator limit: -1 Alias -> Map Local Operator Tree: - null-subquery2:$hdt$_0-subquery2:$hdt$_0:a + $hdt$_0-subquery2:$hdt$_0:a TableScan alias: a Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/union_remove_14.q.out b/ql/src/test/results/clientpositive/union_remove_14.q.out index 35bff6a64d..360e178dbc 100644 --- a/ql/src/test/results/clientpositive/union_remove_14.q.out +++ b/ql/src/test/results/clientpositive/union_remove_14.q.out @@ -116,11 +116,11 @@ STAGE PLANS: Stage: Stage-10 Map Reduce Local Work Alias -> Map Local Tables: - null-subquery2:$hdt$_0-subquery2:$hdt$_0:a + $hdt$_0-subquery2:$hdt$_0:a Fetch Operator limit: -1 Alias -> Map Local Operator Tree: - null-subquery2:$hdt$_0-subquery2:$hdt$_0:a + $hdt$_0-subquery2:$hdt$_0:a TableScan alias: a Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/union_stats.q.out b/ql/src/test/results/clientpositive/union_stats.q.out index 8bd3f44b6e..73e880b68b 100644 --- a/ql/src/test/results/clientpositive/union_stats.q.out +++ b/ql/src/test/results/clientpositive/union_stats.q.out @@ -131,7 +131,7 @@ STAGE PLANS: name: default.src name: default.src Truncated Path -> Alias: - /src [null-subquery1:$hdt$_0-subquery1:src, null-subquery2:$hdt$_0-subquery2:src] + /src [$hdt$_0-subquery1:src, $hdt$_0-subquery2:src] Stage: Stage-7 Conditional Operator