You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2018/04/02 19:11:08 UTC

[2/2] hive git commit: HIVE-19074: Vectorization: Add llap vectorization_div0.q.out Q output file (Matt McCline, reviewed by Teddy Choi)

HIVE-19074: Vectorization: Add llap vectorization_div0.q.out Q output file (Matt McCline, reviewed by Teddy Choi)


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

Branch: refs/heads/master
Commit: 3660ac24b1a1b24e32d34a98dd4f78f23e751e6f
Parents: 54dbd7f
Author: Matt McCline <mm...@hortonworks.com>
Authored: Mon Apr 2 14:10:59 2018 -0500
Committer: Matt McCline <mm...@hortonworks.com>
Committed: Mon Apr 2 14:10:59 2018 -0500

----------------------------------------------------------------------
 .../test/resources/testconfiguration.properties |   6 +-
 .../queries/clientpositive/vectorization_div0.q |  34 +-
 .../spark/vectorization_div0.q.out              | 570 +++++++++--------
 .../clientpositive/tez/vectorization_div0.q.out | 607 ++++++++++---------
 4 files changed, 651 insertions(+), 566 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/3660ac24/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index ff8adf7..ec25713 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -45,8 +45,7 @@ minitez.query.files.shared=delete_orig_table.q,\
   orc_vectorization_ppd.q,\
   update_orig_table.q,\
   vector_join_part_col_char.q,\
-  vector_non_string_partition.q,\
-  vectorization_div0.q
+  vector_non_string_partition.q
 
 # NOTE: Add tests to minitez only if it is very
 # specific to tez and cannot be added to minillap.
@@ -60,8 +59,7 @@ minitez.query.files=acid_vectorization_original_tez.q,\
   hybridgrace_hashjoin_2.q,\
   multi_count_distinct.q,\
   tez-tag.q,\
-  tez_union_with_udf.q,\
-  vectorization_div0.q
+  tez_union_with_udf.q
 
 
 minillap.shared.query.files=insert_into1.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/3660ac24/ql/src/test/queries/clientpositive/vectorization_div0.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vectorization_div0.q b/ql/src/test/queries/clientpositive/vectorization_div0.q
index 26ff266..1e86f01 100644
--- a/ql/src/test/queries/clientpositive/vectorization_div0.q
+++ b/ql/src/test/queries/clientpositive/vectorization_div0.q
@@ -1,5 +1,6 @@
 set hive.mapred.mode=nonstrict;
 set hive.explain.user=false;
+set hive.cli.print.header=true;
 SET hive.vectorized.execution.enabled = true;
 set hive.fetch.task.conversion=none;
 
@@ -7,31 +8,36 @@ set hive.fetch.task.conversion=none;
 
 -- TODO: add more stuff here after HIVE-5918 is fixed, such as cbigint and constants
 explain vectorization expression
-select cint / 0, ctinyint / 0, cbigint / 0, cdouble / 0.0 from alltypesorc limit 100;
-select cint / 0, ctinyint / 0, cbigint / 0, cdouble / 0.0 from alltypesorc limit 100;
+select cint, cint / 0 as cint_div, ctinyint, ctinyint / 0 as ctinyint_div, cbigint, cbigint / 0 as cbigint_div, cdouble, cdouble / 0.0 as cdouble_div
+from alltypesorc order by cint, ctinyint, cbigint, cdouble limit 100;
+
+select cint, cint / 0 as cint_div, ctinyint, ctinyint / 0 as ctinyint_div, cbigint, cbigint / 0 as cbigint_div, cdouble, cdouble / 0.0 as cdouble_div
+from alltypesorc order by cint, ctinyint, cbigint, cdouble limit 100;
 
 -- There are no zeros in the table, but there is 988888, so use it as zero
 
 -- TODO: add more stuff here after HIVE-5918 is fixed, such as cbigint and constants as numerators
 explain vectorization expression
-select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) 
-from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2 limit 100;
-select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) 
-from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2 limit 100;
+select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) as s3 
+from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2, s3 limit 100;
+
+select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) as s3 
+from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2, s3 limit 100;
 
 -- There are no zeros in the table, but there is -200.0, so use it as zero
 
 explain vectorization expression
-select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0), cbigint / (cdouble + 200.0), 3 / (cdouble + 200.0), 1.2 / (cdouble + 200.0) 
-from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2 limit 100;
-select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0), cbigint / (cdouble + 200.0), 3 / (cdouble + 200.0), 1.2 / (cdouble + 200.0) 
-from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2 limit 100;
+select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0) as s3, cbigint / (cdouble + 200.0) as s4, 3 / (cdouble + 200.0) as s5, 1.2 / (cdouble + 200.0) as s6
+from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2, s3, s4, s5, s6 limit 100;
+
+select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0) as s3, cbigint / (cdouble + 200.0) as s4, 3 / (cdouble + 200.0) as s5, 1.2 / (cdouble + 200.0) as s6
+from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2, s3, s4, s5, s6 limit 100;
 
 -- There are no zeros in the table, but there is 1018195815 in cbigint, 528534767 in cint, so using it to do a divide by zero. ctinyint has a zero so can be used directly
 
 explain vectorization expression
-select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)), (ctinyint % ctinyint) as c3
-from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by c1, c2 limit 100;
+select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)) as c5, (ctinyint % ctinyint) as c6
+from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by cint, cbigint, ctinyint, c1, c2, c3, c4, c5, c6 limit 100;
 
-select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)), (ctinyint % ctinyint) as c3
-from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by c1, c2 limit 100;
+select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)) as c5, (ctinyint % ctinyint) as c6
+from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by cint, cbigint, ctinyint, c1, c2, c3, c4, c5, c6 limit 100;

http://git-wip-us.apache.org/repos/asf/hive/blob/3660ac24/ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_div0.q.out b/ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
index e679a75..504dfa7 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
@@ -1,9 +1,12 @@
 PREHOOK: query: explain vectorization expression
-select cint / 0, ctinyint / 0, cbigint / 0, cdouble / 0.0 from alltypesorc limit 100
+select cint, cint / 0 as cint_div, ctinyint, ctinyint / 0 as ctinyint_div, cbigint, cbigint / 0 as cbigint_div, cdouble, cdouble / 0.0 as cdouble_div
+from alltypesorc order by cint, ctinyint, cbigint, cdouble limit 100
 PREHOOK: type: QUERY
 POSTHOOK: query: explain vectorization expression
-select cint / 0, ctinyint / 0, cbigint / 0, cdouble / 0.0 from alltypesorc limit 100
+select cint, cint / 0 as cint_div, ctinyint, ctinyint / 0 as ctinyint_div, cbigint, cbigint / 0 as cbigint_div, cdouble, cdouble / 0.0 as cdouble_div
+from alltypesorc order by cint, ctinyint, cbigint, cdouble limit 100
 POSTHOOK: type: QUERY
+Explain
 PLAN VECTORIZATION:
   enabled: true
   enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
@@ -15,6 +18,8 @@ STAGE DEPENDENCIES:
 STAGE PLANS:
   Stage: Stage-1
     Spark
+      Edges:
+        Reducer 2 <- Map 1 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -25,30 +30,24 @@ STAGE PLANS:
                   TableScan Vectorization:
                       native: true
                   Select Operator
-                    expressions: (UDFToDouble(cint) / 0.0D) (type: double), (UDFToDouble(ctinyint) / 0.0D) (type: double), (UDFToDouble(cbigint) / 0.0D) (type: double), (cdouble / 0.0D) (type: double)
-                    outputColumnNames: _col0, _col1, _col2, _col3
+                    expressions: cint (type: int), (UDFToDouble(cint) / 0.0D) (type: double), ctinyint (type: tinyint), (UDFToDouble(ctinyint) / 0.0D) (type: double), cbigint (type: bigint), (UDFToDouble(cbigint) / 0.0D) (type: double), cdouble (type: double), (cdouble / 0.0D) (type: double)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
                     Select Vectorization:
                         className: VectorSelectOperator
                         native: true
-                        projectedOutputColumnNums: [14, 15, 16, 13]
+                        projectedOutputColumnNums: [2, 14, 0, 15, 3, 16, 5, 13]
                         selectExpressions: DoubleColDivideDoubleScalar(col 13:double, val 0.0)(children: CastLongToDouble(col 2:int) -> 13:double) -> 14:double, DoubleColDivideDoubleScalar(col 13:double, val 0.0)(children: CastLongToDouble(col 0:tinyint) -> 13:double) -> 15:double, DoubleColDivideDoubleScalar(col 13:double, val 0.0)(children: CastLongToDouble(col 3:bigint) -> 13:double) -> 16:double, DoubleColDivideDoubleScalar(col 5:double, val 0.0) -> 13:double
                     Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
-                    Limit
-                      Number of rows: 100
-                      Limit Vectorization:
-                          className: VectorLimitOperator
+                    Reduce Output Operator
+                      key expressions: _col0 (type: int), _col2 (type: tinyint), _col4 (type: bigint), _col6 (type: double)
+                      sort order: ++++
+                      Reduce Sink Vectorization:
+                          className: VectorReduceSinkObjectHashOperator
                           native: true
-                      Statistics: Num rows: 100 Data size: 21500 Basic stats: COMPLETE Column stats: NONE
-                      File Output Operator
-                        compressed: false
-                        File Sink Vectorization:
-                            className: VectorFileSinkOperator
-                            native: false
-                        Statistics: Num rows: 100 Data size: 21500 Basic stats: COMPLETE Column stats: NONE
-                        table:
-                            input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                            output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                          nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+                      Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
+                      TopN Hash Memory Usage: 0.1
+                      value expressions: _col1 (type: double), _col3 (type: double), _col5 (type: double), _col7 (type: double)
             Execution mode: vectorized
             Map Vectorization:
                 enabled: true
@@ -56,9 +55,42 @@ STAGE PLANS:
                 inputFormatFeatureSupport: []
                 featureSupportInUse: []
                 inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: true
+                usesVectorUDFAdaptor: false
+                vectorized: true
+        Reducer 2 
+            Execution mode: vectorized
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true
                 allNative: false
                 usesVectorUDFAdaptor: false
                 vectorized: true
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: double), KEY.reducesinkkey1 (type: tinyint), VALUE._col1 (type: double), KEY.reducesinkkey2 (type: bigint), VALUE._col2 (type: double), KEY.reducesinkkey3 (type: double), VALUE._col3 (type: double)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 4, 1, 5, 2, 6, 3, 7]
+                Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
+                Limit
+                  Number of rows: 100
+                  Limit Vectorization:
+                      className: VectorLimitOperator
+                      native: true
+                  Statistics: Num rows: 100 Data size: 21500 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    File Sink Vectorization:
+                        className: VectorFileSinkOperator
+                        native: false
+                    Statistics: Num rows: 100 Data size: 21500 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
 
   Stage: Stage-0
     Fetch Operator
@@ -66,122 +98,126 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select cint / 0, ctinyint / 0, cbigint / 0, cdouble / 0.0 from alltypesorc limit 100
+PREHOOK: query: select cint, cint / 0 as cint_div, ctinyint, ctinyint / 0 as ctinyint_div, cbigint, cbigint / 0 as cbigint_div, cdouble, cdouble / 0.0 as cdouble_div
+from alltypesorc order by cint, ctinyint, cbigint, cdouble limit 100
 PREHOOK: type: QUERY
 PREHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-POSTHOOK: query: select cint / 0, ctinyint / 0, cbigint / 0, cdouble / 0.0 from alltypesorc limit 100
+POSTHOOK: query: select cint, cint / 0 as cint_div, ctinyint, ctinyint / 0 as ctinyint_div, cbigint, cbigint / 0 as cbigint_div, cdouble, cdouble / 0.0 as cdouble_div
+from alltypesorc order by cint, ctinyint, cbigint, cdouble limit 100
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
-NULL	NULL	NULL	NULL
+cint	cint_div	ctinyint	ctinyint_div	cbigint	cbigint_div	cdouble	cdouble_div
+NULL	NULL	-60	NULL	-1016256928	NULL	15601.0	NULL
+NULL	NULL	-60	NULL	-1062217466	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	-1183915345	NULL	-7196.0	NULL
+NULL	NULL	-60	NULL	-126921733	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	-1445021496	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	-1690528981	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	-1743144280	NULL	15601.0	NULL
+NULL	NULL	-60	NULL	-1802243330	NULL	-7196.0	NULL
+NULL	NULL	-60	NULL	-1860186661	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	-2041965187	NULL	15601.0	NULL
+NULL	NULL	-60	NULL	-483910982	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	-508015343	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	-519753851	NULL	15601.0	NULL
+NULL	NULL	-60	NULL	-5953872	NULL	15601.0	NULL
+NULL	NULL	-60	NULL	-68838726	NULL	-7196.0	NULL
+NULL	NULL	-60	NULL	-903925845	NULL	15601.0	NULL
+NULL	NULL	-60	NULL	1122241452	NULL	15601.0	NULL
+NULL	NULL	-60	NULL	1172431520	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	927847540	NULL	-200.0	NULL
+NULL	NULL	-60	NULL	NULL	NULL	-200.0	NULL
+NULL	NULL	-61	NULL	-1022679553	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	-1062521098	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	-1313743110	NULL	-200.0	NULL
+NULL	NULL	-61	NULL	-1513172815	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	-1728754595	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	-1769786673	NULL	-200.0	NULL
+NULL	NULL	-61	NULL	-2114172148	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	-2175533	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	-836697023	NULL	-200.0	NULL
+NULL	NULL	-61	NULL	-854893578	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	-982179838	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	1114673625	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	1139675920	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	1237548317	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	127734700	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	1399483216	NULL	-200.0	NULL
+NULL	NULL	-61	NULL	1415466231	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	184425274	NULL	-200.0	NULL
+NULL	NULL	-61	NULL	1977536065	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	484546535	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	623787602	NULL	-200.0	NULL
+NULL	NULL	-61	NULL	919939154	NULL	15601.0	NULL
+NULL	NULL	-61	NULL	943547371	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	NULL	NULL	-7196.0	NULL
+NULL	NULL	-61	NULL	NULL	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	-1113073921	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	-1367753794	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	-1592016120	NULL	15601.0	NULL
+NULL	NULL	-62	NULL	-167812632	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	-1726415169	NULL	15601.0	NULL
+NULL	NULL	-62	NULL	-1761785534	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	-2080605724	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	-642836823	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	-840223244	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	1221804187	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	1380844570	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	1443417260	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	1607712873	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	1670449519	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	2071666427	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	281485844	NULL	15601.0	NULL
+NULL	NULL	-62	NULL	325025905	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	667693308	NULL	15601.0	NULL
+NULL	NULL	-62	NULL	68899019	NULL	15601.0	NULL
+NULL	NULL	-62	NULL	726070601	NULL	-200.0	NULL
+NULL	NULL	-62	NULL	73960976	NULL	15601.0	NULL
+NULL	NULL	-62	NULL	756424745	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	986221936	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	NULL	NULL	-7196.0	NULL
+NULL	NULL	-62	NULL	NULL	NULL	-7196.0	NULL
+NULL	NULL	-63	NULL	-1167054574	NULL	15601.0	NULL
+NULL	NULL	-63	NULL	-1224023895	NULL	-7196.0	NULL
+NULL	NULL	-63	NULL	-1574729892	NULL	15601.0	NULL
+NULL	NULL	-63	NULL	-1711796768	NULL	-7196.0	NULL
+NULL	NULL	-63	NULL	-1996001975	NULL	15601.0	NULL
+NULL	NULL	-63	NULL	-1999307539	NULL	-200.0	NULL
+NULL	NULL	-63	NULL	-200542601	NULL	15601.0	NULL
+NULL	NULL	-63	NULL	-2070832461	NULL	-200.0	NULL
+NULL	NULL	-63	NULL	-721244708	NULL	15601.0	NULL
+NULL	NULL	-63	NULL	-994504916	NULL	-7196.0	NULL
+NULL	NULL	-63	NULL	-997946077	NULL	-200.0	NULL
+NULL	NULL	-63	NULL	1089367203	NULL	-200.0	NULL
+NULL	NULL	-63	NULL	1927856372	NULL	-200.0	NULL
+NULL	NULL	-63	NULL	2059199534	NULL	15601.0	NULL
+NULL	NULL	-63	NULL	483904240	NULL	15601.0	NULL
+NULL	NULL	-63	NULL	507317726	NULL	-200.0	NULL
+NULL	NULL	-63	NULL	956380949	NULL	-200.0	NULL
+NULL	NULL	-64	NULL	-1615920595	NULL	-7196.0	NULL
+NULL	NULL	-64	NULL	-1639157869	NULL	-7196.0	NULL
+NULL	NULL	-64	NULL	-1809291815	NULL	15601.0	NULL
+NULL	NULL	-64	NULL	-1809444706	NULL	-200.0	NULL
+NULL	NULL	-64	NULL	-527203677	NULL	-7196.0	NULL
+NULL	NULL	-64	NULL	1090418478	NULL	-7196.0	NULL
+NULL	NULL	-64	NULL	1421812187	NULL	15601.0	NULL
+NULL	NULL	-64	NULL	1805860756	NULL	-7196.0	NULL
+NULL	NULL	-64	NULL	1960950366	NULL	15601.0	NULL
+NULL	NULL	-64	NULL	2118653994	NULL	-200.0	NULL
+NULL	NULL	-64	NULL	406535485	NULL	-7196.0	NULL
+NULL	NULL	-64	NULL	658026952	NULL	-7196.0	NULL
+NULL	NULL	-64	NULL	927647669	NULL	-200.0	NULL
 PREHOOK: query: explain vectorization expression
-select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) 
-from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2 limit 100
+select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) as s3 
+from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2, s3 limit 100
 PREHOOK: type: QUERY
 POSTHOOK: query: explain vectorization expression
-select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) 
-from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2 limit 100
+select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) as s3 
+from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2, s3 limit 100
 POSTHOOK: type: QUERY
+Explain
 PLAN VECTORIZATION:
   enabled: true
   enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
@@ -221,15 +257,14 @@ STAGE PLANS:
                           selectExpressions: LongColSubtractLongScalar(col 3:bigint, val 988888) -> 13:bigint, DoubleColDivideDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 14:bigint)(children: LongColSubtractLongScalar(col 3:bigint, val 988888) -> 14:bigint) -> 15:double) -> 16:double, DecimalScalarDivideDecimalColumn(val 1.2, col 17:decimal(19,0))(children: CastLongToDecimal(col 14:bigint)(children: LongColSubtractLongScalar(col 3:bigint, val 988888) -> 14:bigint) -> 17:decimal(19,0)) -> 18:decimal(22,21)
                       Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
-                        key expressions: _col0 (type: bigint), _col1 (type: double)
-                        sort order: ++
+                        key expressions: _col0 (type: bigint), _col1 (type: double), _col2 (type: decimal(22,21))
+                        sort order: +++
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkObjectHashOperator
                             native: true
                             nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
                         Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         TopN Hash Memory Usage: 0.1
-                        value expressions: _col2 (type: decimal(22,21))
             Execution mode: vectorized
             Map Vectorization:
                 enabled: true
@@ -250,7 +285,7 @@ STAGE PLANS:
                 vectorized: true
             Reduce Operator Tree:
               Select Operator
-                expressions: KEY.reducesinkkey0 (type: bigint), KEY.reducesinkkey1 (type: double), VALUE._col0 (type: decimal(22,21))
+                expressions: KEY.reducesinkkey0 (type: bigint), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey2 (type: decimal(22,21))
                 outputColumnNames: _col0, _col1, _col2
                 Select Vectorization:
                     className: VectorSelectOperator
@@ -280,16 +315,17 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) 
-from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2 limit 100
+PREHOOK: query: select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) as s3 
+from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2, s3 limit 100
 PREHOOK: type: QUERY
 PREHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-POSTHOOK: query: select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) 
-from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2 limit 100
+POSTHOOK: query: select (cbigint - 988888L) as s1, cdouble / (cbigint - 988888L) as s2, 1.2 / (cbigint - 988888L) as s3 
+from alltypesorc where cbigint > 0 and cbigint < 100000000 order by s1, s2, s3 limit 100
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
+s1	s2	s3
 -63925	0.11256941728588189	-0.000018771998435666797
 -985319	2.0297994862577501E-4	-0.000001217879691754650
 -985319	NULL	-0.000001217879691754650
@@ -391,13 +427,14 @@ POSTHOOK: Input: default@alltypesorc
 9247593	NULL	0.000000129763496295739
 9821695	-7.326637611939691E-4	0.000000122178503812224
 PREHOOK: query: explain vectorization expression
-select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0), cbigint / (cdouble + 200.0), 3 / (cdouble + 200.0), 1.2 / (cdouble + 200.0) 
-from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2 limit 100
+select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0) as s3, cbigint / (cdouble + 200.0) as s4, 3 / (cdouble + 200.0) as s5, 1.2 / (cdouble + 200.0) as s6
+from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2, s3, s4, s5, s6 limit 100
 PREHOOK: type: QUERY
 POSTHOOK: query: explain vectorization expression
-select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0), cbigint / (cdouble + 200.0), 3 / (cdouble + 200.0), 1.2 / (cdouble + 200.0) 
-from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2 limit 100
+select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0) as s3, cbigint / (cdouble + 200.0) as s4, 3 / (cdouble + 200.0) as s5, 1.2 / (cdouble + 200.0) as s6
+from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2, s3, s4, s5, s6 limit 100
 POSTHOOK: type: QUERY
+Explain
 PLAN VECTORIZATION:
   enabled: true
   enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
@@ -428,24 +465,23 @@ STAGE PLANS:
                     predicate: ((cdouble < -199.0D) and (cdouble >= -500.0D)) (type: boolean)
                     Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: (cdouble + 200.0D) (type: double), (UDFToDouble(cbigint) / (cdouble + 200.0D)) (type: double), ((cdouble + 200.0D) / (cdouble + 200.0D)) (type: double), (3.0D / (cdouble + 200.0D)) (type: double), (1.2D / (cdouble + 200.0D)) (type: double)
-                      outputColumnNames: _col0, _col1, _col2, _col4, _col5
+                      expressions: (cdouble + 200.0D) (type: double), (UDFToDouble(cbigint) / (cdouble + 200.0D)) (type: double), ((cdouble + 200.0D) / (cdouble + 200.0D)) (type: double), (UDFToDouble(cbigint) / (cdouble + 200.0D)) (type: double), (3.0D / (cdouble + 200.0D)) (type: double), (1.2D / (cdouble + 200.0D)) (type: double)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                       Select Vectorization:
                           className: VectorSelectOperator
                           native: true
-                          projectedOutputColumnNums: [13, 16, 17, 15, 18]
-                          selectExpressions: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 13:double, DoubleColDivideDoubleColumn(col 14:double, col 15:double)(children: CastLongToDouble(col 3:bigint) -> 14:double, DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 15:double) -> 16:double, DoubleColDivideDoubleColumn(col 14:double, col 15:double)(children: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 14:double, DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 15:double) -> 17:double, DoubleScalarDivideDoubleColumn(val 3.0, col 14:double)(children: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 14:double) -> 15:double, DoubleScalarDivideDoubleColumn(val 1.2, col 14:double)(children: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 14:double) -> 18:double
+                          projectedOutputColumnNums: [13, 16, 17, 18, 15, 19]
+                          selectExpressions: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 13:double, DoubleColDivideDoubleColumn(col 14:double, col 15:double)(children: CastLongToDouble(col 3:bigint) -> 14:double, DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 15:double) -> 16:double, DoubleColDivideDoubleColumn(col 14:double, col 15:double)(children: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 14:double, DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 15:double) -> 17:double, DoubleColDivideDoubleColumn(col 14:double, col 15:double)(children: CastLongToDouble(col 3:bigint) -> 14:double, DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 15:double) -> 18:double, DoubleScalarDivideDoubleColumn(val 3.0, col 14:double)(children: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 14:double) -> 15:double, DoubleScalarDivideDoubleColumn(val 1.2, col 14:double)(children: DoubleColAddDoubleScalar(col 5:double, val 200.0) -> 14:double) -> 19:double
                       Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
-                        key expressions: _col0 (type: double), _col1 (type: double)
-                        sort order: ++
+                        key expressions: _col0 (type: double), _col1 (type: double), _col2 (type: double), _col3 (type: double), _col4 (type: double), _col5 (type: double)
+                        sort order: ++++++
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkObjectHashOperator
                             native: true
                             nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
                         Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                         TopN Hash Memory Usage: 0.1
-                        value expressions: _col2 (type: double), _col4 (type: double), _col5 (type: double)
             Execution mode: vectorized
             Map Vectorization:
                 enabled: true
@@ -466,12 +502,12 @@ STAGE PLANS:
                 vectorized: true
             Reduce Operator Tree:
               Select Operator
-                expressions: KEY.reducesinkkey0 (type: double), KEY.reducesinkkey1 (type: double), VALUE._col0 (type: double), KEY.reducesinkkey1 (type: double), VALUE._col1 (type: double), VALUE._col2 (type: double)
+                expressions: KEY.reducesinkkey0 (type: double), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey2 (type: double), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey4 (type: double), KEY.reducesinkkey5 (type: double)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                 Select Vectorization:
                     className: VectorSelectOperator
                     native: true
-                    projectedOutputColumnNums: [0, 1, 2, 1, 3, 4]
+                    projectedOutputColumnNums: [0, 1, 2, 1, 4, 5]
                 Statistics: Num rows: 1365 Data size: 293479 Basic stats: COMPLETE Column stats: NONE
                 Limit
                   Number of rows: 100
@@ -496,16 +532,17 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0), cbigint / (cdouble + 200.0), 3 / (cdouble + 200.0), 1.2 / (cdouble + 200.0) 
-from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2 limit 100
+PREHOOK: query: select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0) as s3, cbigint / (cdouble + 200.0) as s4, 3 / (cdouble + 200.0) as s5, 1.2 / (cdouble + 200.0) as s6
+from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2, s3, s4, s5, s6 limit 100
 PREHOOK: type: QUERY
 PREHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-POSTHOOK: query: select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0), cbigint / (cdouble + 200.0), 3 / (cdouble + 200.0), 1.2 / (cdouble + 200.0) 
-from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2 limit 100
+POSTHOOK: query: select (cdouble + 200.0) as s1, cbigint / (cdouble + 200.0) as s2, (cdouble + 200.0) / (cdouble + 200.0) as s3, cbigint / (cdouble + 200.0) as s4, 3 / (cdouble + 200.0) as s5, 1.2 / (cdouble + 200.0) as s6
+from alltypesorc where cdouble >= -500 and cdouble < -199 order by s1, s2, s3, s4, s5, s6 limit 100
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
+s1	s2	s3	s4	s5	s6
 -113.0	-1.6495816690265486E7	1.0	-1.6495816690265486E7	-0.02654867256637168	-0.010619469026548672
 -113.0	NULL	1.0	NULL	-0.02654867256637168	-0.010619469026548672
 -116.0	NULL	1.0	NULL	-0.02586206896551724	-0.010344827586206896
@@ -607,13 +644,14 @@ POSTHOOK: Input: default@alltypesorc
 0.0	NULL	NULL	NULL	NULL	NULL
 0.0	NULL	NULL	NULL	NULL	NULL
 PREHOOK: query: explain vectorization expression
-select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)), (ctinyint % ctinyint) as c3
-from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by c1, c2 limit 100
+select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)) as c5, (ctinyint % ctinyint) as c6
+from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by cint, cbigint, ctinyint, c1, c2, c3, c4, c5, c6 limit 100
 PREHOOK: type: QUERY
 POSTHOOK: query: explain vectorization expression
-select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)), (ctinyint % ctinyint) as c3
-from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by c1, c2 limit 100
+select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)) as c5, (ctinyint % ctinyint) as c6
+from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by cint, cbigint, ctinyint, c1, c2, c3, c4, c5, c6 limit 100
 POSTHOOK: type: QUERY
+Explain
 PLAN VECTORIZATION:
   enabled: true
   enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
@@ -644,24 +682,23 @@ STAGE PLANS:
                     predicate: ((cdouble > 1.0E9D) or (cint > 500000000) or (ctinyint = 0Y)) (type: boolean)
                     Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: cint (type: int), cbigint (type: bigint), ctinyint (type: tinyint), (cint / (cint - 528534767)) (type: double), (cbigint / (cbigint - 1018195815)) (type: double), (ctinyint / ctinyint) (type: double), (cint % (cint - 528534767)) (type: int), (cbigint % (cbigint - 1018195815)) (type: bigint), (ctinyint % ctinyint) (type: tinyint)
+                      expressions: cint (type: int), cbigint (type: bigint), ctinyint (type: tinyint), (UDFToDouble(cint) / UDFToDouble((cint - 528534767))) (type: double), (UDFToDouble(cbigint) / UDFToDouble((cbigint - 1018195815L))) (type: double), (UDFToDouble(ctinyint) / UDFToDouble(ctinyint)) (type: double), (cint % (cint - 528534767)) (type: int), (cbigint % (cbigint - 1018195815L)) (type: bigint), (ctinyint % ctinyint) (type: tinyint)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                       Select Vectorization:
                           className: VectorSelectOperator
                           native: true
-                          projectedOutputColumnNums: [2, 3, 0, 14, 15, 16, 17, 18, 13]
-                          selectExpressions: LongColDivideLongColumn(col 2:int, col 13:int)(children: LongColSubtractLongScalar(col 2:int, val 528534767) -> 13:int) -> 14:double, LongColDivideLongColumn(col 3:bigint, col 13:bigint)(children: LongColSubtractLongScalar(col 3:bigint, val 1018195815) -> 13:bigint) -> 15:double, LongColDivideLongColumn(col 0:tinyint, col 0:tinyint) -> 16:double, LongColModuloLongColumn(col 2:int, col 13:int)(children: LongColSubtractLongScalar(col 2:int, val 528534767) -> 13:int) -> 17:int, LongColModuloLongColumn(col 3:bigint, col 13:bigint)(children: LongColSubtractLongScalar(col 3:bigint, val 1018195815) -> 13:bigint) -> 18:bigint, LongColModuloLongColumn(col 0:tinyint, col 0:tinyint) -> 13:tinyint
+                          projectedOutputColumnNums: [2, 3, 0, 16, 17, 18, 19, 20, 14]
+                          selectExpressions: DoubleColDivideDoubleColumn(col 13:double, col 15:double)(children: CastLongToDouble(col 2:int) -> 13:double, CastLongToDouble(col 14:int)(children: LongColSubtractLongScalar(col 2:int, val 528534767) -> 14:int) -> 15:double) -> 16:double, DoubleColDivideDoubleColumn(col 13:double, col 15:double)(children: CastLongToDouble(col 3:bigint) -> 13:double, CastLongToDouble(col 14:bigint)(children: LongColSubtractLongScalar(col 3:bigint, val 1018195815) -> 14:bigint) -> 15:double) -> 17:double, DoubleColDivideDoubleColumn(col 13:double, col 15:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double, CastLongToDouble(col 0:tinyint) -> 15:double) -> 18:double, LongColModuloLongColumn(col 2:int, col 14:int)(children: LongColSubtractLongScalar(col 2:int, val 528534767) -> 14:int) -> 19:int, LongColModuloLongColumn(col 3:bigint, col 14:bigint)(children: LongColSubtractLongScalar(col 3:bigint, val 1018195815) -> 14:bigint) -> 20:bigint, LongCol
 ModuloLongColumn(col 0:tinyint, col 0:tinyint) -> 14:tinyint
                       Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
-                        key expressions: _col3 (type: double), _col4 (type: double)
-                        sort order: ++
+                        key expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: tinyint), _col3 (type: double), _col4 (type: double), _col5 (type: double), _col6 (type: int), _col7 (type: bigint), _col8 (type: tinyint)
+                        sort order: +++++++++
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkObjectHashOperator
                             native: true
                             nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
                         Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                         TopN Hash Memory Usage: 0.1
-                        value expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: tinyint), _col5 (type: double), _col6 (type: int), _col7 (type: bigint), _col8 (type: tinyint)
             Execution mode: vectorized
             Map Vectorization:
                 enabled: true
@@ -682,12 +719,12 @@ STAGE PLANS:
                 vectorized: true
             Reduce Operator Tree:
               Select Operator
-                expressions: VALUE._col0 (type: int), VALUE._col1 (type: bigint), VALUE._col2 (type: tinyint), KEY.reducesinkkey0 (type: double), KEY.reducesinkkey1 (type: double), VALUE._col3 (type: double), VALUE._col4 (type: int), VALUE._col5 (type: bigint), VALUE._col6 (type: tinyint)
+                expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: bigint), KEY.reducesinkkey2 (type: tinyint), KEY.reducesinkkey3 (type: double), KEY.reducesinkkey4 (type: double), KEY.reducesinkkey5 (type: double), KEY.reducesinkkey6 (type: int), KEY.reducesinkkey7 (type: bigint), KEY.reducesinkkey8 (type: tinyint)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                 Select Vectorization:
                     className: VectorSelectOperator
                     native: true
-                    projectedOutputColumnNums: [2, 3, 4, 0, 1, 5, 6, 7, 8]
+                    projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8]
                 Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
                 Limit
                   Number of rows: 100
@@ -712,113 +749,114 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)), (ctinyint % ctinyint) as c3
-from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by c1, c2 limit 100
+PREHOOK: query: select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)) as c5, (ctinyint % ctinyint) as c6
+from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by cint, cbigint, ctinyint, c1, c2, c3, c4, c5, c6 limit 100
 PREHOOK: type: QUERY
 PREHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-POSTHOOK: query: select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)), (ctinyint % ctinyint) as c3
-from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by c1, c2 limit 100
+POSTHOOK: query: select cint, cbigint, ctinyint, (cint / (cint - 528534767)) as c1, (cbigint / (cbigint - 1018195815)) as c2, (ctinyint / ctinyint) as c3, (cint % (cint - 528534767)) as c4, (cbigint % (cbigint - 1018195815)) as c5, (ctinyint % ctinyint) as c6
+from alltypesorc where cint > 500000000 or cdouble > 1000000000 or ctinyint = 0 order by cint, cbigint, ctinyint, c1, c2, c3, c4, c5, c6 limit 100
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-528534767	NULL	-1	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-11	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-11	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-11	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-12	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-13	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-16	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-16	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-19	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-21	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-21	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-22	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-22	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-22	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-23	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-23	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-23	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-24	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-28	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-28	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-30	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-32	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-33	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-33	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-34	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-34	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-36	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-37	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-4	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-4	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-40	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-43	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-44	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-45	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-45	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-47	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-48	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-48	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-5	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-5	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-5	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-50	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-51	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-53	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-54	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-55	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-55	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-56	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-56	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-57	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-59	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-62	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	-7	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	0	NULL	NULL	NULL	NULL	NULL	NULL
-528534767	NULL	0	NULL	NULL	NULL	NULL	NULL	NULL
-528534767	NULL	10	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	13	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	16	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	18	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	19	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	2	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	21	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	24	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	24	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	26	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	27	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	28	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	29	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	29	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	30	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	31	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	31	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	33	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	34	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	34	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	36	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	36	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	38	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	38	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	38	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	39	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	4	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	40	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	40	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	41	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	43	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	46	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	5	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	51	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	51	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	53	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	53	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	61	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	61	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	61	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	62	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	9	NULL	NULL	1.0	NULL	NULL	0
-528534767	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
-528534767	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
+cint	cbigint	ctinyint	c1	c2	c3	c4	c5	c6
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+253665376	NULL	0	-0.9228578528774781	NULL	NULL	253665376	NULL	NULL
+500063547	-1645852809	NULL	-17.56382575105668	0.6178013397250965	NULL	16052807	-1645852809	NULL
+500274721	-1887561756	NULL	-17.70254446861127	0.6495936807799166	NULL	19853939	-1887561756	NULL
+500276420	-1625318563	11	-17.70366893718164	0.6148325034757953	1.0	19884521	-1625318563	0
+500670123	-1887561756	NULL	-17.967935387941793	0.6495936807799166	NULL	26971175	-1887561756	NULL
+500778550	-1101568669	11	-18.042031808585442	0.5196655936613004	1.0	1166644	-1101568669	0
+500904649	-1645852809	NULL	-18.1289362933593	0.6178013397250965	NULL	3562525	-1645852809	NULL
+500997302	1025147239	8	-18.193297821713074	147.47298380878507	1.0	5322932	3287911	0
+501304330	591451136	11	-18.409705654007684	-1.3859601890900202	1.0	11156464	164706457	0
+501557797	-1645852809	NULL	-18.592073053422975	0.6178013397250965	NULL	15972337	-1645852809	NULL
+501641421	-1401137514	8	-18.65299397851052	0.5791419880860906	1.0	17561193	-1401137514	0
+501782731	1864027286	NULL	-18.756805313808638	2.2037809539011586	NULL	20246083	172364344	NULL
+501860407	-1887561756	NULL	-18.8143373261814	0.6495936807799166	NULL	21721927	-1887561756	NULL
+502884543	1864027286	NULL	-19.605463991269627	2.2037809539011586	NULL	15530287	172364344	NULL
+502950658	1588596137	8	-19.65871307067993	2.785054768955758	1.0	16852587	447795493	0
+503152400	-1645852809	NULL	-19.82291092079789	0.6178013397250965	NULL	20887427	-1645852809	NULL
+504321494	-1874900970	-51	-20.82830743286957	0.6480602307260869	1.0	20056034	-1874900970	0
+504331720	-1116957074	8	-20.83753008453853	0.5231274442942245	1.0	20270780	-1116957074	0
+504544803	-521081462	8	-21.031494795073474	0.3385234549915337	1.0	755559	-521081462	0
+504652599	1864027286	NULL	-21.13093748440259	2.2037809539011586	NULL	3127071	172364344	NULL
+504721711	-1887561756	NULL	-21.19516751650859	0.6495936807799166	NULL	4647535	-1887561756	NULL
+504864574	-2125392655	11	-21.329127903604334	0.6761039733041139	1.0	7790521	-2125392655	0
+505754402	-1752259889	8	-22.201330048925907	0.6324807454853283	1.0	4586372	-1752259889	0
+506168952	-1645852809	NULL	-22.631366306123876	0.6178013397250965	NULL	14121022	-1645852809	NULL
+506277934	-965620543	11	-22.74707879598144	0.4867489569314258	1.0	16627608	-965620543	0
+506412347	-1645852809	NULL	-22.891363015438635	0.6178013397250965	NULL	19719107	-1645852809	NULL
+506866472	-1887561756	NULL	-23.392079164512023	0.6495936807799166	NULL	8495687	-1887561756	NULL
+507172707	-744509685	8	-23.74175088919327	0.42236759628877313	1.0	15845327	-744509685	0
+507314980	1864027286	NULL	-23.907637715684892	2.2037809539011586	NULL	19259879	172364344	NULL
+507716839	-1645852809	NULL	-24.388442452101863	0.6178013397250965	NULL	8086567	-1645852809	NULL
+508118381	1864027286	NULL	-24.887773036814647	2.2037809539011586	NULL	18125117	172364344	NULL
+508811234	-1645852809	NULL	-25.797164939972976	0.6178013397250965	NULL	15722909	-1645852809	NULL
+508932874	-1645852809	NULL	-25.963455366275085	0.6178013397250965	NULL	18885549	-1645852809	NULL
+509113732	231180051	-51	-26.21455200508109	-0.29374259268331504	1.0	4166822	231180051	0
+510227766	-392065584	8	-27.8706362664207	0.2780091579320041	1.0	15938739	-392065584	0
+510438184	-1934421505	11	-28.206329559563812	0.6551548322557426	1.0	3733860	-1934421505	0
+510615289	-1887561756	NULL	-28.494986795932338	0.6495936807799166	NULL	8869905	-1887561756	NULL
+510621074	1899510896	-51	-28.50451182790729	2.1553141855290683	1.0	9037670	136880734	0
+510824788	-1887561756	NULL	-28.843895749396427	0.6495936807799166	NULL	14945376	-1887561756	NULL
+511012894	1864027286	NULL	-29.164284777089755	2.2037809539011586	NULL	2878577	172364344	NULL
+511193256	539703514	11	-29.478011229817287	-1.1279251784659332	1.0	8289437	61211213	0
+511270713	1323416266	11	-29.614754043285547	4.335935752876533	1.0	10613147	102534462	0
+513054293	-1645852809	NULL	-33.14202736944618	0.6178013397250965	NULL	2198651	-1645852809	NULL
+513112567	1081141978	11	-33.27103571474887	17.175661334591595	1.0	4179967	11057207	0
+513621126	1507857719	11	-34.43968686117629	3.079385401809817	1.0	6557332	38872007	0
+514017068	-1645852809	NULL	-35.40623538206709	0.6178013397250965	NULL	5897603	-1645852809	NULL
+514430128	252972426	-51	-36.47240656070673	-0.3305863746932597	1.0	6663124	252972426	0
+515263287	-1887561756	NULL	-38.824855027472445	0.6495936807799166	NULL	10947047	-1887561756	NULL
+515486221	-459077368	-51	-39.50526142912781	0.31075996862524785	1.0	6592927	-459077368	0
+515526733	-1645852809	NULL	-39.631410326879525	0.6178013397250965	NULL	8213407	-1645852809	NULL
+515696675	773138718	8	-40.1692615226624	-3.1549329828223667	1.0	2172995	37967427	0
+516113449	-1887561756	NULL	-41.55061878296651	0.6495936807799166	NULL	6839411	-1887561756	NULL
+516141808	-1887561756	NULL	-41.64798802287654	0.6495936807799166	NULL	8030489	-1887561756	NULL
+516656920	-1750908332	8	-43.497522741284676	0.6323013650089341	1.0	5909499	-1750908332	0
+517204863	725306795	-51	-45.6495362184887	-2.476387796988771	1.0	7359183	139528755	0
+517821258	-1161186365	8	-48.33348793565208	0.5328052948473682	1.0	3572826	-1161186365	0
+518020906	-1887561756	NULL	-49.27028291509656	0.6495936807799166	NULL	2841717	-1887561756	NULL
+518170426	-2122540529	-51	-49.99550149884107	0.6758098409167198	1.0	10317717	-2122540529	0
+518203655	-1089866594	8	-50.15952348595195	0.5169992071140812	1.0	1648055	-1089866594	0
+518213127	-1645852809	NULL	-50.20647174286257	0.6178013397250965	NULL	2131127	-1645852809	NULL
+518304665	1758550605	11	-50.66466248332617	2.3752809176800223	1.0	6799565	277841025	0
+519195191	301311742	8	-55.590873825535546	-0.42030748533591705	1.0	5518511	301311742	0
+519627078	-1887561756	NULL	-58.334667723581276	0.6495936807799166	NULL	2981116	-1887561756	NULL
+NULL	-1111841132	0	NULL	0.5219820874778469	NULL	NULL	-1111841132	NULL
+NULL	-1300968933	0	NULL	0.5609644308891505	NULL	NULL	-1300968933	NULL
+NULL	-1355080830	0	NULL	0.5709746619109379	NULL	NULL	-1355080830	NULL
+NULL	-1379420228	0	NULL	0.5753299124049946	NULL	NULL	-1379420228	NULL
+NULL	-1418871864	0	NULL	0.5822045387685764	NULL	NULL	-1418871864	NULL
+NULL	-203039588	0	NULL	0.1662575351985599	NULL	NULL	-203039588	NULL
+NULL	-229832118	0	NULL	0.18415622913786178	NULL	NULL	-229832118	NULL
+NULL	-277546656	0	NULL	0.21419893397937406	NULL	NULL	-277546656	NULL
+NULL	-39854776	0	NULL	0.03766811940658894	NULL	NULL	-39854776	NULL
+NULL	-438779645	0	NULL	0.3011578829200047	NULL	NULL	-438779645	NULL
+NULL	-495480552	0	NULL	0.32733585778445334	NULL	NULL	-495480552	NULL
+NULL	-741129356	0	NULL	0.42125774599060745	NULL	NULL	-741129356	NULL
+NULL	-901264012	0	NULL	0.46954044013967267	NULL	NULL	-901264012	NULL
 NULL	1018195815	0	NULL	NULL	NULL	NULL	NULL	NULL
+NULL	1049949527	0	NULL	33.065410651831826	NULL	NULL	2077031	NULL
+NULL	10989626	0	NULL	-0.010910999277030852	NULL	NULL	10989626	NULL
+NULL	1561097160	0	NULL	2.87547115949768	NULL	NULL	475294470	NULL
+NULL	1580847931	0	NULL	2.8096365161452623	NULL	NULL	455543699	NULL
+NULL	1585496199	0	NULL	2.794808964909849	NULL	NULL	450895431	NULL
+NULL	1638241933	0	NULL	2.6421291665920887	NULL	NULL	398149697	NULL
+NULL	1738765387	0	NULL	2.413043035072816	NULL	NULL	297626243	NULL
+NULL	1907356119	0	NULL	2.145120638449015	NULL	NULL	129035511	NULL
+NULL	2136716416	0	NULL	1.9103058218951838	NULL	NULL	1018195815	NULL
+NULL	2144209609	0	NULL	1.904248083305452	NULL	NULL	1018195815	NULL
+NULL	406548885	0	NULL	-0.6646790248746937	NULL	NULL	406548885	NULL
+NULL	473839931	0	NULL	-0.8704598313848666	NULL	NULL	473839931	NULL
+NULL	53950949	0	NULL	-0.05595150246825374	NULL	NULL	53950949	NULL
+NULL	618557893	0	NULL	-1.5477957895096852	NULL	NULL	218919971	NULL
+NULL	738226024	0	NULL	-2.636805997401341	NULL	NULL	178286442	NULL
+NULL	98841361	0	NULL	-0.10751170081349277	NULL	NULL	98841361	NULL