http://git-wip-us.apache.org/repos/asf/hive/blob/7dab21ac/ql/src/test/results/clientpositive/join_star.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_star.q.out 
b/ql/src/test/results/clientpositive/join_star.q.out
index a75b48d..09db1f6 100644
--- a/ql/src/test/results/clientpositive/join_star.q.out
+++ b/ql/src/test/results/clientpositive/join_star.q.out
@@ -139,21 +139,25 @@ STAGE PLANS:
   Stage: Stage-4
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        dim1 
+        $hdt$_1:dim1 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        dim1 
+        $hdt$_1:dim1 
           TableScan
             alias: dim1
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
             Filter Operator
               predicate: f1 is not null (type: boolean)
               Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-              HashTable Sink Operator
-                keys:
-                  0 d1 (type: int)
-                  1 f1 (type: int)
+              Select Operator
+                expressions: f1 (type: int), f2 (type: int)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col2 (type: int)
+                    1 _col0 (type: int)
 
   Stage: Stage-3
     Map Reduce
@@ -164,25 +168,29 @@ STAGE PLANS:
             Filter Operator
               predicate: d1 is not null (type: boolean)
               Statistics: Num rows: 4 Data size: 49 Basic stats: COMPLETE 
Column stats: NONE
-              Map Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 d1 (type: int)
-                  1 f1 (type: int)
-                outputColumnNames: _col0, _col1, _col8
-                Statistics: Num rows: 4 Data size: 53 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: int), _col1 (type: int), _col8 
(type: int)
-                  outputColumnNames: _col0, _col1, _col2
+              Select Operator
+                expressions: m1 (type: int), m2 (type: int), d1 (type: int)
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 4 Data size: 49 Basic stats: COMPLETE 
Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col2 (type: int)
+                    1 _col0 (type: int)
+                  outputColumnNames: _col0, _col1, _col4
                   Statistics: Num rows: 4 Data size: 53 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
+                  Select Operator
+                    expressions: _col0 (type: int), _col1 (type: int), _col4 
(type: int)
+                    outputColumnNames: _col0, _col1, _col2
                     Statistics: Num rows: 4 Data size: 53 Basic stats: 
COMPLETE Column stats: NONE
-                    table:
-                        input format: org.apache.hadoop.mapred.TextInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 4 Data size: 53 Basic stats: 
COMPLETE Column stats: NONE
+                      table:
+                          input format: 
org.apache.hadoop.mapred.TextInputFormat
+                          output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                          serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
       Local Work:
         Map Reduce Local Work
 
@@ -225,35 +233,43 @@ STAGE PLANS:
   Stage: Stage-7
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        dim1 
+        $hdt$_1:dim1 
           Fetch Operator
             limit: -1
-        dim2 
+        $hdt$_2:dim2 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        dim1 
+        $hdt$_1:dim1 
           TableScan
             alias: dim1
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
             Filter Operator
               predicate: f1 is not null (type: boolean)
               Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-              HashTable Sink Operator
-                keys:
-                  0 d1 (type: int)
-                  1 f1 (type: int)
-        dim2 
+              Select Operator
+                expressions: f1 (type: int), f2 (type: int)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col2 (type: int)
+                    1 _col0 (type: int)
+        $hdt$_2:dim2 
           TableScan
             alias: dim2
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
             Filter Operator
               predicate: f3 is not null (type: boolean)
               Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-              HashTable Sink Operator
-                keys:
-                  0 _col3 (type: int)
-                  1 f3 (type: int)
+              Select Operator
+                expressions: f3 (type: int), f4 (type: int)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col3 (type: int)
+                    1 _col0 (type: int)
 
   Stage: Stage-5
     Map Reduce
@@ -264,33 +280,37 @@ STAGE PLANS:
             Filter Operator
               predicate: (d1 is not null and d2 is not null) (type: boolean)
               Statistics: Num rows: 2 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
-              Map Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 d1 (type: int)
-                  1 f1 (type: int)
-                outputColumnNames: _col0, _col1, _col3, _col8
-                Statistics: Num rows: 2 Data size: 35 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: m1 (type: int), m2 (type: int), d1 (type: int), 
d2 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3
+                Statistics: Num rows: 2 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
                   keys:
-                    0 _col3 (type: int)
-                    1 f3 (type: int)
-                  outputColumnNames: _col0, _col1, _col8, _col13
-                  Statistics: Num rows: 2 Data size: 38 Basic stats: COMPLETE 
Column stats: NONE
-                  Select Operator
-                    expressions: _col0 (type: int), _col1 (type: int), _col8 
(type: int), _col13 (type: int)
-                    outputColumnNames: _col0, _col1, _col2, _col3
+                    0 _col2 (type: int)
+                    1 _col0 (type: int)
+                  outputColumnNames: _col0, _col1, _col3, _col5
+                  Statistics: Num rows: 2 Data size: 35 Basic stats: COMPLETE 
Column stats: NONE
+                  Map Join Operator
+                    condition map:
+                         Inner Join 0 to 1
+                    keys:
+                      0 _col3 (type: int)
+                      1 _col0 (type: int)
+                    outputColumnNames: _col0, _col1, _col5, _col7
                     Statistics: Num rows: 2 Data size: 38 Basic stats: 
COMPLETE Column stats: NONE
-                    File Output Operator
-                      compressed: false
+                    Select Operator
+                      expressions: _col0 (type: int), _col1 (type: int), _col5 
(type: int), _col7 (type: int)
+                      outputColumnNames: _col0, _col1, _col2, _col3
                       Statistics: Num rows: 2 Data size: 38 Basic stats: 
COMPLETE Column stats: NONE
-                      table:
-                          input format: 
org.apache.hadoop.mapred.TextInputFormat
-                          output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                          serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      File Output Operator
+                        compressed: false
+                        Statistics: Num rows: 2 Data size: 38 Basic stats: 
COMPLETE Column stats: NONE
+                        table:
+                            input format: 
org.apache.hadoop.mapred.TextInputFormat
+                            output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                            serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
       Local Work:
         Map Reduce Local Work
 
@@ -335,35 +355,43 @@ STAGE PLANS:
   Stage: Stage-7
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        dim1 
+        $hdt$_1:dim1 
           Fetch Operator
             limit: -1
-        dim2 
+        $hdt$_2:dim2 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        dim1 
+        $hdt$_1:dim1 
           TableScan
             alias: dim1
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
             Filter Operator
               predicate: (f1 is not null and f2 is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-              HashTable Sink Operator
-                keys:
-                  0 d1 (type: int)
-                  1 f1 (type: int)
-        dim2 
+              Select Operator
+                expressions: f1 (type: int), f2 (type: int)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col2 (type: int)
+                    1 _col0 (type: int)
+        $hdt$_2:dim2 
           TableScan
             alias: dim2
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
             Filter Operator
               predicate: f3 is not null (type: boolean)
               Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-              HashTable Sink Operator
-                keys:
-                  0 _col8 (type: int)
-                  1 f3 (type: int)
+              Select Operator
+                expressions: f3 (type: int), f4 (type: int)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col4 (type: int)
+                    1 _col0 (type: int)
 
   Stage: Stage-5
     Map Reduce
@@ -374,33 +402,37 @@ STAGE PLANS:
             Filter Operator
               predicate: d1 is not null (type: boolean)
               Statistics: Num rows: 4 Data size: 49 Basic stats: COMPLETE 
Column stats: NONE
-              Map Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 d1 (type: int)
-                  1 f1 (type: int)
-                outputColumnNames: _col0, _col1, _col8
-                Statistics: Num rows: 4 Data size: 53 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: m1 (type: int), m2 (type: int), d1 (type: int)
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 4 Data size: 49 Basic stats: COMPLETE 
Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
                   keys:
-                    0 _col8 (type: int)
-                    1 f3 (type: int)
-                  outputColumnNames: _col0, _col1, _col8, _col13
-                  Statistics: Num rows: 4 Data size: 58 Basic stats: COMPLETE 
Column stats: NONE
-                  Select Operator
-                    expressions: _col0 (type: int), _col1 (type: int), _col8 
(type: int), _col13 (type: int)
-                    outputColumnNames: _col0, _col1, _col2, _col3
+                    0 _col2 (type: int)
+                    1 _col0 (type: int)
+                  outputColumnNames: _col0, _col1, _col4
+                  Statistics: Num rows: 4 Data size: 53 Basic stats: COMPLETE 
Column stats: NONE
+                  Map Join Operator
+                    condition map:
+                         Inner Join 0 to 1
+                    keys:
+                      0 _col4 (type: int)
+                      1 _col0 (type: int)
+                    outputColumnNames: _col0, _col1, _col4, _col6
                     Statistics: Num rows: 4 Data size: 58 Basic stats: 
COMPLETE Column stats: NONE
-                    File Output Operator
-                      compressed: false
+                    Select Operator
+                      expressions: _col0 (type: int), _col1 (type: int), _col4 
(type: int), _col6 (type: int)
+                      outputColumnNames: _col0, _col1, _col2, _col3
                       Statistics: Num rows: 4 Data size: 58 Basic stats: 
COMPLETE Column stats: NONE
-                      table:
-                          input format: 
org.apache.hadoop.mapred.TextInputFormat
-                          output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                          serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      File Output Operator
+                        compressed: false
+                        Statistics: Num rows: 4 Data size: 58 Basic stats: 
COMPLETE Column stats: NONE
+                        table:
+                            input format: 
org.apache.hadoop.mapred.TextInputFormat
+                            output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                            serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
       Local Work:
         Map Reduce Local Work
 
@@ -445,29 +477,37 @@ STAGE PLANS:
   Stage: Stage-7
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        dim1 
+        $hdt$_1:dim1 
           Fetch Operator
             limit: -1
-        dim2 
+        $hdt$_2:dim2 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        dim1 
+        $hdt$_1:dim1 
           TableScan
             alias: dim1
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 d1 (type: int)
-                1 f1 (type: int)
-        dim2 
+            Select Operator
+              expressions: f1 (type: int), f2 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col2 (type: int)
+                  1 _col0 (type: int)
+        $hdt$_2:dim2 
           TableScan
             alias: dim2
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 _col8 (type: int)
-                1 f3 (type: int)
+            Select Operator
+              expressions: f3 (type: int), f4 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col4 (type: int)
+                  1 _col0 (type: int)
 
   Stage: Stage-5
     Map Reduce
@@ -475,33 +515,37 @@ STAGE PLANS:
           TableScan
             alias: fact
             Statistics: Num rows: 8 Data size: 98 Basic stats: COMPLETE Column 
stats: NONE
-            Map Join Operator
-              condition map:
-                   Left Outer Join0 to 1
-              keys:
-                0 d1 (type: int)
-                1 f1 (type: int)
-              outputColumnNames: _col0, _col1, _col8
-              Statistics: Num rows: 8 Data size: 107 Basic stats: COMPLETE 
Column stats: NONE
+            Select Operator
+              expressions: m1 (type: int), m2 (type: int), d1 (type: int)
+              outputColumnNames: _col0, _col1, _col2
+              Statistics: Num rows: 8 Data size: 98 Basic stats: COMPLETE 
Column stats: NONE
               Map Join Operator
                 condition map:
                      Left Outer Join0 to 1
                 keys:
-                  0 _col8 (type: int)
-                  1 f3 (type: int)
-                outputColumnNames: _col0, _col1, _col8, _col13
-                Statistics: Num rows: 8 Data size: 117 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: int), _col1 (type: int), _col8 
(type: int), _col13 (type: int)
-                  outputColumnNames: _col0, _col1, _col2, _col3
+                  0 _col2 (type: int)
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col4
+                Statistics: Num rows: 8 Data size: 107 Basic stats: COMPLETE 
Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Left Outer Join0 to 1
+                  keys:
+                    0 _col4 (type: int)
+                    1 _col0 (type: int)
+                  outputColumnNames: _col0, _col1, _col4, _col6
                   Statistics: Num rows: 8 Data size: 117 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
+                  Select Operator
+                    expressions: _col0 (type: int), _col1 (type: int), _col4 
(type: int), _col6 (type: int)
+                    outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 8 Data size: 117 Basic stats: 
COMPLETE Column stats: NONE
-                    table:
-                        input format: org.apache.hadoop.mapred.TextInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 8 Data size: 117 Basic stats: 
COMPLETE Column stats: NONE
+                      table:
+                          input format: 
org.apache.hadoop.mapred.TextInputFormat
+                          output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                          serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
       Local Work:
         Map Reduce Local Work
 
@@ -562,86 +606,114 @@ STAGE PLANS:
   Stage: Stage-20
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        dim1 
+        $hdt$_1:dim1 
           Fetch Operator
             limit: -1
-        dim2 
+        $hdt$_2:dim2 
           Fetch Operator
             limit: -1
-        dim3 
+        $hdt$_3:dim3 
           Fetch Operator
             limit: -1
-        dim4 
+        $hdt$_4:dim4 
           Fetch Operator
             limit: -1
-        dim5 
+        $hdt$_5:dim5 
           Fetch Operator
             limit: -1
-        dim6 
+        $hdt$_6:dim6 
           Fetch Operator
             limit: -1
-        dim7 
+        $hdt$_7:dim7 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        dim1 
+        $hdt$_1:dim1 
           TableScan
             alias: dim1
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 d1 (type: int)
-                1 f1 (type: int)
-        dim2 
+            Select Operator
+              expressions: f1 (type: int), f2 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col2 (type: int)
+                  1 _col0 (type: int)
+        $hdt$_2:dim2 
           TableScan
             alias: dim2
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 _col8 (type: int)
-                1 f3 (type: int)
-        dim3 
+            Select Operator
+              expressions: f3 (type: int), f4 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col5 (type: int)
+                  1 _col0 (type: int)
+        $hdt$_3:dim3 
           TableScan
             alias: dim3
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 _col3 (type: int)
-                1 f5 (type: int)
-        dim4 
+            Select Operator
+              expressions: f5 (type: int), f6 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col3 (type: int)
+                  1 _col0 (type: int)
+        $hdt$_4:dim4 
           TableScan
             alias: dim4
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 _col18 (type: int)
-                1 f7 (type: int)
-                2 f11 (type: int)
-        dim5 
+            Select Operator
+              expressions: f7 (type: int), f8 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col9 (type: int)
+                  1 _col0 (type: int)
+                  2 _col0 (type: int)
+        $hdt$_5:dim5 
           TableScan
             alias: dim5
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 _col23 (type: int)
-                1 f9 (type: int)
-        dim6 
+            Select Operator
+              expressions: f9 (type: int), f10 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col11 (type: int)
+                  1 _col0 (type: int)
+        $hdt$_6:dim6 
           TableScan
             alias: dim6
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 _col18 (type: int)
-                1 f7 (type: int)
-                2 f11 (type: int)
-        dim7 
+            Select Operator
+              expressions: f11 (type: int), f12 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col9 (type: int)
+                  1 _col0 (type: int)
+                  2 _col0 (type: int)
+        $hdt$_7:dim7 
           TableScan
             alias: dim7
             Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
-            HashTable Sink Operator
-              keys:
-                0 _col28 (type: int)
-                1 f13 (type: int)
+            Select Operator
+              expressions: f13 (type: int), f14 (type: int)
+              outputColumnNames: _col0, _col1
+              Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE 
Column stats: NONE
+              HashTable Sink Operator
+                keys:
+                  0 _col13 (type: int)
+                  1 _col0 (type: int)
 
   Stage: Stage-14
     Map Reduce
@@ -649,67 +721,71 @@ STAGE PLANS:
           TableScan
             alias: fact
             Statistics: Num rows: 6 Data size: 98 Basic stats: COMPLETE Column 
stats: NONE
-            Map Join Operator
-              condition map:
-                   Left Outer Join0 to 1
-              keys:
-                0 d1 (type: int)
-                1 f1 (type: int)
-              outputColumnNames: _col0, _col1, _col3, _col8
-              Statistics: Num rows: 6 Data size: 107 Basic stats: COMPLETE 
Column stats: NONE
+            Select Operator
+              expressions: m1 (type: int), m2 (type: int), d1 (type: int), d2 
(type: int)
+              outputColumnNames: _col0, _col1, _col2, _col3
+              Statistics: Num rows: 6 Data size: 98 Basic stats: COMPLETE 
Column stats: NONE
               Map Join Operator
                 condition map:
                      Left Outer Join0 to 1
                 keys:
-                  0 _col8 (type: int)
-                  1 f3 (type: int)
-                outputColumnNames: _col0, _col1, _col3, _col8, _col13
-                Statistics: Num rows: 6 Data size: 117 Basic stats: COMPLETE 
Column stats: NONE
+                  0 _col2 (type: int)
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col3, _col5
+                Statistics: Num rows: 6 Data size: 107 Basic stats: COMPLETE 
Column stats: NONE
                 Map Join Operator
                   condition map:
                        Left Outer Join0 to 1
                   keys:
-                    0 _col3 (type: int)
-                    1 f5 (type: int)
-                  outputColumnNames: _col0, _col1, _col8, _col13, _col18
-                  Statistics: Num rows: 6 Data size: 128 Basic stats: COMPLETE 
Column stats: NONE
+                    0 _col5 (type: int)
+                    1 _col0 (type: int)
+                  outputColumnNames: _col0, _col1, _col3, _col5, _col7
+                  Statistics: Num rows: 6 Data size: 117 Basic stats: COMPLETE 
Column stats: NONE
                   Map Join Operator
                     condition map:
                          Left Outer Join0 to 1
-                         Left Outer Join0 to 2
                     keys:
-                      0 _col18 (type: int)
-                      1 f7 (type: int)
-                      2 f11 (type: int)
-                    outputColumnNames: _col0, _col1, _col8, _col13, _col18, 
_col23, _col28
-                    Statistics: Num rows: 13 Data size: 281 Basic stats: 
COMPLETE Column stats: NONE
+                      0 _col3 (type: int)
+                      1 _col0 (type: int)
+                    outputColumnNames: _col0, _col1, _col5, _col7, _col9
+                    Statistics: Num rows: 6 Data size: 128 Basic stats: 
COMPLETE Column stats: NONE
                     Map Join Operator
                       condition map:
                            Left Outer Join0 to 1
+                           Left Outer Join0 to 2
                       keys:
-                        0 _col23 (type: int)
-                        1 f9 (type: int)
-                      outputColumnNames: _col0, _col1, _col8, _col13, _col18, 
_col23, _col28, _col33
-                      Statistics: Num rows: 14 Data size: 309 Basic stats: 
COMPLETE Column stats: NONE
+                        0 _col9 (type: int)
+                        1 _col0 (type: int)
+                        2 _col0 (type: int)
+                      outputColumnNames: _col0, _col1, _col5, _col7, _col9, 
_col11, _col13
+                      Statistics: Num rows: 13 Data size: 281 Basic stats: 
COMPLETE Column stats: NONE
                       Map Join Operator
                         condition map:
                              Left Outer Join0 to 1
                         keys:
-                          0 _col28 (type: int)
-                          1 f13 (type: int)
-                        outputColumnNames: _col0, _col1, _col8, _col13, 
_col18, _col23, _col28, _col33, _col38
-                        Statistics: Num rows: 15 Data size: 339 Basic stats: 
COMPLETE Column stats: NONE
-                        Select Operator
-                          expressions: _col0 (type: int), _col1 (type: int), 
_col8 (type: int), _col13 (type: int), _col18 (type: int), _col23 (type: int), 
_col33 (type: int), _col28 (type: int), _col38 (type: int)
-                          outputColumnNames: _col0, _col1, _col2, _col3, 
_col4, _col5, _col6, _col7, _col8
+                          0 _col11 (type: int)
+                          1 _col0 (type: int)
+                        outputColumnNames: _col0, _col1, _col5, _col7, _col9, 
_col11, _col13, _col15
+                        Statistics: Num rows: 14 Data size: 309 Basic stats: 
COMPLETE Column stats: NONE
+                        Map Join Operator
+                          condition map:
+                               Left Outer Join0 to 1
+                          keys:
+                            0 _col13 (type: int)
+                            1 _col0 (type: int)
+                          outputColumnNames: _col0, _col1, _col5, _col7, 
_col9, _col11, _col13, _col15, _col17
                           Statistics: Num rows: 15 Data size: 339 Basic stats: 
COMPLETE Column stats: NONE
-                          File Output Operator
-                            compressed: false
+                          Select Operator
+                            expressions: _col0 (type: int), _col1 (type: int), 
_col5 (type: int), _col7 (type: int), _col9 (type: int), _col11 (type: int), 
_col15 (type: int), _col13 (type: int), _col17 (type: int)
+                            outputColumnNames: _col0, _col1, _col2, _col3, 
_col4, _col5, _col6, _col7, _col8
                             Statistics: Num rows: 15 Data size: 339 Basic 
stats: COMPLETE Column stats: NONE
-                            table:
-                                input format: 
org.apache.hadoop.mapred.TextInputFormat
-                                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                                serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                            File Output Operator
+                              compressed: false
+                              Statistics: Num rows: 15 Data size: 339 Basic 
stats: COMPLETE Column stats: NONE
+                              table:
+                                  input format: 
org.apache.hadoop.mapred.TextInputFormat
+                                  output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                                  serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
       Local Work:
         Map Reduce Local Work
 

http://git-wip-us.apache.org/repos/asf/hive/blob/7dab21ac/ql/src/test/results/clientpositive/join_vc.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_vc.q.out 
b/ql/src/test/results/clientpositive/join_vc.q.out
index c0f11e7..9c7e110 100644
--- a/ql/src/test/results/clientpositive/join_vc.q.out
+++ b/ql/src/test/results/clientpositive/join_vc.q.out
@@ -26,31 +26,39 @@ STAGE PLANS:
             Filter Operator
               predicate: key is not null (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE 
Column stats: NONE
-              Reduce Output Operator
-                key expressions: key (type: string)
-                sort order: +
-                Map-reduce partition columns: key (type: string)
+              Select Operator
+                expressions: key (type: string)
+                outputColumnNames: _col0
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: 
COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: string)
+                  Statistics: Num rows: 250 Data size: 2656 Basic stats: 
COMPLETE Column stats: NONE
           TableScan
-            alias: t2
+            alias: t1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: 
boolean)
               Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE 
Column stats: NONE
-              Reduce Output Operator
-                key expressions: key (type: string)
-                sort order: +
-                Map-reduce partition columns: key (type: string)
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
                 Statistics: Num rows: 125 Data size: 1328 Basic stats: 
COMPLETE Column stats: NONE
-                value expressions: value (type: string)
+                Reduce Output Operator
+                  key expressions: _col0 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: string)
+                  Statistics: Num rows: 125 Data size: 1328 Basic stats: 
COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
-            0 key (type: string)
-            1 key (type: string)
-          outputColumnNames: _col6
+            0 _col0 (type: string)
+            1 _col0 (type: string)
+          outputColumnNames: _col2
           Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE 
Column stats: NONE
           File Output Operator
             compressed: false
@@ -64,33 +72,37 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col6 (type: string)
+              key expressions: _col2 (type: string)
               sort order: +
-              Map-reduce partition columns: _col6 (type: string)
+              Map-reduce partition columns: _col2 (type: string)
               Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE 
Column stats: NONE
           TableScan
-            alias: t3
+            alias: t1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE 
Column stats: NONE
-              Reduce Output Operator
-                key expressions: value (type: string)
-                sort order: +
-                Map-reduce partition columns: value (type: string)
+              Select Operator
+                expressions: key (type: string), value (type: string), 
BLOCK__OFFSET__INSIDE__FILE (type: bigint)
+                outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: 
COMPLETE Column stats: NONE
-                value expressions: key (type: string), 
BLOCK__OFFSET__INSIDE__FILE (type: bigint)
+                Reduce Output Operator
+                  key expressions: _col1 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col1 (type: string)
+                  Statistics: Num rows: 250 Data size: 2656 Basic stats: 
COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: string), _col2 (type: bigint)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
-            0 _col6 (type: string)
-            1 value (type: string)
-          outputColumnNames: _col10, _col11, _col12
+            0 _col2 (type: string)
+            1 _col1 (type: string)
+          outputColumnNames: _col3, _col4, _col5
           Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE 
Column stats: NONE
           Select Operator
-            expressions: _col12 (type: bigint), _col10 (type: string), _col11 
(type: string)
+            expressions: _col5 (type: bigint), _col3 (type: string), _col4 
(type: string)
             outputColumnNames: _col0, _col1, _col2
             Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE 
Column stats: NONE
             File Output Operator
@@ -165,15 +177,14 @@ STAGE PLANS:
               predicate: (UDFToDouble(key) < 100.0) (type: boolean)
               Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: key (type: string), BLOCK__OFFSET__INSIDE__FILE 
(type: bigint)
-                outputColumnNames: _col0, _col1
+                expressions: key (type: string)
+                outputColumnNames: _col0
                 Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
-                  value expressions: _col1 (type: bigint)
           TableScan
             alias: t1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
@@ -181,14 +192,15 @@ STAGE PLANS:
               predicate: (UDFToDouble(key) < 100.0) (type: boolean)
               Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: key (type: string)
-                outputColumnNames: _col0
+                expressions: key (type: string), BLOCK__OFFSET__INSIDE__FILE 
(type: bigint)
+                outputColumnNames: _col0, _col1
                 Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: bigint)
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -196,10 +208,10 @@ STAGE PLANS:
           keys:
             0 _col0 (type: string)
             1 _col0 (type: string)
-          outputColumnNames: _col1
+          outputColumnNames: _col2
           Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE 
Column stats: NONE
           Select Operator
-            expressions: _col1 (type: bigint)
+            expressions: _col2 (type: bigint)
             outputColumnNames: _col0
             Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE 
Column stats: NONE
             File Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/7dab21ac/ql/src/test/results/clientpositive/lineage2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/lineage2.q.out 
b/ql/src/test/results/clientpositive/lineage2.q.out
index aed41b0..83785f2 100644
--- a/ql/src/test/results/clientpositive/lineage2.q.out
+++ b/ql/src/test/results/clientpositive/lineage2.q.out
@@ -523,14 +523,14 @@ PREHOOK: Input: default@src1
 PREHOOK: Input: default@src2
 PREHOOK: Output: database:default
 PREHOOK: Output: default@dest3
-{"version":"1.0","engine":"mr","database":"default","hash":"a2c4e9a3ec678039814f5d84b1e38ce4","queryText":"create
 table dest3 as\n  select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE 
length(key) > 
1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key
 = 
src2.key2)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key)
 > 
1)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest3.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest3.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest3.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest3.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId"
 
:"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
+{"version":"1.0","engine":"mr","database":"default","hash":"a2c4e9a3ec678039814f5d84b1e38ce4","queryText":"create
 table dest3 as\n  select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE 
length(key) > 
1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key)
 > 
1)","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key
 = 
src2.key2)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2,3],"expression":"(length(src2.key2)
 > 
1)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest3.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest3.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest3.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest3.value2"},{"i
 
d":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
 PREHOOK: query: insert overwrite table dest2
   select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src1
 PREHOOK: Input: default@src2
 PREHOOK: Output: default@dest2
-{"version":"1.0","engine":"mr","database":"default","hash":"76d84512204ddc576ad4d93f252e4358","queryText":"insert
 overwrite table dest2\n  select * from src1 JOIN src2 ON src1.key = src2.key2 
WHERE length(key) > 
3","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key
 = 
src2.key2)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key)
 > 
3)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","ve
 
rtexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
+{"version":"1.0","engine":"mr","database":"default","hash":"76d84512204ddc576ad4d93f252e4358","queryText":"insert
 overwrite table dest2\n  select * from src1 JOIN src2 ON src1.key = src2.key2 
WHERE length(key) > 
3","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key)
 > 
3)","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key
 = 
src2.key2)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2,3],"expression":"(length(src2.key2)
 > 
3)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value
 
2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
 PREHOOK: query: drop table if exists dest_l1
 PREHOOK: type: DROPTABLE
 PREHOOK: query: CREATE TABLE dest_l1(key INT, value STRING) STORED AS TEXTFILE
@@ -593,7 +593,7 @@ PREHOOK: Input: default@dept
 PREHOOK: Input: default@emp
 PREHOOK: Input: default@project
 PREHOOK: Output: default@tgt
-{"version":"1.0","engine":"mr","database":"default","hash":"f59797e0422d2e51515063374dfac361","queryText":"INSERT
 INTO TABLE tgt\nSELECT emd.dept_name, emd.name, emd.emp_id, emd.mgr_id, 
p.project_id, p.project_name\nFROM (\n  SELECT d.dept_name, em.name, em.emp_id, 
em.mgr_id, em.dept_id\n  FROM (\n    SELECT e.name, e.dept_id, e.emp_id emp_id, 
m.emp_id mgr_id\n    FROM emp e JOIN emp m ON e.emp_id = m.emp_id\n    ) em\n  
JOIN dept d ON d.dept_id = em.dept_id\n  ) emd JOIN project p ON emd.dept_id = 
p.project_id","edges":[{"sources":[6],"targets":[0],"edgeType":"PROJECTION"},{"sources":[7],"targets":[1],"edgeType":"PROJECTION"},{"sources":[8],"targets":[2,3],"edgeType":"PROJECTION"},{"sources":[9],"targets":[4],"edgeType":"PROJECTION"},{"sources":[10],"targets":[5],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2,3,4,5],"expression":"(e.emp_id
 = 
m.emp_id)","edgeType":"PREDICATE"},{"sources":[11,12],"targets":[0,1,2,3,4,5],"expression":"(em._col1
 = d.dept_id)","edgeType":"PRED
 ICATE"},{"sources":[11,9],"targets":[0,1,2,3,4,5],"expression":"(emd._col4 = 
p.project_id)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.tgt.dept_name"},{"id":1,"vertexType":"COLUMN","vertexId":"default.tgt.name"},{"id":2,"vertexType":"COLUMN","vertexId":"default.tgt.emp_id"},{"id":3,"vertexType":"COLUMN","vertexId":"default.tgt.mgr_id"},{"id":4,"vertexType":"COLUMN","vertexId":"default.tgt.proj_id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.tgt.proj_name"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dept.dept_name"},{"id":7,"vertexType":"COLUMN","vertexId":"default.emp.name"},{"id":8,"vertexType":"COLUMN","vertexId":"default.emp.emp_id"},{"id":9,"vertexType":"COLUMN","vertexId":"default.project.project_id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.project.project_name"},{"id":11,"vertexType":"COLUMN","vertexId":"default.emp.dept_id"},{"id":12,"vertexType":"COLUMN","vertexId":"default.dept.dept_id"}]}
+{"version":"1.0","engine":"mr","database":"default","hash":"f59797e0422d2e51515063374dfac361","queryText":"INSERT
 INTO TABLE tgt\nSELECT emd.dept_name, emd.name, emd.emp_id, emd.mgr_id, 
p.project_id, p.project_name\nFROM (\n  SELECT d.dept_name, em.name, em.emp_id, 
em.mgr_id, em.dept_id\n  FROM (\n    SELECT e.name, e.dept_id, e.emp_id emp_id, 
m.emp_id mgr_id\n    FROM emp e JOIN emp m ON e.emp_id = m.emp_id\n    ) em\n  
JOIN dept d ON d.dept_id = em.dept_id\n  ) emd JOIN project p ON emd.dept_id = 
p.project_id","edges":[{"sources":[6],"targets":[0],"edgeType":"PROJECTION"},{"sources":[7],"targets":[1],"edgeType":"PROJECTION"},{"sources":[8],"targets":[2,3],"edgeType":"PROJECTION"},{"sources":[9],"targets":[4],"edgeType":"PROJECTION"},{"sources":[10],"targets":[5],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2,3,4,5],"expression":"(e.emp_id
 = 
e.emp_id)","edgeType":"PREDICATE"},{"sources":[11,12],"targets":[0,1,2,3,4,5],"expression":"(e.dept_id
 = d.dept_id)","edgeType":"PRE
 DICATE"},{"sources":[11,9],"targets":[0,1,2,3,4,5],"expression":"(e.dept_id = 
p.project_id)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.tgt.dept_name"},{"id":1,"vertexType":"COLUMN","vertexId":"default.tgt.name"},{"id":2,"vertexType":"COLUMN","vertexId":"default.tgt.emp_id"},{"id":3,"vertexType":"COLUMN","vertexId":"default.tgt.mgr_id"},{"id":4,"vertexType":"COLUMN","vertexId":"default.tgt.proj_id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.tgt.proj_name"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dept.dept_name"},{"id":7,"vertexType":"COLUMN","vertexId":"default.emp.name"},{"id":8,"vertexType":"COLUMN","vertexId":"default.emp.emp_id"},{"id":9,"vertexType":"COLUMN","vertexId":"default.project.project_id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.project.project_name"},{"id":11,"vertexType":"COLUMN","vertexId":"default.emp.dept_id"},{"id":12,"vertexType":"COLUMN","vertexId":"default.dept.dept_id"}]}
 PREHOOK: query: drop table if exists dest_l2
 PREHOOK: type: DROPTABLE
 PREHOOK: query: create table dest_l2 (id int, c1 tinyint, c2 int, c3 bigint) 
stored as textfile
@@ -646,7 +646,7 @@ PREHOOK: type: QUERY
 PREHOOK: Input: default@dest_l2
 PREHOOK: Input: default@dest_l3
 #### A masked pattern was here ####
-{"version":"1.0","engine":"mr","database":"default","hash":"01879c619517509d9f5b6ead998bb4bb","queryText":"select
 sum(a.c1), count(b.c1), b.c2, b.c3\nfrom dest_l2 a join dest_l3 b on (a.id = 
b.id)\nwhere a.c2 != 10 and b.c3 > 0\ngroup by a.c1, a.c2, a.id, b.c1, b.c2, 
b.c3\nhaving count(a.c2) > 0\norder by b.c3 limit 
5","edges":[{"sources":[4],"targets":[0],"expression":"sum(default.dest_l2.c1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"count(default.dest_l3.c1)","edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[8,9],"targets":[0,1,2,3],"expression":"(a.id
 = 
b.id)","edgeType":"PREDICATE"},{"sources":[10,7],"targets":[0,1,2,3],"expression":"((a.c2
 <> 10) and (b.c3 > 
0))","edgeType":"PREDICATE"},{"sources":[10],"targets":[0,1,2,3],"expression":"(count(default.dest_l2.c2)
 > 
0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":
 
1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"b.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"b.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.c1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"},{"id":8,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":9,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"}]}
+{"version":"1.0","engine":"mr","database":"default","hash":"01879c619517509d9f5b6ead998bb4bb","queryText":"select
 sum(a.c1), count(b.c1), b.c2, b.c3\nfrom dest_l2 a join dest_l3 b on (a.id = 
b.id)\nwhere a.c2 != 10 and b.c3 > 0\ngroup by a.c1, a.c2, a.id, b.c1, b.c2, 
b.c3\nhaving count(a.c2) > 0\norder by b.c3 limit 
5","edges":[{"sources":[4],"targets":[0],"expression":"sum(default.dest_l2.c1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"count(default.dest_l3.c1)","edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2,3],"expression":"(a.c2
 <> 
10)","edgeType":"PREDICATE"},{"sources":[9,10],"targets":[0,1,2,3],"expression":"(a.id
 = 
b.id)","edgeType":"PREDICATE"},{"sources":[7],"targets":[0,1,2,3],"expression":"(b.c3
 > 
0)","edgeType":"PREDICATE"},{"sources":[8],"targets":[0,1,2,3],"expression":"(count(default.dest_l2.c2)
 > 0)","edgeType":"PREDICATE"}],"
 
vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"c0"},{"id":1,"vertexType":"COLUMN","vertexId":"c1"},{"id":2,"vertexType":"COLUMN","vertexId":"b.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"b.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.c1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"},{"id":8,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":9,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"}]}
 1      1       s2      15
 PREHOOK: query: drop table if exists t
 PREHOOK: type: DROPTABLE
@@ -659,7 +659,7 @@ PREHOOK: Input: default@dest_l2
 PREHOOK: Input: default@dest_l3
 PREHOOK: Output: database:default
 PREHOOK: Output: default@t
-{"version":"1.0","engine":"mr","database":"default","hash":"0d2f15b494111ffe236d5be42a76fa28","queryText":"create
 table t as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on 
(a.id = b.id)\nwhere a.id > 0 and b.c3 = 
15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id
 = 
b.id)","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1],"expression":"((a.id
 > 0) and (b.c3 = 
15))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t.c3"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
+{"version":"1.0","engine":"mr","database":"default","hash":"0d2f15b494111ffe236d5be42a76fa28","queryText":"create
 table t as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on 
(a.id = b.id)\nwhere a.id > 0 and b.c3 = 
15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1],"expression":"(a.id
 > 
0)","edgeType":"PREDICATE"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id
 = 
b.id)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1],"expression":"(b.c3
 = 
15)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1],"expression":"(b.id 
> 
0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t.c3"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.i
 
d"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
 PREHOOK: query: SELECT substr(src1.key,1,1), count(DISTINCT 
substr(src1.value,5)),
 concat(substr(src1.key,1,1),sum(substr(src1.value,5)))
 from src1

Reply via email to