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

[01/20] hive git commit: HIVE-18786 : NPE in Hive windowing functions (Dongwook Kwon via Ashutosh Chauhan)

Repository: hive
Updated Branches:
  refs/heads/master-txnstats cd8f693c0 -> d7bbc20d2


HIVE-18786 : NPE in Hive windowing functions (Dongwook Kwon via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


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

Branch: refs/heads/master-txnstats
Commit: 5b2cbb5489ffc672e1eb7ee40b8eaa50fd26115e
Parents: 1b3ac73
Author: Ashutosh Chauhan <ha...@apache.org>
Authored: Thu Jun 28 20:29:29 2018 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Thu Jun 28 20:29:29 2018 -0700

----------------------------------------------------------------------
 .../ql/udf/generic/GenericUDAFEvaluator.java    |  1 +
 .../udf/generic/TestGenericUDAFEvaluator.java   | 79 ++++++++++++++++++++
 2 files changed, 80 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/5b2cbb54/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java
index 3a3e4b6..b02ca07 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java
@@ -149,6 +149,7 @@ public abstract class GenericUDAFEvaluator implements Closeable {
     // This function should be overriden in every sub class
     // And the sub class should call super.init(m, parameters) to get mode set.
     mode = m;
+    partitionEvaluator = null;
     return null;
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/5b2cbb54/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java
new file mode 100644
index 0000000..0747fa1
--- /dev/null
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java
@@ -0,0 +1,79 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.udf.generic;
+
+import org.apache.hadoop.hive.ql.exec.PTFPartition;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef;
+import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef;
+import org.apache.hadoop.hive.ql.udf.ptf.BasePartitionEvaluator;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.util.Collections;
+import java.util.List;
+
+@RunWith(MockitoJUnitRunner.class)
+public class TestGenericUDAFEvaluator {
+
+  @Mock(answer = Answers.CALLS_REAL_METHODS)
+  private GenericUDAFEvaluator udafEvaluator;
+
+  @Mock
+  private WindowFrameDef winFrame;
+
+  @Mock
+  private PTFPartition partition1;
+
+  @Mock
+  private ObjectInspector outputOI;
+
+  private List<PTFExpressionDef> parameters = Collections.emptyList();
+
+  @Test
+  public void testGetPartitionWindowingEvaluatorWithoutInitCall() {
+    BasePartitionEvaluator partition1Evaluator1 = udafEvaluator.getPartitionWindowingEvaluator(
+        winFrame, partition1, parameters, outputOI);
+
+    BasePartitionEvaluator partition1Evaluator2 = udafEvaluator.getPartitionWindowingEvaluator(
+        winFrame, partition1, parameters, outputOI);
+
+    Assert.assertEquals(partition1Evaluator1, partition1Evaluator2);
+  }
+
+  @Test
+  public void testGetPartitionWindowingEvaluatorWithInitCall() throws HiveException {
+    BasePartitionEvaluator partition1Evaluator1 = udafEvaluator.getPartitionWindowingEvaluator(
+        winFrame, partition1, parameters, outputOI);
+
+    udafEvaluator.init(GenericUDAFEvaluator.Mode.COMPLETE, null);
+
+    BasePartitionEvaluator newPartitionEvaluator = udafEvaluator.getPartitionWindowingEvaluator(
+        winFrame, partition1, parameters, outputOI);
+
+    Assert.assertNotEquals(partition1Evaluator1, newPartitionEvaluator);
+  }
+
+}


[10/20] hive git commit: HIVE-20004: Wrong scale used by ConvertDecimal64ToDecimal results in incorrect results (Prasanth Jayachandran reviewed by Matt McCline)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 8a64121..3dd6580 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -102,6 +102,7 @@ minillaplocal.shared.query.files=alter_merge_2_orc.q,\
   column_names_with_leading_and_trailing_spaces.q,\
   constprog_dpp.q,\
   constprog_semijoin.q,\
+  convert_decimal64_to_decimal.q,\
   correlationoptimizer1.q,\
   count.q,\
   count_dist_rewrite.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConvertDecimal64ToDecimal.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConvertDecimal64ToDecimal.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConvertDecimal64ToDecimal.java
index 321a174..04a2cba 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConvertDecimal64ToDecimal.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConvertDecimal64ToDecimal.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.ql.exec.vector.expressions;
 
+import org.apache.hadoop.hive.ql.exec.vector.Decimal64ColumnVector;
 import org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector;
 import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector;
 
@@ -38,6 +39,6 @@ public class ConvertDecimal64ToDecimal extends FuncLongToDecimal {
 
   @Override
   protected void func(DecimalColumnVector outV, LongColumnVector inV, int i) {
-    outV.vector[i].deserialize64(inV.vector[i], outV.scale);
+    outV.vector[i].deserialize64(inV.vector[i], ((Decimal64ColumnVector) inV).scale);
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/queries/clientpositive/convert_decimal64_to_decimal.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/convert_decimal64_to_decimal.q b/ql/src/test/queries/clientpositive/convert_decimal64_to_decimal.q
new file mode 100644
index 0000000..c76057c
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/convert_decimal64_to_decimal.q
@@ -0,0 +1,39 @@
+set hive.mapred.mode=nonstrict;
+set hive.explain.user=false;
+SET hive.vectorized.execution.enabled=true;
+SET hive.auto.convert.join=true;
+SET hive.auto.convert.join.noconditionaltask=true;
+SET hive.auto.convert.join.noconditionaltask.size=1000000000;
+
+-- SORT_QUERY_RESULTS
+
+CREATE TABLE table_8_txt (tinyint_col_1 TINYINT, float_col_2 FLOAT, bigint_col_3 BIGINT, boolean_col_4 BOOLEAN, decimal0202_col_5 DECIMAL(2, 2), decimal1612_col_6 DECIMAL(16, 12), double_col_7 DOUBLE, char0205_col_8 CHAR(205), bigint_col_9 BIGINT, decimal1202_col_10 DECIMAL(12, 2), boolean_col_11 BOOLEAN, double_col_12 DOUBLE, decimal2208_col_13 DECIMAL(22, 8), decimal3722_col_14 DECIMAL(37, 22), smallint_col_15 SMALLINT, decimal2824_col_16 DECIMAL(28, 24), boolean_col_17 BOOLEAN, float_col_18 FLOAT, timestamp_col_19 TIMESTAMP, decimal0402_col_20 DECIMAL(4, 2), char0208_col_21 CHAR(208), char0077_col_22 CHAR(77), decimal2915_col_23 DECIMAL(29, 15), char0234_col_24 CHAR(234), timestamp_col_25 TIMESTAMP, tinyint_col_26 TINYINT, decimal3635_col_27 DECIMAL(36, 35), boolean_col_28 BOOLEAN, float_col_29 FLOAT, smallint_col_30 SMALLINT, varchar0200_col_31 VARCHAR(200), boolean_col_32 BOOLEAN)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001';
+
+LOAD DATA LOCAL INPATH '../../data/files/table_8.dat' INTO TABLE table_8_txt;
+
+CREATE TABLE table_8
+STORED AS orc AS
+SELECT * FROM table_8_txt;
+
+analyze table table_8 compute statistics;
+
+
+CREATE EXTERNAL TABLE table_19_txt (float_col_1 FLOAT, varchar0037_col_2 VARCHAR(37), decimal2912_col_3 DECIMAL(29, 12), decimal0801_col_4 DECIMAL(8, 1), timestamp_col_5 TIMESTAMP, boolean_col_6 BOOLEAN, string_col_7 STRING, tinyint_col_8 TINYINT, boolean_col_9 BOOLEAN, decimal1614_col_10 DECIMAL(16, 14), boolean_col_11 BOOLEAN, float_col_12 FLOAT, char0116_col_13 CHAR(116), boolean_col_14 BOOLEAN, string_col_15 STRING, double_col_16 DOUBLE, string_col_17 STRING, bigint_col_18 BIGINT, int_col_19 INT)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001';
+
+LOAD DATA LOCAL INPATH '../../data/files/table_19.dat' INTO TABLE table_19_txt;
+
+CREATE TABLE table_19
+STORED AS orc AS
+SELECT * FROM table_19_txt;
+
+analyze table table_19 compute statistics;
+
+
+EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4;
+SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4;
+
+SET hive.vectorized.input.format.supports.enabled="none";
+EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4;
+SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4;

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/convert_decimal64_to_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/convert_decimal64_to_decimal.q.out b/ql/src/test/results/clientpositive/convert_decimal64_to_decimal.q.out
new file mode 100644
index 0000000..8e538d2
--- /dev/null
+++ b/ql/src/test/results/clientpositive/convert_decimal64_to_decimal.q.out
@@ -0,0 +1,438 @@
+PREHOOK: query: CREATE TABLE table_8_txt (tinyint_col_1 TINYINT, float_col_2 FLOAT, bigint_col_3 BIGINT, boolean_col_4 BOOLEAN, decimal0202_col_5 DECIMAL(2, 2), decimal1612_col_6 DECIMAL(16, 12), double_col_7 DOUBLE, char0205_col_8 CHAR(205), bigint_col_9 BIGINT, decimal1202_col_10 DECIMAL(12, 2), boolean_col_11 BOOLEAN, double_col_12 DOUBLE, decimal2208_col_13 DECIMAL(22, 8), decimal3722_col_14 DECIMAL(37, 22), smallint_col_15 SMALLINT, decimal2824_col_16 DECIMAL(28, 24), boolean_col_17 BOOLEAN, float_col_18 FLOAT, timestamp_col_19 TIMESTAMP, decimal0402_col_20 DECIMAL(4, 2), char0208_col_21 CHAR(208), char0077_col_22 CHAR(77), decimal2915_col_23 DECIMAL(29, 15), char0234_col_24 CHAR(234), timestamp_col_25 TIMESTAMP, tinyint_col_26 TINYINT, decimal3635_col_27 DECIMAL(36, 35), boolean_col_28 BOOLEAN, float_col_29 FLOAT, smallint_col_30 SMALLINT, varchar0200_col_31 VARCHAR(200), boolean_col_32 BOOLEAN)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_8_txt
+POSTHOOK: query: CREATE TABLE table_8_txt (tinyint_col_1 TINYINT, float_col_2 FLOAT, bigint_col_3 BIGINT, boolean_col_4 BOOLEAN, decimal0202_col_5 DECIMAL(2, 2), decimal1612_col_6 DECIMAL(16, 12), double_col_7 DOUBLE, char0205_col_8 CHAR(205), bigint_col_9 BIGINT, decimal1202_col_10 DECIMAL(12, 2), boolean_col_11 BOOLEAN, double_col_12 DOUBLE, decimal2208_col_13 DECIMAL(22, 8), decimal3722_col_14 DECIMAL(37, 22), smallint_col_15 SMALLINT, decimal2824_col_16 DECIMAL(28, 24), boolean_col_17 BOOLEAN, float_col_18 FLOAT, timestamp_col_19 TIMESTAMP, decimal0402_col_20 DECIMAL(4, 2), char0208_col_21 CHAR(208), char0077_col_22 CHAR(77), decimal2915_col_23 DECIMAL(29, 15), char0234_col_24 CHAR(234), timestamp_col_25 TIMESTAMP, tinyint_col_26 TINYINT, decimal3635_col_27 DECIMAL(36, 35), boolean_col_28 BOOLEAN, float_col_29 FLOAT, smallint_col_30 SMALLINT, varchar0200_col_31 VARCHAR(200), boolean_col_32 BOOLEAN)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_8_txt
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_8.dat' INTO TABLE table_8_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@table_8_txt
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_8.dat' INTO TABLE table_8_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@table_8_txt
+PREHOOK: query: CREATE TABLE table_8
+STORED AS orc AS
+SELECT * FROM table_8_txt
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@table_8_txt
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_8
+POSTHOOK: query: CREATE TABLE table_8
+STORED AS orc AS
+SELECT * FROM table_8_txt
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@table_8_txt
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_8
+POSTHOOK: Lineage: table_8.bigint_col_3 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:bigint_col_3, type:bigint, comment:null), ]
+POSTHOOK: Lineage: table_8.bigint_col_9 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:bigint_col_9, type:bigint, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_11 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_11, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_17 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_17, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_28 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_28, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_32 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_32, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_4 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_4, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.char0077_col_22 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0077_col_22, type:char(77), comment:null), ]
+POSTHOOK: Lineage: table_8.char0205_col_8 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0205_col_8, type:char(205), comment:null), ]
+POSTHOOK: Lineage: table_8.char0208_col_21 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0208_col_21, type:char(208), comment:null), ]
+POSTHOOK: Lineage: table_8.char0234_col_24 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0234_col_24, type:char(234), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal0202_col_5 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal0202_col_5, type:decimal(2,2), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal0402_col_20 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal0402_col_20, type:decimal(4,2), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal1202_col_10 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal1202_col_10, type:decimal(12,2), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal1612_col_6 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal1612_col_6, type:decimal(16,12), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal2208_col_13 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal2208_col_13, type:decimal(22,8), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal2824_col_16 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal2824_col_16, type:decimal(28,24), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal2915_col_23 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal2915_col_23, type:decimal(29,15), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal3635_col_27 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal3635_col_27, type:decimal(36,35), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal3722_col_14 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal3722_col_14, type:decimal(37,22), comment:null), ]
+POSTHOOK: Lineage: table_8.double_col_12 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:double_col_12, type:double, comment:null), ]
+POSTHOOK: Lineage: table_8.double_col_7 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:double_col_7, type:double, comment:null), ]
+POSTHOOK: Lineage: table_8.float_col_18 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:float_col_18, type:float, comment:null), ]
+POSTHOOK: Lineage: table_8.float_col_2 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:float_col_2, type:float, comment:null), ]
+POSTHOOK: Lineage: table_8.float_col_29 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:float_col_29, type:float, comment:null), ]
+POSTHOOK: Lineage: table_8.smallint_col_15 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:smallint_col_15, type:smallint, comment:null), ]
+POSTHOOK: Lineage: table_8.smallint_col_30 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:smallint_col_30, type:smallint, comment:null), ]
+POSTHOOK: Lineage: table_8.timestamp_col_19 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:timestamp_col_19, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: table_8.timestamp_col_25 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:timestamp_col_25, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: table_8.tinyint_col_1 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:tinyint_col_1, type:tinyint, comment:null), ]
+POSTHOOK: Lineage: table_8.tinyint_col_26 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:tinyint_col_26, type:tinyint, comment:null), ]
+POSTHOOK: Lineage: table_8.varchar0200_col_31 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:varchar0200_col_31, type:varchar(200), comment:null), ]
+PREHOOK: query: analyze table table_8 compute statistics
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_8
+PREHOOK: Output: default@table_8
+POSTHOOK: query: analyze table table_8 compute statistics
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_8
+POSTHOOK: Output: default@table_8
+PREHOOK: query: CREATE EXTERNAL TABLE table_19_txt (float_col_1 FLOAT, varchar0037_col_2 VARCHAR(37), decimal2912_col_3 DECIMAL(29, 12), decimal0801_col_4 DECIMAL(8, 1), timestamp_col_5 TIMESTAMP, boolean_col_6 BOOLEAN, string_col_7 STRING, tinyint_col_8 TINYINT, boolean_col_9 BOOLEAN, decimal1614_col_10 DECIMAL(16, 14), boolean_col_11 BOOLEAN, float_col_12 FLOAT, char0116_col_13 CHAR(116), boolean_col_14 BOOLEAN, string_col_15 STRING, double_col_16 DOUBLE, string_col_17 STRING, bigint_col_18 BIGINT, int_col_19 INT)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_19_txt
+POSTHOOK: query: CREATE EXTERNAL TABLE table_19_txt (float_col_1 FLOAT, varchar0037_col_2 VARCHAR(37), decimal2912_col_3 DECIMAL(29, 12), decimal0801_col_4 DECIMAL(8, 1), timestamp_col_5 TIMESTAMP, boolean_col_6 BOOLEAN, string_col_7 STRING, tinyint_col_8 TINYINT, boolean_col_9 BOOLEAN, decimal1614_col_10 DECIMAL(16, 14), boolean_col_11 BOOLEAN, float_col_12 FLOAT, char0116_col_13 CHAR(116), boolean_col_14 BOOLEAN, string_col_15 STRING, double_col_16 DOUBLE, string_col_17 STRING, bigint_col_18 BIGINT, int_col_19 INT)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_19_txt
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_19.dat' INTO TABLE table_19_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@table_19_txt
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_19.dat' INTO TABLE table_19_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@table_19_txt
+PREHOOK: query: CREATE TABLE table_19
+STORED AS orc AS
+SELECT * FROM table_19_txt
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@table_19_txt
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_19
+POSTHOOK: query: CREATE TABLE table_19
+STORED AS orc AS
+SELECT * FROM table_19_txt
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@table_19_txt
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_19
+POSTHOOK: Lineage: table_19.bigint_col_18 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:bigint_col_18, type:bigint, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_11 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_11, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_14 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_14, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_6 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_6, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_9 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_9, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.char0116_col_13 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:char0116_col_13, type:char(116), comment:null), ]
+POSTHOOK: Lineage: table_19.decimal0801_col_4 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:decimal0801_col_4, type:decimal(8,1), comment:null), ]
+POSTHOOK: Lineage: table_19.decimal1614_col_10 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:decimal1614_col_10, type:decimal(16,14), comment:null), ]
+POSTHOOK: Lineage: table_19.decimal2912_col_3 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:decimal2912_col_3, type:decimal(29,12), comment:null), ]
+POSTHOOK: Lineage: table_19.double_col_16 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:double_col_16, type:double, comment:null), ]
+POSTHOOK: Lineage: table_19.float_col_1 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:float_col_1, type:float, comment:null), ]
+POSTHOOK: Lineage: table_19.float_col_12 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:float_col_12, type:float, comment:null), ]
+POSTHOOK: Lineage: table_19.int_col_19 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:int_col_19, type:int, comment:null), ]
+POSTHOOK: Lineage: table_19.string_col_15 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:string_col_15, type:string, comment:null), ]
+POSTHOOK: Lineage: table_19.string_col_17 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:string_col_17, type:string, comment:null), ]
+POSTHOOK: Lineage: table_19.string_col_7 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:string_col_7, type:string, comment:null), ]
+POSTHOOK: Lineage: table_19.timestamp_col_5 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:timestamp_col_5, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: table_19.tinyint_col_8 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:tinyint_col_8, type:tinyint, comment:null), ]
+POSTHOOK: Lineage: table_19.varchar0037_col_2 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:varchar0037_col_2, type:varchar(37), comment:null), ]
+PREHOOK: query: analyze table table_19 compute statistics
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_19
+PREHOOK: Output: default@table_19
+POSTHOOK: query: analyze table table_19 compute statistics
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_19
+POSTHOOK: Output: default@table_19
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-5 is a root stage
+  Stage-2 depends on stages: Stage-5
+  Stage-0 depends on stages: Stage-2
+
+STAGE PLANS:
+  Stage: Stage-5
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        $hdt$_0:t1 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        $hdt$_0:t1 
+          TableScan
+            alias: t1
+            filterExpr: decimal0801_col_4 is not null (type: boolean)
+            Statistics: Num rows: 1080 Data size: 951862 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: decimal0801_col_4 is not null (type: boolean)
+              Statistics: Num rows: 1080 Data size: 951862 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: decimal0801_col_4 (type: decimal(8,1))
+                outputColumnNames: _col0
+                Statistics: Num rows: 1080 Data size: 951862 Basic stats: COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col0 (type: decimal(9,2))
+                    1 _col1 (type: decimal(9,2))
+
+  Stage: Stage-2
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: t2
+            filterExpr: decimal0402_col_20 is not null (type: boolean)
+            Statistics: Num rows: 1000 Data size: 2087309 Basic stats: COMPLETE Column stats: NONE
+            TableScan Vectorization:
+                native: true
+                vectorizationSchemaColumns: [0:tinyint_col_1:tinyint, 1:float_col_2:float, 2:bigint_col_3:bigint, 3:boolean_col_4:boolean, 4:decimal0202_col_5:decimal(2,2)/DECIMAL_64, 5:decimal1612_col_6:decimal(16,12)/DECIMAL_64, 6:double_col_7:double, 7:char0205_col_8:char(205), 8:bigint_col_9:bigint, 9:decimal1202_col_10:decimal(12,2)/DECIMAL_64, 10:boolean_col_11:boolean, 11:double_col_12:double, 12:decimal2208_col_13:decimal(22,8), 13:decimal3722_col_14:decimal(37,22), 14:smallint_col_15:smallint, 15:decimal2824_col_16:decimal(28,24), 16:boolean_col_17:boolean, 17:float_col_18:float, 18:timestamp_col_19:timestamp, 19:decimal0402_col_20:decimal(4,2)/DECIMAL_64, 20:char0208_col_21:char(208), 21:char0077_col_22:char(77), 22:decimal2915_col_23:decimal(29,15), 23:char0234_col_24:char(234), 24:timestamp_col_25:timestamp, 25:tinyint_col_26:tinyint, 26:decimal3635_col_27:decimal(36,35), 27:boolean_col_28:boolean, 28:float_col_29:float, 29:smallint_col_30:smallint, 30:varchar0200_col_31
 :varchar(200), 31:boolean_col_32:boolean, 32:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+            Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: SelectColumnIsNotNull(col 33:decimal(4,2))(children: ConvertDecimal64ToDecimal(col 19:decimal(4,2)/DECIMAL_64) -> 33:decimal(4,2))
+              predicate: decimal0402_col_20 is not null (type: boolean)
+              Statistics: Num rows: 1000 Data size: 2087309 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: smallint_col_15 (type: smallint), decimal0402_col_20 (type: decimal(4,2))
+                outputColumnNames: _col0, _col1
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [14, 19]
+                Statistics: Num rows: 1000 Data size: 2087309 Basic stats: COMPLETE Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: decimal(9,2))
+                    1 _col1 (type: decimal(9,2))
+                  Map Join Vectorization:
+                      bigTableKeyExpressions: ConvertDecimal64ToDecimal(col 19:decimal(9,2)/DECIMAL_64) -> 34:decimal(9,2)
+                      bigTableValueExpressions: col 14:smallint
+                      className: VectorMapJoinOperator
+                      native: false
+                      nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                      nativeConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false, Optimized Table and Supports Key Types IS false
+                      nativeNotSupportedKeyTypes: DECIMAL
+                  outputColumnNames: _col1
+                  Statistics: Num rows: 1188 Data size: 1047048 Basic stats: COMPLETE Column stats: NONE
+                  Group By Operator
+                    aggregations: count(_col1)
+                    Group By Vectorization:
+                        aggregators: VectorUDAFCount(col 0:smallint) -> bigint
+                        className: VectorGroupByOperator
+                        groupByMode: HASH
+                        native: false
+                        vectorProcessingMode: HASH
+                        projectedOutputColumnNums: [0]
+                    mode: hash
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      sort order: 
+                      Reduce Sink Vectorization:
+                          className: VectorReduceSinkOperator
+                          native: false
+                          nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+                          nativeConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
+                      Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col0 (type: bigint)
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+          inputFormatFeatureSupport: [DECIMAL_64]
+          featureSupportInUse: [DECIMAL_64]
+          inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+          rowBatchContext:
+              dataColumnCount: 32
+              includeColumns: [14, 19]
+              dataColumns: tinyint_col_1:tinyint, float_col_2:float, bigint_col_3:bigint, boolean_col_4:boolean, decimal0202_col_5:decimal(2,2)/DECIMAL_64, decimal1612_col_6:decimal(16,12)/DECIMAL_64, double_col_7:double, char0205_col_8:char(205), bigint_col_9:bigint, decimal1202_col_10:decimal(12,2)/DECIMAL_64, boolean_col_11:boolean, double_col_12:double, decimal2208_col_13:decimal(22,8), decimal3722_col_14:decimal(37,22), smallint_col_15:smallint, decimal2824_col_16:decimal(28,24), boolean_col_17:boolean, float_col_18:float, timestamp_col_19:timestamp, decimal0402_col_20:decimal(4,2)/DECIMAL_64, char0208_col_21:char(208), char0077_col_22:char(77), decimal2915_col_23:decimal(29,15), char0234_col_24:char(234), timestamp_col_25:timestamp, tinyint_col_26:tinyint, decimal3635_col_27:decimal(36,35), boolean_col_28:boolean, float_col_29:float, smallint_col_30:smallint, varchar0200_col_31:varchar(200), boolean_col_32:boolean
+              partitionColumnCount: 0
+              scratchColumnTypeNames: [decimal(4,2), decimal(9,2)]
+      Local Work:
+        Map Reduce Local Work
+      Reduce Vectorization:
+          enabled: false
+          enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true
+          enableConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
+      Reduce Operator Tree:
+        Group By Operator
+          aggregations: count(VALUE._col0)
+          mode: mergepartial
+          outputColumnNames: _col0
+          Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 1 Data size: 8 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
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_19
+PREHOOK: Input: default@table_8
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_19
+POSTHOOK: Input: default@table_8
+#### A masked pattern was here ####
+2
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-5 is a root stage
+  Stage-2 depends on stages: Stage-5
+  Stage-0 depends on stages: Stage-2
+
+STAGE PLANS:
+  Stage: Stage-5
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        $hdt$_0:t1 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        $hdt$_0:t1 
+          TableScan
+            alias: t1
+            filterExpr: decimal0801_col_4 is not null (type: boolean)
+            Statistics: Num rows: 1080 Data size: 951862 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: decimal0801_col_4 is not null (type: boolean)
+              Statistics: Num rows: 1080 Data size: 951862 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: decimal0801_col_4 (type: decimal(8,1))
+                outputColumnNames: _col0
+                Statistics: Num rows: 1080 Data size: 951862 Basic stats: COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col0 (type: decimal(9,2))
+                    1 _col1 (type: decimal(9,2))
+
+  Stage: Stage-2
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: t2
+            filterExpr: decimal0402_col_20 is not null (type: boolean)
+            Statistics: Num rows: 1000 Data size: 2087309 Basic stats: COMPLETE Column stats: NONE
+            TableScan Vectorization:
+                native: true
+                vectorizationSchemaColumns: [0:tinyint_col_1:tinyint, 1:float_col_2:float, 2:bigint_col_3:bigint, 3:boolean_col_4:boolean, 4:decimal0202_col_5:decimal(2,2), 5:decimal1612_col_6:decimal(16,12), 6:double_col_7:double, 7:char0205_col_8:char(205), 8:bigint_col_9:bigint, 9:decimal1202_col_10:decimal(12,2), 10:boolean_col_11:boolean, 11:double_col_12:double, 12:decimal2208_col_13:decimal(22,8), 13:decimal3722_col_14:decimal(37,22), 14:smallint_col_15:smallint, 15:decimal2824_col_16:decimal(28,24), 16:boolean_col_17:boolean, 17:float_col_18:float, 18:timestamp_col_19:timestamp, 19:decimal0402_col_20:decimal(4,2), 20:char0208_col_21:char(208), 21:char0077_col_22:char(77), 22:decimal2915_col_23:decimal(29,15), 23:char0234_col_24:char(234), 24:timestamp_col_25:timestamp, 25:tinyint_col_26:tinyint, 26:decimal3635_col_27:decimal(36,35), 27:boolean_col_28:boolean, 28:float_col_29:float, 29:smallint_col_30:smallint, 30:varchar0200_col_31:varchar(200), 31:boolean_col_32:boolean, 32
 :ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+            Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: SelectColumnIsNotNull(col 19:decimal(4,2))
+              predicate: decimal0402_col_20 is not null (type: boolean)
+              Statistics: Num rows: 1000 Data size: 2087309 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: smallint_col_15 (type: smallint), decimal0402_col_20 (type: decimal(4,2))
+                outputColumnNames: _col0, _col1
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [14, 19]
+                Statistics: Num rows: 1000 Data size: 2087309 Basic stats: COMPLETE Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: decimal(9,2))
+                    1 _col1 (type: decimal(9,2))
+                  Map Join Vectorization:
+                      bigTableKeyExpressions: col 19:decimal(9,2)
+                      bigTableValueExpressions: col 14:smallint
+                      className: VectorMapJoinOperator
+                      native: false
+                      nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                      nativeConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false, Optimized Table and Supports Key Types IS false
+                      nativeNotSupportedKeyTypes: DECIMAL
+                  outputColumnNames: _col1
+                  Statistics: Num rows: 1188 Data size: 1047048 Basic stats: COMPLETE Column stats: NONE
+                  Group By Operator
+                    aggregations: count(_col1)
+                    Group By Vectorization:
+                        aggregators: VectorUDAFCount(col 0:smallint) -> bigint
+                        className: VectorGroupByOperator
+                        groupByMode: HASH
+                        native: false
+                        vectorProcessingMode: HASH
+                        projectedOutputColumnNums: [0]
+                    mode: hash
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      sort order: 
+                      Reduce Sink Vectorization:
+                          className: VectorReduceSinkOperator
+                          native: false
+                          nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+                          nativeConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
+                      Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col0 (type: bigint)
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+          inputFormatFeatureSupport: [DECIMAL_64]
+          vectorizationSupportRemovedReasons: [[] is disabled because it is not in hive.vectorized.input.format.supports.enabled []]
+          featureSupportInUse: []
+          inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+          rowBatchContext:
+              dataColumnCount: 32
+              includeColumns: [14, 19]
+              dataColumns: tinyint_col_1:tinyint, float_col_2:float, bigint_col_3:bigint, boolean_col_4:boolean, decimal0202_col_5:decimal(2,2), decimal1612_col_6:decimal(16,12), double_col_7:double, char0205_col_8:char(205), bigint_col_9:bigint, decimal1202_col_10:decimal(12,2), boolean_col_11:boolean, double_col_12:double, decimal2208_col_13:decimal(22,8), decimal3722_col_14:decimal(37,22), smallint_col_15:smallint, decimal2824_col_16:decimal(28,24), boolean_col_17:boolean, float_col_18:float, timestamp_col_19:timestamp, decimal0402_col_20:decimal(4,2), char0208_col_21:char(208), char0077_col_22:char(77), decimal2915_col_23:decimal(29,15), char0234_col_24:char(234), timestamp_col_25:timestamp, tinyint_col_26:tinyint, decimal3635_col_27:decimal(36,35), boolean_col_28:boolean, float_col_29:float, smallint_col_30:smallint, varchar0200_col_31:varchar(200), boolean_col_32:boolean
+              partitionColumnCount: 0
+              scratchColumnTypeNames: []
+      Local Work:
+        Map Reduce Local Work
+      Reduce Vectorization:
+          enabled: false
+          enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true
+          enableConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
+      Reduce Operator Tree:
+        Group By Operator
+          aggregations: count(VALUE._col0)
+          mode: mergepartial
+          outputColumnNames: _col0
+          Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 1 Data size: 8 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
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_19
+PREHOOK: Input: default@table_8
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_19
+POSTHOOK: Input: default@table_8
+#### A masked pattern was here ####
+2

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/llap/convert_decimal64_to_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/convert_decimal64_to_decimal.q.out b/ql/src/test/results/clientpositive/llap/convert_decimal64_to_decimal.q.out
new file mode 100644
index 0000000..cbc6b25
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/convert_decimal64_to_decimal.q.out
@@ -0,0 +1,553 @@
+PREHOOK: query: CREATE TABLE table_8_txt (tinyint_col_1 TINYINT, float_col_2 FLOAT, bigint_col_3 BIGINT, boolean_col_4 BOOLEAN, decimal0202_col_5 DECIMAL(2, 2), decimal1612_col_6 DECIMAL(16, 12), double_col_7 DOUBLE, char0205_col_8 CHAR(205), bigint_col_9 BIGINT, decimal1202_col_10 DECIMAL(12, 2), boolean_col_11 BOOLEAN, double_col_12 DOUBLE, decimal2208_col_13 DECIMAL(22, 8), decimal3722_col_14 DECIMAL(37, 22), smallint_col_15 SMALLINT, decimal2824_col_16 DECIMAL(28, 24), boolean_col_17 BOOLEAN, float_col_18 FLOAT, timestamp_col_19 TIMESTAMP, decimal0402_col_20 DECIMAL(4, 2), char0208_col_21 CHAR(208), char0077_col_22 CHAR(77), decimal2915_col_23 DECIMAL(29, 15), char0234_col_24 CHAR(234), timestamp_col_25 TIMESTAMP, tinyint_col_26 TINYINT, decimal3635_col_27 DECIMAL(36, 35), boolean_col_28 BOOLEAN, float_col_29 FLOAT, smallint_col_30 SMALLINT, varchar0200_col_31 VARCHAR(200), boolean_col_32 BOOLEAN)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_8_txt
+POSTHOOK: query: CREATE TABLE table_8_txt (tinyint_col_1 TINYINT, float_col_2 FLOAT, bigint_col_3 BIGINT, boolean_col_4 BOOLEAN, decimal0202_col_5 DECIMAL(2, 2), decimal1612_col_6 DECIMAL(16, 12), double_col_7 DOUBLE, char0205_col_8 CHAR(205), bigint_col_9 BIGINT, decimal1202_col_10 DECIMAL(12, 2), boolean_col_11 BOOLEAN, double_col_12 DOUBLE, decimal2208_col_13 DECIMAL(22, 8), decimal3722_col_14 DECIMAL(37, 22), smallint_col_15 SMALLINT, decimal2824_col_16 DECIMAL(28, 24), boolean_col_17 BOOLEAN, float_col_18 FLOAT, timestamp_col_19 TIMESTAMP, decimal0402_col_20 DECIMAL(4, 2), char0208_col_21 CHAR(208), char0077_col_22 CHAR(77), decimal2915_col_23 DECIMAL(29, 15), char0234_col_24 CHAR(234), timestamp_col_25 TIMESTAMP, tinyint_col_26 TINYINT, decimal3635_col_27 DECIMAL(36, 35), boolean_col_28 BOOLEAN, float_col_29 FLOAT, smallint_col_30 SMALLINT, varchar0200_col_31 VARCHAR(200), boolean_col_32 BOOLEAN)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_8_txt
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_8.dat' INTO TABLE table_8_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@table_8_txt
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_8.dat' INTO TABLE table_8_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@table_8_txt
+PREHOOK: query: CREATE TABLE table_8
+STORED AS orc AS
+SELECT * FROM table_8_txt
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@table_8_txt
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_8
+POSTHOOK: query: CREATE TABLE table_8
+STORED AS orc AS
+SELECT * FROM table_8_txt
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@table_8_txt
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_8
+POSTHOOK: Lineage: table_8.bigint_col_3 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:bigint_col_3, type:bigint, comment:null), ]
+POSTHOOK: Lineage: table_8.bigint_col_9 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:bigint_col_9, type:bigint, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_11 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_11, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_17 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_17, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_28 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_28, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_32 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_32, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.boolean_col_4 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:boolean_col_4, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_8.char0077_col_22 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0077_col_22, type:char(77), comment:null), ]
+POSTHOOK: Lineage: table_8.char0205_col_8 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0205_col_8, type:char(205), comment:null), ]
+POSTHOOK: Lineage: table_8.char0208_col_21 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0208_col_21, type:char(208), comment:null), ]
+POSTHOOK: Lineage: table_8.char0234_col_24 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:char0234_col_24, type:char(234), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal0202_col_5 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal0202_col_5, type:decimal(2,2), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal0402_col_20 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal0402_col_20, type:decimal(4,2), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal1202_col_10 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal1202_col_10, type:decimal(12,2), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal1612_col_6 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal1612_col_6, type:decimal(16,12), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal2208_col_13 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal2208_col_13, type:decimal(22,8), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal2824_col_16 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal2824_col_16, type:decimal(28,24), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal2915_col_23 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal2915_col_23, type:decimal(29,15), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal3635_col_27 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal3635_col_27, type:decimal(36,35), comment:null), ]
+POSTHOOK: Lineage: table_8.decimal3722_col_14 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:decimal3722_col_14, type:decimal(37,22), comment:null), ]
+POSTHOOK: Lineage: table_8.double_col_12 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:double_col_12, type:double, comment:null), ]
+POSTHOOK: Lineage: table_8.double_col_7 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:double_col_7, type:double, comment:null), ]
+POSTHOOK: Lineage: table_8.float_col_18 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:float_col_18, type:float, comment:null), ]
+POSTHOOK: Lineage: table_8.float_col_2 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:float_col_2, type:float, comment:null), ]
+POSTHOOK: Lineage: table_8.float_col_29 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:float_col_29, type:float, comment:null), ]
+POSTHOOK: Lineage: table_8.smallint_col_15 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:smallint_col_15, type:smallint, comment:null), ]
+POSTHOOK: Lineage: table_8.smallint_col_30 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:smallint_col_30, type:smallint, comment:null), ]
+POSTHOOK: Lineage: table_8.timestamp_col_19 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:timestamp_col_19, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: table_8.timestamp_col_25 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:timestamp_col_25, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: table_8.tinyint_col_1 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:tinyint_col_1, type:tinyint, comment:null), ]
+POSTHOOK: Lineage: table_8.tinyint_col_26 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:tinyint_col_26, type:tinyint, comment:null), ]
+POSTHOOK: Lineage: table_8.varchar0200_col_31 SIMPLE [(table_8_txt)table_8_txt.FieldSchema(name:varchar0200_col_31, type:varchar(200), comment:null), ]
+PREHOOK: query: analyze table table_8 compute statistics
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_8
+PREHOOK: Output: default@table_8
+POSTHOOK: query: analyze table table_8 compute statistics
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_8
+POSTHOOK: Output: default@table_8
+PREHOOK: query: CREATE EXTERNAL TABLE table_19_txt (float_col_1 FLOAT, varchar0037_col_2 VARCHAR(37), decimal2912_col_3 DECIMAL(29, 12), decimal0801_col_4 DECIMAL(8, 1), timestamp_col_5 TIMESTAMP, boolean_col_6 BOOLEAN, string_col_7 STRING, tinyint_col_8 TINYINT, boolean_col_9 BOOLEAN, decimal1614_col_10 DECIMAL(16, 14), boolean_col_11 BOOLEAN, float_col_12 FLOAT, char0116_col_13 CHAR(116), boolean_col_14 BOOLEAN, string_col_15 STRING, double_col_16 DOUBLE, string_col_17 STRING, bigint_col_18 BIGINT, int_col_19 INT)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_19_txt
+POSTHOOK: query: CREATE EXTERNAL TABLE table_19_txt (float_col_1 FLOAT, varchar0037_col_2 VARCHAR(37), decimal2912_col_3 DECIMAL(29, 12), decimal0801_col_4 DECIMAL(8, 1), timestamp_col_5 TIMESTAMP, boolean_col_6 BOOLEAN, string_col_7 STRING, tinyint_col_8 TINYINT, boolean_col_9 BOOLEAN, decimal1614_col_10 DECIMAL(16, 14), boolean_col_11 BOOLEAN, float_col_12 FLOAT, char0116_col_13 CHAR(116), boolean_col_14 BOOLEAN, string_col_15 STRING, double_col_16 DOUBLE, string_col_17 STRING, bigint_col_18 BIGINT, int_col_19 INT)
+ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_19_txt
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_19.dat' INTO TABLE table_19_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@table_19_txt
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/table_19.dat' INTO TABLE table_19_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@table_19_txt
+PREHOOK: query: CREATE TABLE table_19
+STORED AS orc AS
+SELECT * FROM table_19_txt
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@table_19_txt
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table_19
+POSTHOOK: query: CREATE TABLE table_19
+STORED AS orc AS
+SELECT * FROM table_19_txt
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@table_19_txt
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table_19
+POSTHOOK: Lineage: table_19.bigint_col_18 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:bigint_col_18, type:bigint, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_11 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_11, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_14 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_14, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_6 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_6, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.boolean_col_9 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:boolean_col_9, type:boolean, comment:null), ]
+POSTHOOK: Lineage: table_19.char0116_col_13 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:char0116_col_13, type:char(116), comment:null), ]
+POSTHOOK: Lineage: table_19.decimal0801_col_4 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:decimal0801_col_4, type:decimal(8,1), comment:null), ]
+POSTHOOK: Lineage: table_19.decimal1614_col_10 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:decimal1614_col_10, type:decimal(16,14), comment:null), ]
+POSTHOOK: Lineage: table_19.decimal2912_col_3 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:decimal2912_col_3, type:decimal(29,12), comment:null), ]
+POSTHOOK: Lineage: table_19.double_col_16 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:double_col_16, type:double, comment:null), ]
+POSTHOOK: Lineage: table_19.float_col_1 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:float_col_1, type:float, comment:null), ]
+POSTHOOK: Lineage: table_19.float_col_12 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:float_col_12, type:float, comment:null), ]
+POSTHOOK: Lineage: table_19.int_col_19 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:int_col_19, type:int, comment:null), ]
+POSTHOOK: Lineage: table_19.string_col_15 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:string_col_15, type:string, comment:null), ]
+POSTHOOK: Lineage: table_19.string_col_17 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:string_col_17, type:string, comment:null), ]
+POSTHOOK: Lineage: table_19.string_col_7 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:string_col_7, type:string, comment:null), ]
+POSTHOOK: Lineage: table_19.timestamp_col_5 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:timestamp_col_5, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: table_19.tinyint_col_8 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:tinyint_col_8, type:tinyint, comment:null), ]
+POSTHOOK: Lineage: table_19.varchar0037_col_2 SIMPLE [(table_19_txt)table_19_txt.FieldSchema(name:varchar0037_col_2, type:varchar(37), comment:null), ]
+PREHOOK: query: analyze table table_19 compute statistics
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_19
+PREHOOK: Output: default@table_19
+POSTHOOK: query: analyze table table_19 compute statistics
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_19
+POSTHOOK: Output: default@table_19
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Map 1 <- Map 3 (BROADCAST_EDGE)
+        Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: t1
+                  filterExpr: decimal0801_col_4 is not null (type: boolean)
+                  Statistics: Num rows: 1080 Data size: 115024 Basic stats: COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:float_col_1:float, 1:varchar0037_col_2:varchar(37), 2:decimal2912_col_3:decimal(29,12), 3:decimal0801_col_4:decimal(8,1)/DECIMAL_64, 4:timestamp_col_5:timestamp, 5:boolean_col_6:boolean, 6:string_col_7:string, 7:tinyint_col_8:tinyint, 8:boolean_col_9:boolean, 9:decimal1614_col_10:decimal(16,14)/DECIMAL_64, 10:boolean_col_11:boolean, 11:float_col_12:float, 12:char0116_col_13:char(116), 13:boolean_col_14:boolean, 14:string_col_15:string, 15:double_col_16:double, 16:string_col_17:string, 17:bigint_col_18:bigint, 18:int_col_19:int, 19:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: SelectColumnIsNotNull(col 20:decimal(8,1))(children: ConvertDecimal64ToDecimal(col 3:decimal(8,1)/DECIMAL_64) -> 20:decimal(8,1))
+                    predicate: decimal0801_col_4 is not null (type: boolean)
+                    Statistics: Num rows: 1026 Data size: 109272 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: decimal0801_col_4 (type: decimal(8,1))
+                      outputColumnNames: _col0
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumnNums: [3]
+                      Statistics: Num rows: 1026 Data size: 109272 Basic stats: COMPLETE Column stats: NONE
+                      Map Join Operator
+                        condition map:
+                             Inner Join 0 to 1
+                        keys:
+                          0 _col0 (type: decimal(9,2))
+                          1 _col1 (type: decimal(9,2))
+                        Map Join Vectorization:
+                            bigTableKeyExpressions: ConvertDecimal64ToDecimal(col 3:decimal(9,2)/DECIMAL_64) -> 21:decimal(9,2)
+                            className: VectorMapJoinOperator
+                            native: false
+                            nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                            nativeConditionsNotMet: Optimized Table and Supports Key Types IS false
+                            nativeNotSupportedKeyTypes: DECIMAL
+                        outputColumnNames: _col1
+                        input vertices:
+                          1 Map 3
+                        Statistics: Num rows: 1128 Data size: 120199 Basic stats: COMPLETE Column stats: NONE
+                        Group By Operator
+                          aggregations: count(_col1)
+                          Group By Vectorization:
+                              aggregators: VectorUDAFCount(col 0:smallint) -> bigint
+                              className: VectorGroupByOperator
+                              groupByMode: HASH
+                              native: false
+                              vectorProcessingMode: HASH
+                              projectedOutputColumnNums: [0]
+                          mode: hash
+                          outputColumnNames: _col0
+                          Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                          Reduce Output Operator
+                            sort order: 
+                            Reduce Sink Vectorization:
+                                className: VectorReduceSinkEmptyKeyOperator
+                                keyColumnNums: []
+                                native: true
+                                nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez 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
+                                valueColumnNums: [0]
+                            Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                            value expressions: _col0 (type: bigint)
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                featureSupportInUse: [DECIMAL_64]
+                inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 19
+                    includeColumns: [3]
+                    dataColumns: float_col_1:float, varchar0037_col_2:varchar(37), decimal2912_col_3:decimal(29,12), decimal0801_col_4:decimal(8,1)/DECIMAL_64, timestamp_col_5:timestamp, boolean_col_6:boolean, string_col_7:string, tinyint_col_8:tinyint, boolean_col_9:boolean, decimal1614_col_10:decimal(16,14)/DECIMAL_64, boolean_col_11:boolean, float_col_12:float, char0116_col_13:char(116), boolean_col_14:boolean, string_col_15:string, double_col_16:double, string_col_17:string, bigint_col_18:bigint, int_col_19:int
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: [decimal(8,1), decimal(9,2), bigint]
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: t2
+                  filterExpr: decimal0402_col_20 is not null (type: boolean)
+                  Statistics: Num rows: 1000 Data size: 110316 Basic stats: COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:tinyint_col_1:tinyint, 1:float_col_2:float, 2:bigint_col_3:bigint, 3:boolean_col_4:boolean, 4:decimal0202_col_5:decimal(2,2)/DECIMAL_64, 5:decimal1612_col_6:decimal(16,12)/DECIMAL_64, 6:double_col_7:double, 7:char0205_col_8:char(205), 8:bigint_col_9:bigint, 9:decimal1202_col_10:decimal(12,2)/DECIMAL_64, 10:boolean_col_11:boolean, 11:double_col_12:double, 12:decimal2208_col_13:decimal(22,8), 13:decimal3722_col_14:decimal(37,22), 14:smallint_col_15:smallint, 15:decimal2824_col_16:decimal(28,24), 16:boolean_col_17:boolean, 17:float_col_18:float, 18:timestamp_col_19:timestamp, 19:decimal0402_col_20:decimal(4,2)/DECIMAL_64, 20:char0208_col_21:char(208), 21:char0077_col_22:char(77), 22:decimal2915_col_23:decimal(29,15), 23:char0234_col_24:char(234), 24:timestamp_col_25:timestamp, 25:tinyint_col_26:tinyint, 26:decimal3635_col_27:decimal(36,35), 27:boolean_col_28:boolean, 28:float_col_29:float, 29:smallint_col_30:smallint, 30:varchar0200_
 col_31:varchar(200), 31:boolean_col_32:boolean, 32:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: SelectColumnIsNotNull(col 33:decimal(4,2))(children: ConvertDecimal64ToDecimal(col 19:decimal(4,2)/DECIMAL_64) -> 33:decimal(4,2))
+                    predicate: decimal0402_col_20 is not null (type: boolean)
+                    Statistics: Num rows: 950 Data size: 104800 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: smallint_col_15 (type: smallint), decimal0402_col_20 (type: decimal(4,2))
+                      outputColumnNames: _col0, _col1
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumnNums: [14, 19]
+                      Statistics: Num rows: 950 Data size: 104800 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col1 (type: decimal(9,2))
+                        sort order: +
+                        Map-reduce partition columns: _col1 (type: decimal(9,2))
+                        Reduce Sink Vectorization:
+                            className: VectorReduceSinkMultiKeyOperator
+                            keyColumnNums: [19]
+                            native: true
+                            nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez 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
+                            valueColumnNums: [14]
+                        Statistics: Num rows: 950 Data size: 104800 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col0 (type: smallint)
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                featureSupportInUse: [DECIMAL_64]
+                inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: true
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 32
+                    includeColumns: [14, 19]
+                    dataColumns: tinyint_col_1:tinyint, float_col_2:float, bigint_col_3:bigint, boolean_col_4:boolean, decimal0202_col_5:decimal(2,2)/DECIMAL_64, decimal1612_col_6:decimal(16,12)/DECIMAL_64, double_col_7:double, char0205_col_8:char(205), bigint_col_9:bigint, decimal1202_col_10:decimal(12,2)/DECIMAL_64, boolean_col_11:boolean, double_col_12:double, decimal2208_col_13:decimal(22,8), decimal3722_col_14:decimal(37,22), smallint_col_15:smallint, decimal2824_col_16:decimal(28,24), boolean_col_17:boolean, float_col_18:float, timestamp_col_19:timestamp, decimal0402_col_20:decimal(4,2)/DECIMAL_64, char0208_col_21:char(208), char0077_col_22:char(77), decimal2915_col_23:decimal(29,15), char0234_col_24:char(234), timestamp_col_25:timestamp, tinyint_col_26:tinyint, decimal3635_col_27:decimal(36,35), boolean_col_28:boolean, float_col_29:float, smallint_col_30:smallint, varchar0200_col_31:varchar(200), boolean_col_32:boolean
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: [decimal(4,2)]
+        Reducer 2 
+            Execution mode: vectorized, llap
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true
+                reduceColumnNullOrder: 
+                reduceColumnSortOrder: 
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 1
+                    dataColumns: VALUE._col0:bigint
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                Group By Vectorization:
+                    aggregators: VectorUDAFCountMerge(col 0:bigint) -> bigint
+                    className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
+                    native: false
+                    vectorProcessingMode: GLOBAL
+                    projectedOutputColumnNums: [0]
+                mode: mergepartial
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
+                  Statistics: Num rows: 1 Data size: 8 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
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_19
+PREHOOK: Input: default@table_8
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_19
+POSTHOOK: Input: default@table_8
+#### A masked pattern was here ####
+2
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Map 1 <- Map 3 (BROADCAST_EDGE)
+        Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: t1
+                  filterExpr: decimal0801_col_4 is not null (type: boolean)
+                  Statistics: Num rows: 1080 Data size: 115024 Basic stats: COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:float_col_1:float, 1:varchar0037_col_2:varchar(37), 2:decimal2912_col_3:decimal(29,12), 3:decimal0801_col_4:decimal(8,1), 4:timestamp_col_5:timestamp, 5:boolean_col_6:boolean, 6:string_col_7:string, 7:tinyint_col_8:tinyint, 8:boolean_col_9:boolean, 9:decimal1614_col_10:decimal(16,14), 10:boolean_col_11:boolean, 11:float_col_12:float, 12:char0116_col_13:char(116), 13:boolean_col_14:boolean, 14:string_col_15:string, 15:double_col_16:double, 16:string_col_17:string, 17:bigint_col_18:bigint, 18:int_col_19:int, 19:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: SelectColumnIsNotNull(col 3:decimal(8,1))
+                    predicate: decimal0801_col_4 is not null (type: boolean)
+                    Statistics: Num rows: 1026 Data size: 109272 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: decimal0801_col_4 (type: decimal(8,1))
+                      outputColumnNames: _col0
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumnNums: [3]
+                      Statistics: Num rows: 1026 Data size: 109272 Basic stats: COMPLETE Column stats: NONE
+                      Map Join Operator
+                        condition map:
+                             Inner Join 0 to 1
+                        keys:
+                          0 _col0 (type: decimal(9,2))
+                          1 _col1 (type: decimal(9,2))
+                        Map Join Vectorization:
+                            bigTableKeyExpressions: col 3:decimal(9,2)
+                            className: VectorMapJoinOperator
+                            native: false
+                            nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                            nativeConditionsNotMet: Optimized Table and Supports Key Types IS false
+                            nativeNotSupportedKeyTypes: DECIMAL
+                        outputColumnNames: _col1
+                        input vertices:
+                          1 Map 3
+                        Statistics: Num rows: 1128 Data size: 120199 Basic stats: COMPLETE Column stats: NONE
+                        Group By Operator
+                          aggregations: count(_col1)
+                          Group By Vectorization:
+                              aggregators: VectorUDAFCount(col 0:smallint) -> bigint
+                              className: VectorGroupByOperator
+                              groupByMode: HASH
+                              native: false
+                              vectorProcessingMode: HASH
+                              projectedOutputColumnNums: [0]
+                          mode: hash
+                          outputColumnNames: _col0
+                          Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                          Reduce Output Operator
+                            sort order: 
+                            Reduce Sink Vectorization:
+                                className: VectorReduceSinkEmptyKeyOperator
+                                keyColumnNums: []
+                                native: true
+                                nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez 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
+                                valueColumnNums: [0]
+                            Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                            value expressions: _col0 (type: bigint)
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                vectorizationSupportRemovedReasons: [[] is disabled because it is not in hive.vectorized.input.format.supports.enabled []]
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 19
+                    includeColumns: [3]
+                    dataColumns: float_col_1:float, varchar0037_col_2:varchar(37), decimal2912_col_3:decimal(29,12), decimal0801_col_4:decimal(8,1), timestamp_col_5:timestamp, boolean_col_6:boolean, string_col_7:string, tinyint_col_8:tinyint, boolean_col_9:boolean, decimal1614_col_10:decimal(16,14), boolean_col_11:boolean, float_col_12:float, char0116_col_13:char(116), boolean_col_14:boolean, string_col_15:string, double_col_16:double, string_col_17:string, bigint_col_18:bigint, int_col_19:int
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: [bigint]
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: t2
+                  filterExpr: decimal0402_col_20 is not null (type: boolean)
+                  Statistics: Num rows: 1000 Data size: 110316 Basic stats: COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:tinyint_col_1:tinyint, 1:float_col_2:float, 2:bigint_col_3:bigint, 3:boolean_col_4:boolean, 4:decimal0202_col_5:decimal(2,2), 5:decimal1612_col_6:decimal(16,12), 6:double_col_7:double, 7:char0205_col_8:char(205), 8:bigint_col_9:bigint, 9:decimal1202_col_10:decimal(12,2), 10:boolean_col_11:boolean, 11:double_col_12:double, 12:decimal2208_col_13:decimal(22,8), 13:decimal3722_col_14:decimal(37,22), 14:smallint_col_15:smallint, 15:decimal2824_col_16:decimal(28,24), 16:boolean_col_17:boolean, 17:float_col_18:float, 18:timestamp_col_19:timestamp, 19:decimal0402_col_20:decimal(4,2), 20:char0208_col_21:char(208), 21:char0077_col_22:char(77), 22:decimal2915_col_23:decimal(29,15), 23:char0234_col_24:char(234), 24:timestamp_col_25:timestamp, 25:tinyint_col_26:tinyint, 26:decimal3635_col_27:decimal(36,35), 27:boolean_col_28:boolean, 28:float_col_29:float, 29:smallint_col_30:smallint, 30:varchar0200_col_31:varchar(200), 31:boolean_col_32:boole
 an, 32:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: SelectColumnIsNotNull(col 19:decimal(4,2))
+                    predicate: decimal0402_col_20 is not null (type: boolean)
+                    Statistics: Num rows: 950 Data size: 104800 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: smallint_col_15 (type: smallint), decimal0402_col_20 (type: decimal(4,2))
+                      outputColumnNames: _col0, _col1
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumnNums: [14, 19]
+                      Statistics: Num rows: 950 Data size: 104800 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col1 (type: decimal(9,2))
+                        sort order: +
+                        Map-reduce partition columns: _col1 (type: decimal(9,2))
+                        Reduce Sink Vectorization:
+                            className: VectorReduceSinkMultiKeyOperator
+                            keyColumnNums: [19]
+                            native: true
+                            nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez 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
+                            valueColumnNums: [14]
+                        Statistics: Num rows: 950 Data size: 104800 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col0 (type: smallint)
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                vectorizationSupportRemovedReasons: [[] is disabled because it is not in hive.vectorized.input.format.supports.enabled []]
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: true
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 32
+                    includeColumns: [14, 19]
+                    dataColumns: tinyint_col_1:tinyint, float_col_2:float, bigint_col_3:bigint, boolean_col_4:boolean, decimal0202_col_5:decimal(2,2), decimal1612_col_6:decimal(16,12), double_col_7:double, char0205_col_8:char(205), bigint_col_9:bigint, decimal1202_col_10:decimal(12,2), boolean_col_11:boolean, double_col_12:double, decimal2208_col_13:decimal(22,8), decimal3722_col_14:decimal(37,22), smallint_col_15:smallint, decimal2824_col_16:decimal(28,24), boolean_col_17:boolean, float_col_18:float, timestamp_col_19:timestamp, decimal0402_col_20:decimal(4,2), char0208_col_21:char(208), char0077_col_22:char(77), decimal2915_col_23:decimal(29,15), char0234_col_24:char(234), timestamp_col_25:timestamp, tinyint_col_26:tinyint, decimal3635_col_27:decimal(36,35), boolean_col_28:boolean, float_col_29:float, smallint_col_30:smallint, varchar0200_col_31:varchar(200), boolean_col_32:boolean
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+        Reducer 2 
+            Execution mode: vectorized, llap
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true
+                reduceColumnNullOrder: 
+                reduceColumnSortOrder: 
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 1
+                    dataColumns: VALUE._col0:bigint
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                Group By Vectorization:
+                    aggregators: VectorUDAFCountMerge(col 0:bigint) -> bigint
+                    className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
+                    native: false
+                    vectorProcessingMode: GLOBAL
+                    projectedOutputColumnNums: [0]
+                mode: mergepartial
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
+                  Statistics: Num rows: 1 Data size: 8 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
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table_19
+PREHOOK: Input: default@table_8
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(t2.smallint_col_15) FROM   table_19 t1  INNER JOIN table_8 t2 ON t2.decimal0402_col_20 = t1.decimal0801_col_4
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table_19
+POSTHOOK: Input: default@table_8
+#### A masked pattern was here ####
+2

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/llap/vector_decimal_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_5.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_5.q.out
index 5bea214..5184b59 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_5.q.out
@@ -175,42 +175,42 @@ POSTHOOK: query: SELECT cast(key as decimal) FROM DECIMAL_5
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_5
 #### A masked pattern was here ####
--440000000
+-4400
 NULL
 0
 0
-10000000
-1000000
-100000
-10000
-1000
-20000000
-2000000
-200000
+100
+10
+1
 0
-20000
-2000
-30000
-33000
-33300
--30000
--33000
--33300
-100000
-200000
-314000
--112000
--112000
--112200
-112000
-112200
-12400000
-12520000
--125549000
-314000
-314000
-314000
-100000
+0
+200
+20
+2
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+2
+3
+-1
+-1
+-1
+1
+1
+124
+125
+-1255
+3
+3
+3
+1
 NULL
 NULL
 PREHOOK: query: SELECT cast(key as decimal(6,3)) FROM DECIMAL_5
@@ -225,38 +225,38 @@ NULL
 NULL
 0.000
 0.000
-NULL
-NULL
 100.000
 10.000
 1.000
-NULL
-NULL
+0.100
+0.010
 200.000
-0.000
 20.000
 2.000
-30.000
-33.000
-33.300
--30.000
--33.000
--33.300
-100.000
-200.000
-314.000
--112.000
--112.000
--112.200
-112.000
-112.200
-NULL
-NULL
+0.000
+0.200
+0.020
+0.300
+0.330
+0.333
+-0.300
+-0.330
+-0.333
+1.000
+2.000
+3.140
+-1.120
+-1.120
+-1.122
+1.120
+1.122
+124.000
+125.200
 NULL
-314.000
-314.000
-314.000
-100.000
+3.140
+3.140
+3.140
+1.000
 NULL
 NULL
 PREHOOK: query: DROP TABLE DECIMAL_5_txt

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/llap/vector_decimal_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_6.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_6.q.out
index 705bf8b..8607eed 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_6.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_6.q.out
@@ -575,54 +575,54 @@ NULL
 NULL
 NULL
 NULL
--123456789.01235
+-1234567890.12350
 -4400.00000
+-4400.00000
+-1255.49000
 -1255.49000
--440.00000
--125.54900
+-1.12200
 -1.12200
 -1.12000
+-1.12000
+-0.33300
 -0.33300
 -0.30000
--0.11220
--0.11200
--0.03330
--0.03000
+-0.30000
 0.00000
 0.00000
 0.00000
 0.00000
-0.03330
-0.10000
-0.10000
-0.11200
-0.11220
-0.20000
-0.31400
-0.31400
-0.31400
+0.33300
 0.33300
 1.00000
 1.00000
 1.00000
-1.07343
+1.00000
+1.12000
 1.12000
 1.12200
+1.12200
+2.00000
 2.00000
 3.14000
 3.14000
 3.14000
+3.14000
+3.14000
+3.14000
+10.00000
 10.00000
+10.73430
 10.73433
-12.40000
-12.52000
 124.00000
+124.00000
+125.20000
 125.20000
-2323.22344
 23232.23435
-238943.22375
-238943.22375
-123456789.01235
+23232.23440
+2389432.23750
+2389432.23750
+1234567890.12350
 PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
 CREATE TABLE DECIMAL_6_3 STORED AS ORC AS SELECT key + 5.5 AS k, value * 11 AS v from DECIMAL_6_1 ORDER BY v
 PREHOOK: type: CREATETABLE_AS_SELECT


[14/20] hive git commit: HIVE-20028: Metastore client cache config is used incorrectly (Prasanth Jayachandran reviewed by Sergey Shelukhin)

Posted by se...@apache.org.
HIVE-20028: Metastore client cache config is used incorrectly (Prasanth Jayachandran reviewed by Sergey Shelukhin)


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

Branch: refs/heads/master-txnstats
Commit: 80c3bb58e24f13f82ca698486645c6c72364d75d
Parents: 6acd74c
Author: Prasanth Jayachandran <pr...@apache.org>
Authored: Sat Jun 30 17:17:05 2018 -0700
Committer: Prasanth Jayachandran <pr...@apache.org>
Committed: Sat Jun 30 17:17:05 2018 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hive/metastore/HiveMetaStoreUtils.java  | 2 +-
 .../java/org/apache/hive/streaming/HiveStreamingConnection.java    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/80c3bb58/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreUtils.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreUtils.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreUtils.java
index 75a7201..3bb654d 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreUtils.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreUtils.java
@@ -225,7 +225,7 @@ public class HiveMetaStoreUtils {
   public static IMetaStoreClient getHiveMetastoreClient(HiveConf hiveConf)
     throws MetaException, IOException {
 
-    if (HiveConf.getBoolVar(hiveConf, HiveConf.ConfVars.METASTORE_CLIENT_CACHE_ENABLED)){
+    if (!HiveConf.getBoolVar(hiveConf, HiveConf.ConfVars.METASTORE_CLIENT_CACHE_ENABLED)){
       // If cache is disabled, don't use it.
       return HiveClientCache.getNonCachedHiveMetastoreClient(hiveConf);
     }

http://git-wip-us.apache.org/repos/asf/hive/blob/80c3bb58/streaming/src/java/org/apache/hive/streaming/HiveStreamingConnection.java
----------------------------------------------------------------------
diff --git a/streaming/src/java/org/apache/hive/streaming/HiveStreamingConnection.java b/streaming/src/java/org/apache/hive/streaming/HiveStreamingConnection.java
index d258d0e..7adbadd 100644
--- a/streaming/src/java/org/apache/hive/streaming/HiveStreamingConnection.java
+++ b/streaming/src/java/org/apache/hive/streaming/HiveStreamingConnection.java
@@ -1037,7 +1037,7 @@ public class HiveStreamingConnection implements StreamingConnection {
     if (LOG.isDebugEnabled()) {
       LOG.debug("Overriding HiveConf setting : " + var + " = " + value);
     }
-    conf.setBoolVar(var, true);
+    conf.setBoolVar(var, value);
   }
 
   private static void setHiveConf(HiveConf conf, String var) {


[07/20] hive git commit: HIVE-20002: Shipping jdbd-storage-handler dependency jars in LLAP (Daniel Dai, reviewed by Sergey Shelukhin)

Posted by se...@apache.org.
HIVE-20002: Shipping jdbd-storage-handler dependency jars in LLAP (Daniel Dai, reviewed by Sergey Shelukhin)


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

Branch: refs/heads/master-txnstats
Commit: 8f57e25bb205d60d9022bbc185ffd8af5aae0fab
Parents: 761597f
Author: Daniel Dai <da...@gmail.com>
Authored: Fri Jun 29 22:05:06 2018 -0700
Committer: Daniel Dai <da...@gmail.com>
Committed: Fri Jun 29 22:05:06 2018 -0700

----------------------------------------------------------------------
 .../hadoop/hive/llap/cli/LlapServiceDriver.java | 23 ++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/8f57e25b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
index 20fec7e..0f1d5ee 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
@@ -90,7 +90,8 @@ public class LlapServiceDriver {
 
   private static final String[] DEFAULT_AUX_CLASSES = new String[] {
     "org.apache.hive.hcatalog.data.JsonSerDe","org.apache.hadoop.hive.druid.DruidStorageHandler",
-    "org.apache.hive.storage.jdbc.JdbcStorageHandler"
+    "org.apache.hive.storage.jdbc.JdbcStorageHandler", "org.apache.commons.dbcp.BasicDataSourceFactory",
+    "org.apache.commons.pool.impl.GenericObjectPool"
   };
   private static final String HBASE_SERDE_CLASS = "org.apache.hadoop.hive.hbase.HBaseSerDe";
   private static final String[] NEEDED_CONFIGS = LlapDaemonConfiguration.DAEMON_CONFIGS;
@@ -433,7 +434,9 @@ public class LlapServiceDriver {
               localizeJarForClass(lfs, libDir, codecClassName, false);
             }
           }
-
+          for (String className : getDbSpecificJdbcJars()) {
+            localizeJarForClass(lfs, libDir, className, false);
+          }
           if (options.getIsHBase()) {
             try {
               localizeJarForClass(lfs, libDir, HBASE_SERDE_CLASS, true);
@@ -738,6 +741,22 @@ public class LlapServiceDriver {
     return udfs.keySet();
   }
 
+  private void addJarForClassToListIfExists(String cls, List<String> jarList) {
+    try {
+      Class.forName(cls);
+      jarList.add(cls);
+    } catch (Exception e) {
+    }
+  }
+  private List<String> getDbSpecificJdbcJars() {
+    List<String> jdbcJars = new ArrayList<String>();
+    addJarForClassToListIfExists("com.mysql.jdbc.Driver", jdbcJars); // add mysql jdbc driver
+    addJarForClassToListIfExists("org.postgresql.Driver", jdbcJars); // add postgresql jdbc driver
+    addJarForClassToListIfExists("oracle.jdbc.OracleDriver", jdbcJars); // add oracle jdbc driver
+    addJarForClassToListIfExists("com.microsoft.sqlserver.jdbc.SQLServerDriver", jdbcJars); // add mssql jdbc driver
+    return jdbcJars;
+  }
+
   private void localizeJarForClass(FileSystem lfs, Path libDir, String className, boolean doThrow)
       throws IOException {
     String jarPath = null;


[03/20] hive git commit: HIVE-19967 : SMB Join : Need Optraits for PTFOperator ala GBY Op (Deepak Jaiswal, reviewed by Jason Dere)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/35cec21d/ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out b/ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out
new file mode 100644
index 0000000..0e49f56
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out
@@ -0,0 +1,942 @@
+PREHOOK: query: drop table if exists src_10
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists src_10
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists src1_10
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists src1_10
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table src_10 as select * from src limit 2
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_10
+POSTHOOK: query: create table src_10 as select * from src limit 2
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_10
+POSTHOOK: Lineage: src_10.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src_10.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table src1_10 as select * from src1 limit 2
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src1
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: create table src1_10 as select * from src1 limit 2
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src1_10
+POSTHOOK: Lineage: src1_10.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src1_10.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select key, count(*) from src1_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src1_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+238	1
+	1
+PREHOOK: query: select key, count(*) from src_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+238	1
+86	1
+PREHOOK: query: EXPLAIN
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 4 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+        Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: x
+                  Statistics: Num rows: 2 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+                  Group By Operator
+                    aggregations: count(value)
+                    keys: key (type: string)
+                    mode: hash
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 2 Data size: 736 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: 2 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col1 (type: bigint)
+            Execution mode: vectorized, llap
+            LLAP IO: no inputs
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: y
+                  Statistics: Num rows: 2 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: key, value
+                    Statistics: Num rows: 2 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+                    Group By Operator
+                      aggregations: count(value)
+                      keys: key (type: string)
+                      mode: hash
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 2 Data size: 736 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: 2 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col1 (type: bigint)
+            Execution mode: vectorized, llap
+            LLAP IO: no inputs
+        Reducer 4 
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                keys: KEY._col0 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
+            Execution mode: llap
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                keys: KEY._col0 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
+                Merge Join Operator
+                  condition map:
+                       Right Outer Join 0 to 1
+                  keys:
+                    0 _col0 (type: string)
+                    1 _col0 (type: string)
+                  outputColumnNames: _col0, _col1, _col2, _col3
+                  Statistics: Num rows: 1 Data size: 404 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: hash(_col0) (type: int), hash(_col1) (type: int), hash(_col2) (type: int), hash(_col3) (type: int)
+                    outputColumnNames: _col0, _col1, _col2, _col3
+                    Statistics: Num rows: 1 Data size: 404 Basic stats: COMPLETE Column stats: NONE
+                    Group By Operator
+                      aggregations: sum(_col0), sum(_col1), sum(_col2), sum(_col3)
+                      mode: hash
+                      outputColumnNames: _col0, _col1, _col2, _col3
+                      Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        sort order: 
+                        Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col0 (type: bigint), _col1 (type: bigint), _col2 (type: bigint), _col3 (type: bigint)
+        Reducer 5 
+            Execution mode: vectorized, llap
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: sum(VALUE._col0), sum(VALUE._col1), sum(VALUE._col2), sum(VALUE._col3)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1, _col2, _col3
+                Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 1 Data size: 32 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
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+49687	1	49687	2
+PREHOOK: query: drop table if exists src_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_10
+PREHOOK: Output: default@src_10
+POSTHOOK: query: drop table if exists src_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_10
+POSTHOOK: Output: default@src_10
+PREHOOK: query: drop table if exists src1_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src1_10
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: drop table if exists src1_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Output: default@src1_10
+PREHOOK: query: create table src_10 as select * from src limit 3
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_10
+POSTHOOK: query: create table src_10 as select * from src limit 3
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_10
+POSTHOOK: Lineage: src_10.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src_10.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table src1_10 as select * from src1 limit 3
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src1
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: create table src1_10 as select * from src1 limit 3
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src1_10
+POSTHOOK: Lineage: src1_10.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src1_10.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select key, count(*) from src1_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src1_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+238	1
+	1
+311	1
+PREHOOK: query: select key, count(*) from src_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+238	1
+311	1
+86	1
+PREHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+100266	2	100266	3
+PREHOOK: query: drop table if exists src_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_10
+PREHOOK: Output: default@src_10
+POSTHOOK: query: drop table if exists src_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_10
+POSTHOOK: Output: default@src_10
+PREHOOK: query: drop table if exists src1_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src1_10
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: drop table if exists src1_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Output: default@src1_10
+PREHOOK: query: create table src_10 as select * from src limit 4
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_10
+POSTHOOK: query: create table src_10 as select * from src limit 4
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_10
+POSTHOOK: Lineage: src_10.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src_10.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table src1_10 as select * from src1 limit 4
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src1
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: create table src1_10 as select * from src1 limit 4
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src1_10
+POSTHOOK: Lineage: src1_10.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src1_10.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select key, count(*) from src1_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src1_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+238	1
+	2
+311	1
+PREHOOK: query: select key, count(*) from src_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+238	1
+27	1
+311	1
+86	1
+PREHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+100266	2	100266	4
+PREHOOK: query: drop table if exists src_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_10
+PREHOOK: Output: default@src_10
+POSTHOOK: query: drop table if exists src_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_10
+POSTHOOK: Output: default@src_10
+PREHOOK: query: drop table if exists src1_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src1_10
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: drop table if exists src1_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Output: default@src1_10
+PREHOOK: query: create table src_10 as select * from src limit 5
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_10
+POSTHOOK: query: create table src_10 as select * from src limit 5
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_10
+POSTHOOK: Lineage: src_10.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src_10.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table src1_10 as select * from src1 limit 5
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src1
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: create table src1_10 as select * from src1 limit 5
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src1_10
+POSTHOOK: Lineage: src1_10.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src1_10.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select key, count(*) from src1_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src1_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+238	1
+	3
+311	1
+PREHOOK: query: select key, count(*) from src_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+165	1
+238	1
+27	1
+311	1
+86	1
+PREHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+100266	2	100266	5
+PREHOOK: query: drop table if exists src_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_10
+PREHOOK: Output: default@src_10
+POSTHOOK: query: drop table if exists src_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_10
+POSTHOOK: Output: default@src_10
+PREHOOK: query: drop table if exists src1_10
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src1_10
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: drop table if exists src1_10
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Output: default@src1_10
+PREHOOK: query: create table src_10 as select * from src limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_10
+POSTHOOK: query: create table src_10 as select * from src limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_10
+POSTHOOK: Lineage: src_10.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src_10.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table src1_10 as select * from src1 limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src1
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src1_10
+POSTHOOK: query: create table src1_10 as select * from src1 limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src1_10
+POSTHOOK: Lineage: src1_10.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src1_10.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select key, count(*) from src1_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src1_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+#### A masked pattern was here ####
+238	1
+	5
+255	1
+278	1
+311	1
+98	1
+PREHOOK: query: select key, count(*) from src_10 group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: select key, count(*) from src_10 group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+165	1
+238	1
+27	1
+255	1
+409	1
+278	1
+311	1
+484	1
+86	1
+98	1
+PREHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_10
+PREHOOK: Input: default@src_10
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_10
+POSTHOOK: Input: default@src_10
+#### A masked pattern was here ####
+201646	5	201646	10
+PREHOOK: query: CREATE TABLE t1 (c1 INT, c2 CHAR(100))
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t1
+POSTHOOK: query: CREATE TABLE t1 (c1 INT, c2 CHAR(100))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t1
+PREHOOK: query: INSERT INTO t1 VALUES (1,''), (100,'abcdefghij'), (200, 'aa'), (300, 'bbb')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@t1
+POSTHOOK: query: INSERT INTO t1 VALUES (1,''), (100,'abcdefghij'), (200, 'aa'), (300, 'bbb')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@t1
+POSTHOOK: Lineage: t1.c1 SCRIPT []
+POSTHOOK: Lineage: t1.c2 SCRIPT []
+PREHOOK: query: CREATE TABLE t2 (c1 INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t2
+POSTHOOK: query: CREATE TABLE t2 (c1 INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t2
+PREHOOK: query: INSERT INTO t2 VALUES (100), (200)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@t2
+POSTHOOK: query: INSERT INTO t2 VALUES (100), (200)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@t2
+POSTHOOK: Lineage: t2.c1 SCRIPT []
+PREHOOK: query: explain SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+        Reducer 3 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
+        Reducer 5 <- Map 4 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: t1
+                  Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                  Select Operator
+                    expressions: c1 (type: int)
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col0 (type: int)
+                      Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: c1 is not null (type: boolean)
+                    Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                    Group By Operator
+                      keys: c1 (type: int)
+                      mode: hash
+                      outputColumnNames: _col0
+                      Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: vectorized, llap
+            LLAP IO: no inputs
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: t2
+                  filterExpr: c1 is not null (type: boolean)
+                  Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: c1 is not null (type: boolean)
+                    Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                    Group By Operator
+                      aggregations: count(), count(c1)
+                      keys: c1 (type: int)
+                      mode: hash
+                      outputColumnNames: _col0, _col1, _col2
+                      Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                        value expressions: _col1 (type: bigint), _col2 (type: bigint)
+                    Group By Operator
+                      keys: c1 (type: int)
+                      mode: hash
+                      outputColumnNames: _col0
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: vectorized, llap
+            LLAP IO: no inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Left Outer Join 0 to 1
+                     Left Outer Join 0 to 2
+                keys:
+                  0 _col0 (type: int)
+                  1 _col0 (type: int)
+                  2 _col2 (type: int)
+                outputColumnNames: _col0, _col2, _col3, _col5
+                Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+                Filter Operator
+                  predicate: CASE WHEN ((_col2 = 0L)) THEN (true) WHEN (_col2 is null) THEN (true) WHEN (_col5 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col3 < _col2)) THEN (false) ELSE (true) END (type: boolean)
+                  Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+                  Select Operator
+                    expressions: _col0 (type: int)
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                      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
+        Reducer 3 
+            Reduce Operator Tree:
+              Group By Operator
+                keys: KEY._col0 (type: int)
+                mode: mergepartial
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                Select Operator
+                  expressions: _col0 (type: int), true (type: boolean)
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: llap
+            Reduce Operator Tree:
+              Group By Operator
+                keys: KEY._col0 (type: int)
+                mode: mergepartial
+                outputColumnNames: _col0
+                Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                Merge Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: int)
+                    1 _col0 (type: int)
+                  outputColumnNames: _col1, _col2
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                  Reduce Output Operator
+                    key expressions: _col2 (type: int)
+                    sort order: +
+                    Map-reduce partition columns: _col2 (type: int)
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                    value expressions: _col1 (type: boolean)
+        Reducer 5 
+            Execution mode: vectorized, llap
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0), count(VALUE._col1)
+                keys: KEY._col0 (type: int)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                  value expressions: _col1 (type: bigint), _col2 (type: bigint)
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1
+PREHOOK: Input: default@t2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1
+POSTHOOK: Input: default@t2
+#### A masked pattern was here ####
+1
+300
+PREHOOK: query: drop table t2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@t2
+PREHOOK: Output: default@t2
+POSTHOOK: query: drop table t2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@t2
+POSTHOOK: Output: default@t2
+PREHOOK: query: CREATE TABLE t2 (c1 INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t2
+POSTHOOK: query: CREATE TABLE t2 (c1 INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t2
+PREHOOK: query: INSERT INTO t2 VALUES (100), (300)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@t2
+POSTHOOK: query: INSERT INTO t2 VALUES (100), (300)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@t2
+POSTHOOK: Lineage: t2.c1 SCRIPT []
+PREHOOK: query: explain SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+        Reducer 3 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
+        Reducer 5 <- Map 4 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: t1
+                  Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                  Select Operator
+                    expressions: c1 (type: int)
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col0 (type: int)
+                      Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: c1 is not null (type: boolean)
+                    Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                    Group By Operator
+                      keys: c1 (type: int)
+                      mode: hash
+                      outputColumnNames: _col0
+                      Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: vectorized, llap
+            LLAP IO: no inputs
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: t2
+                  filterExpr: c1 is not null (type: boolean)
+                  Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: c1 is not null (type: boolean)
+                    Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                    Group By Operator
+                      aggregations: count(), count(c1)
+                      keys: c1 (type: int)
+                      mode: hash
+                      outputColumnNames: _col0, _col1, _col2
+                      Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                        value expressions: _col1 (type: bigint), _col2 (type: bigint)
+                    Group By Operator
+                      keys: c1 (type: int)
+                      mode: hash
+                      outputColumnNames: _col0
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: vectorized, llap
+            LLAP IO: no inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Left Outer Join 0 to 1
+                     Left Outer Join 0 to 2
+                keys:
+                  0 _col0 (type: int)
+                  1 _col0 (type: int)
+                  2 _col2 (type: int)
+                outputColumnNames: _col0, _col2, _col3, _col5
+                Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+                Filter Operator
+                  predicate: CASE WHEN ((_col2 = 0L)) THEN (true) WHEN (_col2 is null) THEN (true) WHEN (_col5 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col3 < _col2)) THEN (false) ELSE (true) END (type: boolean)
+                  Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+                  Select Operator
+                    expressions: _col0 (type: int)
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                      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
+        Reducer 3 
+            Reduce Operator Tree:
+              Group By Operator
+                keys: KEY._col0 (type: int)
+                mode: mergepartial
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                Select Operator
+                  expressions: _col0 (type: int), true (type: boolean)
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: llap
+            Reduce Operator Tree:
+              Group By Operator
+                keys: KEY._col0 (type: int)
+                mode: mergepartial
+                outputColumnNames: _col0
+                Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                Merge Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: int)
+                    1 _col0 (type: int)
+                  outputColumnNames: _col1, _col2
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                  Reduce Output Operator
+                    key expressions: _col2 (type: int)
+                    sort order: +
+                    Map-reduce partition columns: _col2 (type: int)
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+                    value expressions: _col1 (type: boolean)
+        Reducer 5 
+            Execution mode: vectorized, llap
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0), count(VALUE._col1)
+                keys: KEY._col0 (type: int)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+                  value expressions: _col1 (type: bigint), _col2 (type: bigint)
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1
+PREHOOK: Input: default@t2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1
+POSTHOOK: Input: default@t2
+#### A masked pattern was here ####
+1
+200


[05/20] hive git commit: HIVE-19989: Metastore uses wrong application name for HADOOP2 metrics (Vineet Garg, reviewed by Alan Gates)

Posted by se...@apache.org.
HIVE-19989: Metastore uses wrong application name for HADOOP2 metrics (Vineet Garg, reviewed by Alan Gates)


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

Branch: refs/heads/master-txnstats
Commit: 7eac7f60569d4d1ec01ff86c094690b9af4f38dc
Parents: 35cec21
Author: Vineet Garg <vg...@apache.org>
Authored: Fri Jun 29 15:50:24 2018 -0700
Committer: Vineet Garg <vg...@apache.org>
Committed: Fri Jun 29 15:50:24 2018 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/metastore/conf/MetastoreConf.java    | 2 ++
 .../java/org/apache/hadoop/hive/metastore/metrics/Metrics.java  | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/7eac7f60/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
index f3b909c..19da432 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
@@ -602,6 +602,8 @@ public class MetastoreConf {
             "alongside the dropped table data. This ensures that the metadata will be cleaned up along with the dropped table data."),
     METRICS_ENABLED("metastore.metrics.enabled", "hive.metastore.metrics.enabled", false,
         "Enable metrics on the metastore."),
+    METRICS_HADOOP2_COMPONENT_NAME("metastore.metrics.hadoop2.component", "hive.service.metrics.hadoop2.component", "hivemetastore",
+                    "Component name to provide to Hadoop2 Metrics system."),
     METRICS_JSON_FILE_INTERVAL("metastore.metrics.file.frequency",
         "hive.service.metrics.file.frequency", 1, TimeUnit.MINUTES,
         "For json metric reporter, the frequency of updating JSON metrics file."),

http://git-wip-us.apache.org/repos/asf/hive/blob/7eac7f60/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/metrics/Metrics.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/metrics/Metrics.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/metrics/Metrics.java
index b081026..e4866a6 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/metrics/Metrics.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/metrics/Metrics.java
@@ -220,11 +220,12 @@ public class Metrics {
           reporters.add(reporter);
           scheduledReporters.add(reporter);
         } else if (reporterName.startsWith("hadoop") || reporterName.endsWith("metrics2reporter")) {
+          String applicationName = MetastoreConf.getVar(conf, MetastoreConf.ConfVars.METRICS_HADOOP2_COMPONENT_NAME);
           HadoopMetrics2Reporter reporter = HadoopMetrics2Reporter.forRegistry(registry)
               .convertRatesTo(TimeUnit.SECONDS)
               .convertDurationsTo(TimeUnit.MILLISECONDS)
-              .build(DefaultMetricsSystem.initialize("metastore"), "metastore", "Runtime metadata" +
-                  " catalog", "general-metadata");
+              .build(DefaultMetricsSystem.initialize(applicationName), applicationName, "Runtime metadata" +
+                  " catalog", "General");
           reporter.start(1, TimeUnit.MINUTES);
           reporters.add(reporter);
           scheduledReporters.add(reporter);


[02/20] hive git commit: HIVE-20011: Move away from append mode in proto logging hook (Harish JP, reviewd by Anishek Agarwal)

Posted by se...@apache.org.
HIVE-20011: Move away from append mode in proto logging hook (Harish JP, reviewd by Anishek Agarwal)


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

Branch: refs/heads/master-txnstats
Commit: 2b0cb07e4f549e64ca776024caf9cf0b5ba01176
Parents: 5b2cbb5
Author: Anishek Agarwal <an...@gmail.com>
Authored: Fri Jun 29 15:05:17 2018 +0530
Committer: Anishek Agarwal <an...@gmail.com>
Committed: Fri Jun 29 15:05:17 2018 +0530

----------------------------------------------------------------------
 .../hive/ql/hooks/HiveProtoLoggingHook.java     | 24 +++++++++++++++++---
 .../logging/proto/DatePartitionedLogger.java    | 18 +++++++++++----
 .../logging/proto/ProtoMessageReader.java       |  9 +++++---
 .../logging/proto/ProtoMessageWriter.java       | 12 +++++-----
 4 files changed, 46 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/2b0cb07e/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java
index bddca1a..0820bea 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java
@@ -86,6 +86,7 @@ import static org.apache.hadoop.hive.ql.plan.HiveOperation.UNLOCKTABLE;
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -100,6 +101,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
+import org.apache.commons.compress.utils.IOUtils;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.llap.registry.impl.LlapRegistryService;
@@ -180,6 +182,9 @@ public class HiveProtoLoggingHook implements ExecuteWithHookContext {
     private final DatePartitionedLogger<HiveHookEventProto> logger;
     private final ExecutorService eventHandler;
     private final ExecutorService logWriter;
+    private int logFileCount = 0;
+    private ProtoMessageWriter<HiveHookEventProto> writer;
+    private LocalDate writerDate;
 
     EventLogger(HiveConf conf, Clock clock) {
       this.clock = clock;
@@ -233,6 +238,7 @@ public class HiveProtoLoggingHook implements ExecuteWithHookContext {
           LOG.warn("Got interrupted exception while waiting for events to be flushed", e);
         }
       }
+      IOUtils.closeQuietly(writer);
     }
 
     void handle(HookContext hookContext) {
@@ -284,12 +290,24 @@ public class HiveProtoLoggingHook implements ExecuteWithHookContext {
     private static final int MAX_RETRIES = 2;
     private void writeEvent(HiveHookEventProto event) {
       for (int retryCount = 0; retryCount <= MAX_RETRIES; ++retryCount) {
-        try (ProtoMessageWriter<HiveHookEventProto> writer = logger.getWriter(logFileName)) {
+        try {
+          if (writer == null || !logger.getNow().toLocalDate().equals(writerDate)) {
+            if (writer != null) {
+              // Day change over case, reset the logFileCount.
+              logFileCount = 0;
+              IOUtils.closeQuietly(writer);
+            }
+            // increment log file count, if creating a new writer.
+            writer = logger.getWriter(logFileName + "_" + ++logFileCount);
+            writerDate = logger.getDateFromDir(writer.getPath().getParent().getName());
+          }
           writer.writeProto(event);
-          // This does not work hence, opening and closing file for every event.
-          // writer.hflush();
+          writer.hflush();
           return;
         } catch (IOException e) {
+          // Something wrong with writer, lets close and reopen.
+          IOUtils.closeQuietly(writer);
+          writer = null;
           if (retryCount < MAX_RETRIES) {
             LOG.warn("Error writing proto message for query {}, eventType: {}, retryCount: {}," +
                 " error: {} ", event.getHiveQueryId(), event.getEventType(), retryCount,

http://git-wip-us.apache.org/repos/asf/hive/blob/2b0cb07e/ql/src/java/org/apache/tez/dag/history/logging/proto/DatePartitionedLogger.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/tez/dag/history/logging/proto/DatePartitionedLogger.java b/ql/src/java/org/apache/tez/dag/history/logging/proto/DatePartitionedLogger.java
index d6a5121..58cec7e 100644
--- a/ql/src/java/org/apache/tez/dag/history/logging/proto/DatePartitionedLogger.java
+++ b/ql/src/java/org/apache/tez/dag/history/logging/proto/DatePartitionedLogger.java
@@ -45,11 +45,14 @@ import com.google.protobuf.Parser;
  * @param <T> The proto message type.
  */
 public class DatePartitionedLogger<T extends MessageLite> {
-  private static final Logger LOG = LoggerFactory.getLogger(DatePartitionedLogger.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(DatePartitionedLogger.class);
   // Everyone has permission to write, but with sticky set so that delete is restricted.
   // This is required, since the path is same for all users and everyone writes into it.
   private static final FsPermission DIR_PERMISSION = FsPermission.createImmutable((short)01777);
 
+  // Since the directories have broad permissions restrict the file read access.
+  private static final FsPermission FILE_UMASK = FsPermission.createImmutable((short)0066);
+
   private final Parser<T> parser;
   private final Path basePath;
   private final Configuration conf;
@@ -57,11 +60,12 @@ public class DatePartitionedLogger<T extends MessageLite> {
 
   public DatePartitionedLogger(Parser<T> parser, Path baseDir, Configuration conf, Clock clock)
       throws IOException {
-    this.conf = conf;
+    this.conf = new Configuration(conf);
     this.clock = clock;
     this.parser = parser;
     createDirIfNotExists(baseDir);
     this.basePath = baseDir.getFileSystem(conf).resolvePath(baseDir);
+    FsPermission.setUMask(this.conf, FILE_UMASK);
   }
 
   private void createDirIfNotExists(Path path) throws IOException {
@@ -101,6 +105,10 @@ public class DatePartitionedLogger<T extends MessageLite> {
     return new Path(path, fileName);
   }
 
+  public Path getPathForSubdir(String dirName, String fileName) {
+    return new Path(new Path(basePath, dirName), fileName);
+  }
+
   /**
    * Extract the date from the directory name, this should be a directory created by this class.
    */
@@ -144,11 +152,11 @@ public class DatePartitionedLogger<T extends MessageLite> {
    * Returns new or changed files in the given directory. The offsets are used to find
    * changed files.
    */
-  public List<Path> scanForChangedFiles(String subDir, Map<String, Long> currentOffsets)
+  public List<FileStatus> scanForChangedFiles(String subDir, Map<String, Long> currentOffsets)
       throws IOException {
     Path dirPath = new Path(basePath, subDir);
     FileSystem fileSystem = basePath.getFileSystem(conf);
-    List<Path> newFiles = new ArrayList<>();
+    List<FileStatus> newFiles = new ArrayList<>();
     if (!fileSystem.exists(dirPath)) {
       return newFiles;
     }
@@ -157,7 +165,7 @@ public class DatePartitionedLogger<T extends MessageLite> {
       Long offset = currentOffsets.get(fileName);
       // If the offset was never added or offset < fileSize.
       if (offset == null || offset < status.getLen()) {
-        newFiles.add(new Path(dirPath, fileName));
+        newFiles.add(status);
       }
     }
     return newFiles;

http://git-wip-us.apache.org/repos/asf/hive/blob/2b0cb07e/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageReader.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageReader.java b/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageReader.java
index 5a3c63a..b56f066 100644
--- a/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageReader.java
+++ b/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageReader.java
@@ -24,19 +24,22 @@ import java.io.IOException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.io.SequenceFile;
+import org.apache.hadoop.io.SequenceFile.Reader;
 
 import com.google.protobuf.MessageLite;
 import com.google.protobuf.Parser;
 
 public class ProtoMessageReader<T extends MessageLite> implements Closeable {
   private final Path filePath;
-  private final SequenceFile.Reader reader;
+  private final Reader reader;
   private final ProtoMessageWritable<T> writable;
 
   ProtoMessageReader(Configuration conf, Path filePath, Parser<T> parser) throws IOException {
     this.filePath = filePath;
-    this.reader = new SequenceFile.Reader(conf, SequenceFile.Reader.file(filePath));
+    // The writer does not flush the length during hflush. Using length options lets us read
+    // past length in the FileStatus but it will throw EOFException during a read instead
+    // of returning null.
+    this.reader = new Reader(conf, Reader.file(filePath), Reader.length(Long.MAX_VALUE));
     this.writable = new ProtoMessageWritable<>(parser);
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/2b0cb07e/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageWriter.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageWriter.java b/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageWriter.java
index c746bb6..9c086ef 100644
--- a/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageWriter.java
+++ b/ql/src/java/org/apache/tez/dag/history/logging/proto/ProtoMessageWriter.java
@@ -26,24 +26,24 @@ import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.SequenceFile;
 import org.apache.hadoop.io.SequenceFile.CompressionType;
+import org.apache.hadoop.io.SequenceFile.Writer;
 
 import com.google.protobuf.MessageLite;
 import com.google.protobuf.Parser;
 
 public class ProtoMessageWriter<T extends MessageLite> implements Closeable {
   private final Path filePath;
-  private final SequenceFile.Writer writer;
+  private final Writer writer;
   private final ProtoMessageWritable<T> writable;
 
   ProtoMessageWriter(Configuration conf, Path filePath, Parser<T> parser) throws IOException {
     this.filePath = filePath;
     this.writer = SequenceFile.createWriter(
         conf,
-        SequenceFile.Writer.file(filePath),
-        SequenceFile.Writer.keyClass(NullWritable.class),
-        SequenceFile.Writer.valueClass(ProtoMessageWritable.class),
-        SequenceFile.Writer.appendIfExists(true),
-        SequenceFile.Writer.compression(CompressionType.RECORD));
+        Writer.file(filePath),
+        Writer.keyClass(NullWritable.class),
+        Writer.valueClass(ProtoMessageWritable.class),
+        Writer.compression(CompressionType.RECORD));
     this.writable = new ProtoMessageWritable<>(parser);
   }
 


[17/20] hive git commit: HIVE-19995 : Aggregate row traffic for acid tables (Zoltan Haindrich via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out b/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
index cd38c51..4c82e09 100644
--- a/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
@@ -1705,19 +1705,19 @@ STAGE PLANS:
                 TableScan
                   alias: insert_into1_n0
                   filterExpr: (value = 1) (type: boolean)
-                  Statistics: Num rows: 25 Data size: 4700 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (value = 1) (type: boolean)
-                    Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), value (type: string), i (type: int)
                       outputColumnNames: _col0, _col2, _col3
-                      Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col2 (type: string), _col3 (type: int)
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
@@ -1727,10 +1727,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 1 (type: int), VALUE._col0 (type: string), VALUE._col1 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -1813,19 +1813,19 @@ STAGE PLANS:
                 TableScan
                   alias: insert_into1_n0
                   filterExpr: (value = 1) (type: boolean)
-                  Statistics: Num rows: 25 Data size: 4700 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (value = 1) (type: boolean)
-                    Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), i (type: int)
                       outputColumnNames: _col0, _col3
-                      Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col3 (type: int)
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
@@ -1835,10 +1835,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 1 (type: int), null (type: string), VALUE._col0 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -2371,15 +2371,15 @@ STAGE PLANS:
                 TableScan
                   alias: t
                   filterExpr: enforce_constraint(key is not null) (type: boolean)
-                  Statistics: Num rows: 20 Data size: 80 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: enforce_constraint(key is not null) (type: boolean)
-                    Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: key (type: int)
                       sort order: +
                       Map-reduce partition columns: key (type: int)
-                      Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Map 5 
@@ -2408,18 +2408,18 @@ STAGE PLANS:
                   0 key (type: int)
                   1 key (type: int)
                 outputColumnNames: _col0, _col6
-                Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
                   predicate: _col0 is null (type: boolean)
-                  Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col6 (type: int)
                     outputColumnNames: _col0
-                    Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       sort order: 
                       Map-reduce partition columns: null (type: string)
-                      Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                       value expressions: _col0 (type: int)
         Reducer 3 
             Execution mode: llap
@@ -2427,10 +2427,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: int), 'a1' (type: string), null (type: string)
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -2440,7 +2440,7 @@ STAGE PLANS:
                 Select Operator
                   expressions: _col0 (type: int), 'a1' (type: string), null (type: string)
                   outputColumnNames: key, a1, value
-                  Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Group By Operator
                     aggregations: compute_stats(key, 'hll'), compute_stats(a1, 'hll'), compute_stats(value, 'hll')
                     mode: hash
@@ -2569,12 +2569,12 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t
-                  Statistics: Num rows: 20 Data size: 3760 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: key (type: int)
                     sort order: +
                     Map-reduce partition columns: key (type: int)
-                    Statistics: Num rows: 20 Data size: 3760 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                     value expressions: value (type: string), ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
@@ -2601,62 +2601,62 @@ STAGE PLANS:
                   0 key (type: int)
                   1 key (type: int)
                 outputColumnNames: _col0, _col2, _col5, _col6, _col7
-                Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
                   predicate: ((_col0 = _col6) and (_col6 < 3)) (type: boolean)
-                  Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col5 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                     outputColumnNames: _col0
-                    Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       sort order: +
                       Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                      Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
                   predicate: ((_col0 = _col6) and (_col6 > 3) and (_col6 >= 3) and enforce_constraint(_col0 is not null)) (type: boolean)
-                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col5 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), _col0 (type: int), _col2 (type: string)
                     outputColumnNames: _col0, _col1, _col3
-                    Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       sort order: +
                       Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                      Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                       value expressions: _col1 (type: int), _col3 (type: string)
                 Filter Operator
                   predicate: (_col0 = _col6) (type: boolean)
-                  Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col5 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                     outputColumnNames: _col5
-                    Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                     Group By Operator
                       aggregations: count()
                       keys: _col5 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       mode: hash
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
-                        Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: bigint)
                 Filter Operator
                   predicate: (_col0 is null and enforce_constraint(_col6 is not null)) (type: boolean)
-                  Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col6 (type: int), _col7 (type: string)
                     outputColumnNames: _col0, _col1
-                    Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       sort order: 
                       Map-reduce partition columns: null (type: string)
-                      Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                       value expressions: _col0 (type: int), _col1 (type: string)
         Reducer 3 
             Execution mode: vectorized, llap
@@ -2664,10 +2664,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                 outputColumnNames: _col0
-                Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -2680,10 +2680,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: int), 'a1' (type: string), VALUE._col1 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -2698,17 +2698,17 @@ STAGE PLANS:
                 keys: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
                   predicate: (_col1 > 1L) (type: boolean)
-                  Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: cardinality_violation(_col0) (type: int)
                     outputColumnNames: _col0
-                    Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
                       compressed: false
-                      Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                       table:
                           input format: org.apache.hadoop.mapred.TextInputFormat
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -2717,7 +2717,7 @@ STAGE PLANS:
                     Select Operator
                       expressions: _col0 (type: int)
                       outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                       Group By Operator
                         aggregations: compute_stats(val, 'hll')
                         mode: complete
@@ -2740,10 +2740,10 @@ STAGE PLANS:
               Select Operator
                 expressions: VALUE._col0 (type: int), VALUE._col1 (type: string), null (type: string)
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -2753,7 +2753,7 @@ STAGE PLANS:
                 Select Operator
                   expressions: _col0 (type: int), _col1 (type: string), null (type: string)
                   outputColumnNames: key, a1, value
-                  Statistics: Num rows: 5 Data size: 940 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE
                   Group By Operator
                     aggregations: compute_stats(key, 'hll'), compute_stats(a1, 'hll'), compute_stats(value, 'hll')
                     mode: hash

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out b/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
index 539a51f..8d432a9 100644
--- a/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
@@ -170,6 +170,8 @@ Table Type:         	MANAGED_TABLE
 Table Parameters:	 	 
 	bucketing_version   	2                   
 	numFiles            	1                   
+	numRows             	12288               
+	rawDataSize         	0                   
 	totalSize           	295638              
 	transactional       	true                
 	transactional_properties	default             
@@ -205,9 +207,9 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_ivot
-                  Statistics: Num rows: 5865 Data size: 2956380 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 12288 Data size: 2956380 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
-                    Statistics: Num rows: 5865 Data size: 2956380 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 12288 Data size: 2956380 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: count()
                       mode: hash
@@ -376,6 +378,8 @@ Table Type:         	MANAGED_TABLE
 Table Parameters:	 	 
 	bucketing_version   	2                   
 	numFiles            	1                   
+	numRows             	2                   
+	rawDataSize         	0                   
 	totalSize           	1652                
 	transactional       	true                
 	transactional_properties	default             
@@ -411,9 +415,9 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_ivot
-                  Statistics: Num rows: 32 Data size: 16520 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 16520 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
-                    Statistics: Num rows: 32 Data size: 16520 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 16520 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: count()
                       mode: hash
@@ -509,6 +513,8 @@ Table Type:         	MANAGED_TABLE
 Table Parameters:	 	 
 	bucketing_version   	2                   
 	numFiles            	2                   
+	numRows             	4                   
+	rawDataSize         	0                   
 	totalSize           	3304                
 	transactional       	true                
 	transactional_properties	default             
@@ -544,9 +550,9 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_ivot
-                  Statistics: Num rows: 65 Data size: 33040 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 4 Data size: 33040 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
-                    Statistics: Num rows: 65 Data size: 33040 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 4 Data size: 33040 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: count()
                       mode: hash
@@ -638,6 +644,8 @@ Table Type:         	MANAGED_TABLE
 Table Parameters:	 	 
 	bucketing_version   	2                   
 	numFiles            	3                   
+	numRows             	12292               
+	rawDataSize         	0                   
 	totalSize           	298943              
 	transactional       	true                
 	transactional_properties	default             
@@ -673,9 +681,9 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_ivot
-                  Statistics: Num rows: 5931 Data size: 2989430 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 12292 Data size: 2989430 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
-                    Statistics: Num rows: 5931 Data size: 2989430 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 12292 Data size: 2989430 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: count()
                       mode: hash

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
index 6027804..0628ad8 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
@@ -759,19 +759,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2
                   filterExpr: ((c > 10.1) and a is not null) (type: boolean)
-                  Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
-                    Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2))
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2))
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -785,17 +785,17 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2
-                Statistics: Num rows: 25 Data size: 2900 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   keys: _col0 (type: int), _col2 (type: decimal(10,2))
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Reduce Output Operator
                     key expressions: _col0 (type: int), _col1 (type: decimal(10,2))
                     sort order: ++
                     Map-reduce partition columns: _col0 (type: int), _col1 (type: decimal(10,2))
-                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
@@ -803,14 +803,14 @@ STAGE PLANS:
                 keys: KEY._col0 (type: int), KEY._col1 (type: decimal(10,2))
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col0 (type: int)
                   outputColumnNames: _col0
-                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1041,19 +1041,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2
                   filterExpr: ((c > 10.1) and a is not null) (type: boolean)
-                  Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
-                    Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2))
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2))
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -1067,17 +1067,17 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2
-                Statistics: Num rows: 25 Data size: 2900 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   keys: _col0 (type: int), _col2 (type: decimal(10,2))
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Reduce Output Operator
                     key expressions: _col0 (type: int), _col1 (type: decimal(10,2))
                     sort order: ++
                     Map-reduce partition columns: _col0 (type: int), _col1 (type: decimal(10,2))
-                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
@@ -1085,14 +1085,14 @@ STAGE PLANS:
                 keys: KEY._col0 (type: int), KEY._col1 (type: decimal(10,2))
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col0 (type: int)
                   outputColumnNames: _col0
-                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
index b3fd29a..eda3985 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
@@ -947,6 +947,8 @@ Table Type:         	MATERIALIZED_VIEW
 Table Parameters:	 	 
 	bucketing_version   	2                   
 	numFiles            	3                   
+	numRows             	3                   
+	rawDataSize         	248                 
 	totalSize           	1508                
 	transactional       	true                
 	transactional_properties	default             
@@ -1077,19 +1079,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n2
                   filterExpr: ((c > 10) and a is not null) (type: boolean)
-                  Statistics: Num rows: 61 Data size: 7320 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 3 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
-                    Statistics: Num rows: 20 Data size: 2400 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2)), d (type: int)
                       outputColumnNames: _col0, _col1, _col2
-                      Statistics: Num rows: 20 Data size: 2400 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 20 Data size: 2400 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2)), _col2 (type: int)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -1103,7 +1105,7 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2, _col3
-                Statistics: Num rows: 33 Data size: 3960 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   aggregations: sum(_col3)
                   keys: _col0 (type: int), _col2 (type: decimal(10,2))
@@ -1299,19 +1301,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n2
                   filterExpr: ((c > 10) and a is not null) (type: boolean)
-                  Statistics: Num rows: 75 Data size: 9000 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
-                    Statistics: Num rows: 25 Data size: 3000 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2)), d (type: int)
                       outputColumnNames: _col0, _col1, _col2
-                      Statistics: Num rows: 25 Data size: 3000 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 25 Data size: 3000 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2)), _col2 (type: int)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -1325,7 +1327,7 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2, _col3
-                Statistics: Num rows: 41 Data size: 4920 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 3 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   aggregations: sum(_col3)
                   keys: _col0 (type: int), _col2 (type: decimal(10,2))
@@ -1552,19 +1554,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n2
                   filterExpr: ((c > 10) and (ROW__ID.writeid > 4) and a is not null) (type: boolean)
-                  Statistics: Num rows: 91 Data size: 10920 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 3 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 4) and (c > 10) and a is not null) (type: boolean)
-                    Statistics: Num rows: 10 Data size: 1200 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2)), d (type: int)
                       outputColumnNames: _col0, _col1, _col2
-                      Statistics: Num rows: 10 Data size: 1960 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 10 Data size: 1960 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2)), _col2 (type: int)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -1662,7 +1664,7 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2, _col3
-                Statistics: Num rows: 16 Data size: 1920 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   aggregations: sum(_col3)
                   keys: _col0 (type: int), _col2 (type: decimal(10,2))

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
index 9abdcbb..2c4ee3d 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
@@ -404,6 +404,8 @@ Table Type:         	MATERIALIZED_VIEW
 Table Parameters:	 	 
 	bucketing_version   	2                   
 	numFiles            	2                   
+	numRows             	5                   
+	rawDataSize         	348                 
 	totalSize           	1071                
 	transactional       	true                
 	transactional_properties	default             
@@ -530,19 +532,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n3
                   filterExpr: ((c > 10) and a is not null) (type: boolean)
-                  Statistics: Num rows: 61 Data size: 7076 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
-                    Statistics: Num rows: 20 Data size: 2320 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2))
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 20 Data size: 2320 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 20 Data size: 2320 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2))
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -556,14 +558,14 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2
-                Statistics: Num rows: 33 Data size: 3828 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col0 (type: int), _col2 (type: decimal(10,2))
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 33 Data size: 3828 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 33 Data size: 3828 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                         output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -573,7 +575,7 @@ STAGE PLANS:
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: decimal(10,2))
                     outputColumnNames: a, c
-                    Statistics: Num rows: 33 Data size: 3828 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: compute_stats(a, 'hll'), compute_stats(c, 'hll')
                       mode: hash
@@ -741,19 +743,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n3
                   filterExpr: ((c > 10) and a is not null) (type: boolean)
-                  Statistics: Num rows: 75 Data size: 8700 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
-                    Statistics: Num rows: 25 Data size: 2900 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2))
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 25 Data size: 2900 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 25 Data size: 2900 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2))
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -767,14 +769,14 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2
-                Statistics: Num rows: 41 Data size: 4756 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col0 (type: int), _col2 (type: decimal(10,2))
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 41 Data size: 4756 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 41 Data size: 4756 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                         output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -784,7 +786,7 @@ STAGE PLANS:
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: decimal(10,2))
                     outputColumnNames: a, c
-                    Statistics: Num rows: 41 Data size: 4756 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: compute_stats(a, 'hll'), compute_stats(c, 'hll')
                       mode: hash
@@ -956,19 +958,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n3
                   filterExpr: ((c > 10) and (ROW__ID.writeid > 4) and a is not null) (type: boolean)
-                  Statistics: Num rows: 91 Data size: 10556 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 4) and (c > 10) and a is not null) (type: boolean)
-                    Statistics: Num rows: 10 Data size: 1160 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2))
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 10 Data size: 1920 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 10 Data size: 1920 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2))
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -982,14 +984,14 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2
-                Statistics: Num rows: 16 Data size: 1856 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col0 (type: int), _col2 (type: decimal(10,2))
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 16 Data size: 1856 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 16 Data size: 1856 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                         output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -999,7 +1001,7 @@ STAGE PLANS:
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: decimal(10,2))
                     outputColumnNames: a, c
-                    Statistics: Num rows: 16 Data size: 1856 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: compute_stats(a, 'hll'), compute_stats(c, 'hll')
                       mode: hash

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
index 210db2c..fe54771 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
@@ -759,19 +759,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n0
                   filterExpr: ((c > 10.1) and a is not null) (type: boolean)
-                  Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
-                    Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2))
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2))
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -785,17 +785,17 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2
-                Statistics: Num rows: 25 Data size: 2900 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   keys: _col0 (type: int), _col2 (type: decimal(10,2))
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Reduce Output Operator
                     key expressions: _col0 (type: int), _col1 (type: decimal(10,2))
                     sort order: ++
                     Map-reduce partition columns: _col0 (type: int), _col1 (type: decimal(10,2))
-                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
@@ -803,14 +803,14 @@ STAGE PLANS:
                 keys: KEY._col0 (type: int), KEY._col1 (type: decimal(10,2))
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col0 (type: int)
                   outputColumnNames: _col0
-                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1041,19 +1041,19 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_2_n0
                   filterExpr: ((c > 10.1) and a is not null) (type: boolean)
-                  Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
-                    Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: a (type: int), c (type: decimal(10,2))
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
-                        Statistics: Num rows: 15 Data size: 1740 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: decimal(10,2))
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -1067,17 +1067,17 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 outputColumnNames: _col0, _col2
-                Statistics: Num rows: 25 Data size: 2900 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                 Group By Operator
                   keys: _col0 (type: int), _col2 (type: decimal(10,2))
                   mode: hash
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Reduce Output Operator
                     key expressions: _col0 (type: int), _col1 (type: decimal(10,2))
                     sort order: ++
                     Map-reduce partition columns: _col0 (type: int), _col1 (type: decimal(10,2))
-                    Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
@@ -1085,14 +1085,14 @@ STAGE PLANS:
                 keys: KEY._col0 (type: int), KEY._col1 (type: decimal(10,2))
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col0 (type: int)
                   outputColumnNames: _col0
-                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out b/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
index 7efb50a..7d96f5b 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
@@ -58,12 +58,12 @@ STAGE PLANS:
                 TableScan
                   alias: a
                   filterExpr: (UDFToDouble(key) >= 0.0D) (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) >= 0.0D) (type: boolean)
-                    Statistics: Num rows: 30 Data size: 5338 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 166 Data size: 29077 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      Statistics: Num rows: 30 Data size: 5338 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 166 Data size: 29077 Basic stats: COMPLETE Column stats: NONE
                       Group By Operator
                         aggregations: count()
                         mode: hash
@@ -128,11 +128,11 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2_n5
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: key (type: string)
                     outputColumnNames: key
-                    Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                     Group By Operator
                       aggregations: max(key)
                       mode: hash
@@ -199,19 +199,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab1_n6
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 475 Data size: 83204 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: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Map 4 
@@ -219,19 +219,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab2_n5
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 475 Data size: 83204 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: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -243,7 +243,7 @@ STAGE PLANS:
                 keys:
                   0 _col0 (type: string)
                   1 _col0 (type: string)
-                Statistics: Num rows: 95 Data size: 17028 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 522 Data size: 91524 Basic stats: COMPLETE Column stats: NONE
                 Group By Operator
                   aggregations: count()
                   mode: hash
@@ -397,12 +397,12 @@ STAGE PLANS:
                 TableScan
                   alias: a
                   filterExpr: (UDFToDouble(key) >= 0.0D) (type: boolean)
-                  Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 501 Data size: 87768 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) >= 0.0D) (type: boolean)
-                    Statistics: Num rows: 37 Data size: 6562 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 167 Data size: 29256 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      Statistics: Num rows: 37 Data size: 6562 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 167 Data size: 29256 Basic stats: COMPLETE Column stats: NONE
                       Group By Operator
                         aggregations: count()
                         mode: hash
@@ -495,19 +495,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab1_n6
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 501 Data size: 87768 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 476 Data size: 83388 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 476 Data size: 83388 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: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 476 Data size: 83388 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Map 4 
@@ -515,19 +515,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab2_n5
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 475 Data size: 83204 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: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -539,7 +539,7 @@ STAGE PLANS:
                 keys:
                   0 _col0 (type: string)
                   1 _col0 (type: string)
-                Statistics: Num rows: 116 Data size: 20681 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 523 Data size: 91726 Basic stats: COMPLETE Column stats: NONE
                 Group By Operator
                   aggregations: count()
                   mode: hash
@@ -640,11 +640,11 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2_n5
-                  Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 501 Data size: 87768 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: key (type: string)
                     outputColumnNames: key
-                    Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 501 Data size: 87768 Basic stats: COMPLETE Column stats: NONE
                     Group By Operator
                       aggregations: max(key)
                       mode: hash
@@ -712,19 +712,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab1_n6
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 501 Data size: 87768 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 476 Data size: 83388 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 476 Data size: 83388 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: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 476 Data size: 83388 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Map 4 
@@ -732,19 +732,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab2_n5
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 501 Data size: 87768 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 476 Data size: 83388 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 476 Data size: 83388 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: 106 Data size: 18801 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 476 Data size: 83388 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -756,7 +756,7 @@ STAGE PLANS:
                 keys:
                   0 _col0 (type: string)
                   1 _col0 (type: string)
-                Statistics: Num rows: 116 Data size: 20681 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 523 Data size: 91726 Basic stats: COMPLETE Column stats: NONE
                 Group By Operator
                   aggregations: count()
                   mode: hash

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out b/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
index 19504bc..a01190c 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
@@ -56,11 +56,11 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n1
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: key (type: string)
                     outputColumnNames: key
-                    Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                     Group By Operator
                       aggregations: max(key)
                       mode: hash
@@ -152,19 +152,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab1_n1
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 475 Data size: 83204 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: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Map 4 
@@ -172,19 +172,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab2_n1
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 475 Data size: 83204 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: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -196,7 +196,7 @@ STAGE PLANS:
                 keys:
                   0 _col0 (type: string)
                   1 _col0 (type: string)
-                Statistics: Num rows: 95 Data size: 17028 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 522 Data size: 91524 Basic stats: COMPLETE Column stats: NONE
                 Group By Operator
                   aggregations: count()
                   mode: hash
@@ -429,19 +429,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab1_n1
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 475 Data size: 83204 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: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Map 4 
@@ -541,19 +541,19 @@ STAGE PLANS:
                 TableScan
                   alias: tab1_n1
                   filterExpr: key is not null (type: boolean)
-                  Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 475 Data size: 83204 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: 87 Data size: 15480 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 475 Data size: 83204 Basic stats: COMPLETE Column stats: NONE
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
         Map 4 


[06/20] hive git commit: HIVE-19764: Add --SORT_QUERY_RESULTS to hive-blobstore/map_join.q.out (Sahil Takiar, reviewed by Vihang Karajgaonkar)

Posted by se...@apache.org.
HIVE-19764: Add --SORT_QUERY_RESULTS to hive-blobstore/map_join.q.out (Sahil Takiar, reviewed by Vihang Karajgaonkar)


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

Branch: refs/heads/master-txnstats
Commit: 761597fc55198e5d2bfbb563c40d4db413db0b43
Parents: 7eac7f6
Author: Sahil Takiar <ta...@gmail.com>
Authored: Fri Jun 29 16:01:25 2018 -0700
Committer: Sahil Takiar <st...@cloudera.com>
Committed: Fri Jun 29 16:01:25 2018 -0700

----------------------------------------------------------------------
 .../src/test/queries/clientpositive/map_join.q  |  2 +
 .../test/results/clientpositive/map_join.q.out  | 42 ++++++++++----------
 2 files changed, 23 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/761597fc/itests/hive-blobstore/src/test/queries/clientpositive/map_join.q
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/queries/clientpositive/map_join.q b/itests/hive-blobstore/src/test/queries/clientpositive/map_join.q
index 63a6c8a..97decba 100644
--- a/itests/hive-blobstore/src/test/queries/clientpositive/map_join.q
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/map_join.q
@@ -1,5 +1,7 @@
 -- Test MAPJOIN hint
 
+-- SORT_QUERY_RESULTS
+
 DROP TABLE keyval1;
 DROP TABLE keyval2;
 

http://git-wip-us.apache.org/repos/asf/hive/blob/761597fc/itests/hive-blobstore/src/test/results/clientpositive/map_join.q.out
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/results/clientpositive/map_join.q.out b/itests/hive-blobstore/src/test/results/clientpositive/map_join.q.out
index 268bb52..02ede72 100644
--- a/itests/hive-blobstore/src/test/results/clientpositive/map_join.q.out
+++ b/itests/hive-blobstore/src/test/results/clientpositive/map_join.q.out
@@ -72,14 +72,19 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@keyval1
 POSTHOOK: Input: default@keyval2
 #### A masked pattern was here ####
-99	val_100	val_100
-99	val_100	val_100
+1	val_2	val_2
 103	val_103	val_103
 103	val_103	val_103
 105	val_105	val_105
 105	val_105	val_105
 105	val_105	val_105
 11	val_11	val_11
+11	val_12	val_12
+11	val_12	val_12
+11	val_12	val_12
+11	val_12	val_12
+11	val_12	val_12
+11	val_12	val_12
 111	val_111	val_111
 117	val_118	val_118
 117	val_118	val_118
@@ -94,12 +99,6 @@ POSTHOOK: Input: default@keyval2
 119	val_119	val_119
 119	val_119	val_119
 119	val_119	val_119
-11	val_12	val_12
-11	val_12	val_12
-11	val_12	val_12
-11	val_12	val_12
-11	val_12	val_12
-11	val_12	val_12
 119	val_120	val_120
 119	val_120	val_120
 119	val_120	val_120
@@ -172,6 +171,7 @@ POSTHOOK: Input: default@keyval2
 183	val_183	val_183
 185	val_186	val_186
 189	val_190	val_190
+19	val_20	val_20
 191	val_192	val_192
 193	val_193	val_193
 193	val_193	val_193
@@ -182,8 +182,6 @@ POSTHOOK: Input: default@keyval2
 197	val_197	val_197
 197	val_197	val_197
 197	val_197	val_197
-1	val_2	val_2
-19	val_20	val_20
 199	val_200	val_200
 199	val_200	val_200
 205	val_205	val_205
@@ -208,10 +206,10 @@ POSTHOOK: Input: default@keyval2
 227	val_228	val_228
 229	val_229	val_229
 229	val_229	val_229
-239	val_239	val_239
-239	val_239	val_239
 23	val_24	val_24
 23	val_24	val_24
+239	val_239	val_239
+239	val_239	val_239
 241	val_241	val_241
 241	val_242	val_242
 241	val_242	val_242
@@ -270,12 +268,13 @@ POSTHOOK: Input: default@keyval2
 287	val_288	val_288
 287	val_288	val_288
 287	val_288	val_288
+29	val_30	val_30
+29	val_30	val_30
 291	val_292	val_292
 291	val_292	val_292
 295	val_296	val_296
 295	val_296	val_296
-29	val_30	val_30
-29	val_30	val_30
+3	val_4	val_4
 305	val_305	val_305
 305	val_306	val_306
 307	val_307	val_307
@@ -305,6 +304,7 @@ POSTHOOK: Input: default@keyval2
 327	val_327	val_327
 327	val_327	val_327
 33	val_33	val_33
+33	val_34	val_34
 331	val_331	val_331
 331	val_331	val_331
 331	val_332	val_332
@@ -314,7 +314,6 @@ POSTHOOK: Input: default@keyval2
 335	val_336	val_336
 337	val_338	val_338
 339	val_339	val_339
-33	val_34	val_34
 341	val_341	val_341
 341	val_342	val_342
 341	val_342	val_342
@@ -370,7 +369,6 @@ POSTHOOK: Input: default@keyval2
 395	val_396	val_396
 399	val_399	val_399
 399	val_399	val_399
-3	val_4	val_4
 399	val_400	val_400
 399	val_400	val_400
 401	val_402	val_402
@@ -411,15 +409,15 @@ POSTHOOK: Input: default@keyval2
 427	val_427	val_427
 429	val_429	val_429
 429	val_429	val_429
-43	val_43	val_43
-43	val_43	val_43
-43	val_43	val_43
 429	val_430	val_430
 429	val_430	val_430
 429	val_430	val_430
 429	val_430	val_430
 429	val_430	val_430
 429	val_430	val_430
+43	val_43	val_43
+43	val_43	val_43
+43	val_43	val_43
 431	val_431	val_431
 431	val_431	val_431
 431	val_431	val_431
@@ -473,8 +471,8 @@ POSTHOOK: Input: default@keyval2
 469	val_469	val_469
 469	val_469	val_469
 469	val_469	val_469
-47	val_47	val_47
 469	val_470	val_470
+47	val_47	val_47
 475	val_475	val_475
 475	val_475	val_475
 477	val_477	val_477
@@ -544,7 +542,6 @@ POSTHOOK: Input: default@keyval2
 83	val_83	val_83
 85	val_86	val_86
 87	val_87	val_87
-9	val_9	val_9
 89	val_90	val_90
 89	val_90	val_90
 89	val_90	val_90
@@ -554,6 +551,7 @@ POSTHOOK: Input: default@keyval2
 89	val_90	val_90
 89	val_90	val_90
 89	val_90	val_90
+9	val_9	val_9
 91	val_92	val_92
 95	val_95	val_95
 95	val_95	val_95
@@ -561,3 +559,5 @@ POSTHOOK: Input: default@keyval2
 97	val_98	val_98
 97	val_98	val_98
 97	val_98	val_98
+99	val_100	val_100
+99	val_100	val_100


[11/20] hive git commit: HIVE-20004: Wrong scale used by ConvertDecimal64ToDecimal results in incorrect results (Prasanth Jayachandran reviewed by Matt McCline)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/data/files/table_8.dat
----------------------------------------------------------------------
diff --git a/data/files/table_8.dat b/data/files/table_8.dat
new file mode 100644
index 0000000..03efd72
--- /dev/null
+++ b/data/files/table_8.dat
@@ -0,0 +1,1000 @@
+71-602.918923106-748False-0.14-297.35\N-235259897.97False654.666980321-403.42-414.4128-51.62True663.6515228652012-09-24 00:00:00\N-368868-46.153822017-09-26 00:00:00523.07True962.717393857140-763False
+126381.483187133-823True\N-495.26372.755137192840721-216.48True781.906748437275.34-863.69-726936.5True571.5890072962004-07-19 00:00:00-62.33666\N758.123642016-07-06 00:00:00-598.45\N-3.4064818366227-45False
+-123-734.641360105-158True0.04-622.2\N-965750-11.47False952.395890463-891.51-621.78-50-172.62\N-540.4497987132025-11-06 00:00:00-29.18352112\N7952019-06-13 00:00:001-5.01\N680.679188777-233169True
+108-106.299935822\NFalse0.42-60.6781.067551556-302720362.42False466.662941949613.61847.01-21.65True-306.5178268682022-04-18 00:00:00-68.7924-260899.729052029-06-20 00:00:00-1171.35True-789.813277211-404\NTrue
+41-136.196835538\NTrue-0.92195.85\N-931731137.48True60.7770274822125.58123.66404-147.68False8.727675420482026-11-14 00:00:0013.9-592-583-604.35-832018-01-29 00:00:00\N6.89True-822.150910628903-413False
+-72-749.8003221\N\N-0.98-631.52-827.144026487554\N-975.35True-642.822597103847.45-745.69173\NTrue450.2307024722011-01-06 00:00:00-94.62\N-501239.7-502014-09-03 00:00:0059-3.8True78.6535883319-973416False
+-92648.854726845-732False-0.45825.25993.209450043-309\N732.82False302.386111767-579.27977.96-512513.82True524.1048580372026-04-18 00:00:00-75.51\N-98-660.8\N2013-12-05 00:00:0058-9.61False-975.467692674-662947True
+-60-7.5409523072639False0.66449.53-161.762154387697659942.8\N-537.097518512-165.97-522.84561786.65False181.486816783\N-84.85-289\N-399.959791995-10-01 00:00:00\N0.98True694.178376364\N-401\N
+-64457.911835849\N\N-0.46-389.42-532.226028019-754-394-745.36\N123.951560496425.18-912.6962-153.61False-717.8784593532026-11-01 00:00:00-94.82738\N-913.12\N2021-05-05 00:00:00119-2.95False170.469131661-407-845True
+9-357.621000043-208True0.34539.75-433.176994644\N-375-549.95True-65.1002247198\N188.34-657-335.99True982.4543155322028-11-12 00:00:00-53.77-98-682-870.13-3791995-03-03 00:00:0097-6.71False-90.6522924169-34860False
+25-548.799411556-312True0.58\N164.454965275-477-154183.76False287.551433377-731.2683.6435975.73True-321.4825456222004-01-01 00:00:0026.1954982674.961172005-01-22 00:00:00-97\NTrue-269.895778075-642535\N
+-12765.50056056741False0.04170.03-303.333070447189-8431.01True-272.3147053664.53-742.63895-860.65False389.2566386542026-10-14 00:00:00\N-88\N881.163842028-09-04 00:00:001216.27False-992.043683277-858-137False
+-32709.970248688-981True-0.12722.69\N-810155837.4\N336.362514019183.36-891.45192370.83False365.883976704\N16.63-542-828-629.731392014-05-18 00:00:00-5\NTrue-294.21361459841\NFalse
+5498.1515013712-219False-0.58-120.78-687.985493381-626-292-942.34True898.79672401\N-788.72596902.63False279.454971212021-06-29 00:00:00-65.15-1\N-360.073762023-07-01 00:00:00363.04False-808.437443156685431\N
+-36896.788312606-129\N-0.27242.08-241.494298414\N-579108.74False\N184.98353.56-461799.01True-999.171235651993-12-27 00:00:00-79.66161-21\N7752014-10-06 00:00:00\N3.97False875.077822626156717True
+-87343.025822633-498False\N\N-195.401665799-962-981-528.71True535.117552506-732.28548.73415\NFalse877.8019770971994-04-05 00:00:0043.43-724507-589.53\N2026-06-16 00:00:00-1-1.82False-381.665133951-457-277False
+-119578.286479122\NTrue-0.19552.76\N\N\N-219.81False242.521033418-782.96-258.13598-93.62True137.9932628662009-06-04 00:00:00-45.12290\N\N8772006-11-09 00:00:00-316.01True\N-380-767True
+-23784.914581466-633True-0.61-986.85\N161668-654.33True-80.5424912754\N-619.68-8256.65True968.8967387951999-12-08 00:00:00-78.28363-242-212.081202006-12-05 00:00:00-1176.36True264.879860367571126True
+-109-816.573532242462True0.5420.14-38.4374021554-593\N-374.17True-17.1680298256-852.12347.15-634-196.42\N267.630794172001-06-04 00:00:00-16.18708-372\N-4291995-07-31 00:00:00\N1.03True-11.5592627221-18577True
+100-762.271470626394False\N-552.7924.7446608198\N189284.33True-748.598578556713.78-141.05-459-490.77False-731.9201527751993-03-17 00:00:00\N-187-357464.039612016-12-18 00:00:00-53-5.08True-747.798818315224-227False
+110-692.04738630691False0.56175.3555.8003796754-868390-120.67True115.246192348188.99475.51\N-843.37False-35.2139767144\N75.7-410187706.64-5462008-05-02 00:00:00-1200.73False-135.16457768-746449True
+-45521.55246148-809True\N-310.39-563.689234324-841635182.02False\N\N599.59-842954False-15.09493895342009-01-04 00:00:0017.371\N-321.94-6511998-11-22 00:00:00\N-8.32False709.458732879874-540False
+27566.521580671-350False\N215.58737.9890003592406\NFalse-192.153503532679.64639.15\N-490.14True-284.7146356931998-11-09 00:00:00-42.95634741-214.886252006-07-02 00:00:0090-0.07False70.2486114796498-926True
+-46470.172265609\NTrue0.1112.1820.736852486907910-693.37True-10.2143526627647.29-675.04-809312.85False-717.517305629\N-52.45630461869.76-6012019-11-13 00:00:00-85-2.75True-923.99049457-480-193False
+-96-534.804788543-761False0735.2387.7314863813-926836739.87False-645.319591043-993.02\N592230.95True-636.5660647782016-01-14 00:00:007.7446661-471.326601998-06-21 00:00:0023-4.78False-909.880779935\N\NFalse
+\N-238.455956953695True-0.39-42.93\N-391\N-890.11True21.5749181671325.02607.06989-441.39False-295.2459753422006-02-03 00:00:00-17.1372892196.327022028-06-15 00:00:00-408.58False314.112878499213507True
+101342.855068886-85True-0.6983.82-100.892937215630-267-543.4True\N-698.61-736.63-375994.43True180.3734480242024-11-04 00:00:00-76.96390539\N-6532001-10-18 00:00:00\N-5.54False-715.982922564-80654True
+\N330.836265211913False\N-155.08-542.007315686-419-502\NTrue207.530870457133.9604.12-788387.78True227.183778321999-11-06 00:00:00-62.23-832903168.9-6042024-01-26 00:00:00-123-6.38True-930.832573576-51588False
+\N127.314508341234False-0.22-656.02-489.730447889-471-906-909.31True-499.925114953-339.35-657.75203-966.16True886.9412221842006-02-02 00:00:0080.527461310.96\N1991-02-21 00:00:0064-2.38False-818.575212889-362186True
+52555.108464422-119True-0.36-622.28-130.529512409-41-646271.77False36.6577702508-161.22111.43\N-961.15\N-219.9024095671997-08-28 00:00:00-80.61207382457.83\N2000-01-27 00:00:00-995.11False-364.100178085294-157\N
+-42-917.028348412418True-0.8489.694.5005938979-710619440.07False-656.650372825-636.3489.12-127-401.8True25.55047005991993-06-04 00:00:00-85.53879\N542.171452016-11-02 00:00:00126-0.39False-469.10716432-237-928False
+\N132.80991011776False0.75-872.95818.767705241\N\N-615.16False\N-18.24671.93-233-262.87False-413.2743387641999-10-05 00:00:0026.42108463\N3432018-06-09 00:00:00\N8.86False-724.338089919977313True
+-109-939.9305367055False-0.08-555.78759.906148296293515659.4False692.150287508-126.5-679.5977864.65False909.9708547962021-11-21 00:00:0036.85-514631813.77-7482025-06-30 00:00:00-29-4.14False-395.310511841-543-949\N
+-92762.310405344-143True\N714.13-810.69925939-150-787925.29True-391.040178096-247.38-692.960-365.96False-781.5475324062013-08-09 00:00:00-45.68\N-378101.415112002-05-29 00:00:00-2-6.87False649.106164315-260509False
+66-375.538218976-421False0.29-622.9347.016120616-51674236.4False-835.478161072964.95921.35-53752.44False-59.17852002812016-01-12 00:00:00-43.59-416-919821.34-1042026-08-30 00:00:00-390.37False-51.0432669135-29861True
+\N-990.887760841-267True-0.91302.98675.662437996-53-472\NFalse58.9694637531442.26892.37\N-16.71True-225.1225900161993-08-18 00:00:0069.26632-459380.29-783\N891.87False-158.448824261460-457True
+39-918.145790348-483True0.67414.13\N386\N661.26False-88.4846017958643.83-499.5382453.26True-82.9757613588\N\N-904803\N8522004-01-14 00:00:00-38\NFalse67.7305169551-649973\N
+28-479.108234441-63False-0.73-196.68\N-436-4-737.02True813.484700113653.06949.6-286-438.55True-703.5071291021995-01-08 00:00:0089.85-568-136-705.244842007-06-01 00:00:00-1236.52True-681.89580353174641False
+-8-89.9537175968123False-0.17-829.47\N-651-50-449.61False-351.086077616125.81-211.06809-502.09False634.4919859472008-04-16 00:00:00-50.3-639\N-4.451352002-04-18 00:00:00-383.52True-676.30801209862123False
+-116-793.931264731236True\N-995.09874.645651528-652-653-523.62True\N\N847.52-445-969.21False-647.5268117362011-07-02 00:00:0052.89750-50656.961981999-08-21 00:00:0069-3.8False\N-13954True
+123684.565425399-333True-0.09-426.78850.99284911-73881412.79False566.509802434953.61-66.02148\NTrue-243.0301530162006-07-09 00:00:00-20.67-574541305.455032024-07-09 00:00:00-62-9.38False123.65517391-385-878True
+8762.0452971889523True-0.21-161.43162.08504468864121\NTrue629.10302783-881.3-381.47-767-307.75False692.9709596672000-06-07 00:00:00-48.25\N971-563.94-1912013-05-04 00:00:00110-2.75True238.62768067291951False
+-53\N-695True0.91\N-517.987292267357\N893.43False\N817.88775.6573\NTrue261.8000878492011-05-30 00:00:00-68.57\N396363.9582029-08-08 00:00:00-82-6.17True411.654999796629-48False
+63-839.499986264-859True-0.41-600.68-187.813170926-886-748-564.57True-474.784627165-798.18259.5-360-929.32True-370.5627014882029-10-07 00:00:00-8.11-57246232.466552002-09-07 00:00:0034-0.78False198.607311929-335-162False
+-101156.017278591False0.65175.7-369.878236071-653456-674.43False-965.097588863-761.85\N-965470.34False176.8085014842029-08-26 00:00:00-0.79-44-594-676.96-995\N-29-4.46False-402.722477989-246-87False
+-97-230.359218598\NFalse-0.73310.09-908.496171051105328-266.13True524.296600299494.33-596.92144-711.64False848.3101841972000-03-18 00:00:00-95.37-735975-681.34492008-11-23 00:00:00-70-0.83False-944.109699093908-637True
+-123-266.059421457-831True0.78-542.39-247.805266301\N-693839.42False13.7310732798700.86-204.96114479.67False3.561884843612002-11-28 00:00:00-11.35-889-360242.57-3742013-02-21 00:00:00-96-4.24True966.943002026-749-411True
+35-175.8964386890False0.75361.5-548.076146268-186-424960.18True\N-747.09-454.06-770810.14True134.923239644\N-67.1578186-190.88\N1992-03-12 00:00:00268.17False148.09495909-540-65False
+100225.31881807527True0.72791.49242.481871365-695-590516.2False240.043507548-655.29-562.34805-182.21False-841.8650586642008-03-18 00:00:0014.14-386517326.92-3661996-02-07 00:00:00-127-7.34False23.025545226-4794False
+-9733.072622279-23\N-0.9276.71-303.446734125-653-133898.09False-38.1036747018887.68-703.16239-490.25True-751.9573074521996-05-26 00:00:0032.82520\N544.462422023-09-20 00:00:00-910.83False550.575031179-24-151False
+-91-512.508700843583False-0.59-833.13-885.071811832-361475-364.67False313.8578753935.74405.03-4489.33True\N2004-11-06 00:00:0011.99730\N287.57-651992-09-30 00:00:00-216.47True567.671347861873\NFalse
+74889.850203917596True0.8\N-883.240294183-511889493.7False409.816970693-308.14-546.31538\NFalse\N2020-06-07 00:00:0020.2125122663.663142023-04-22 00:00:0028-4.94False629.927070837-65-574False
+78451.08851922-279\N0.41-175.89\N524-882864.74False-270.842504651-187.11300.46-27-757.5False232.9308117222023-10-21 00:00:00\N-66130151.311202017-04-11 00:00:0093-3.34False538.312271789953\NFalse
+\N\N501True\N877.32159.139361667-728-156-961.28True-954.81187306343.19546.39-319999.41False922.374947303\N-47.26480-604-312.843351999-09-03 00:00:00122-2.62True780.629959694-629883False
+-92731.355175964-77True-0.26-380.06-98.766118073139945-533.31True-907.95262942992.77884.44\N-317.92False-763.7987644722018-10-20 00:00:0090.8207-411555.01-8221996-07-09 00:00:00\N9.67\N-202.088857919211-131False
+-42-59.1889594698-831True0.97822.15-230.044158359-518599-557.73True\N447.9339.45827-182.39True98.61336959442028-08-14 00:00:00-88.5856-689-976.61-9672016-08-04 00:00:0088-9.88False-583.611687069-218497False
+125592.462861539-748True\N-824.04\N-517-350-508.55False-781.24890317-313.99447.03943-912.92\N375.6790015732021-06-13 00:00:00-12.93840-290-269.589901993-03-21 00:00:00\N8.57True236.356448336214\NTrue
+-89-868.79370467988True-0.06612.4\N482\N-662.26False141.586582199882.44764.2-814-482.98True-934.8893660032001-05-13 00:00:0031.41-911140\N1572029-08-17 00:00:0075-3.35True-852.759608395\N\NFalse
+-3-413.093802891\NTrue\N-371.49-142.433674172588-233-395.08True367.193549376\N110.18-131-177.6True167.4357116982005-11-23 00:00:008.58158-493343.94-7102008-12-04 00:00:00\N-4.35True474.047989538459389False
+1333.0739086064597False-0.61\N-551.319471416822-825-280.47True\N-746.27268.5670817.72False653.0690008832022-02-02 00:00:00-75.02793\N-710.96-9021993-05-26 00:00:00-868.45True500.793369107-98812True
+-79476.33124709-15True0.02880.17-818.84437061646914396.74False-336.232218606-542.52115.88\N342.9True201.037181082014-06-08 00:00:00-45.43905-542145.393872010-10-19 00:00:00-562.4False-341.005099583-144155True
+82-564.430008923-294False\N895.41327.362469877889\N972.41True252.983996652925.37-554.9-787-482.72True\N\N84.38996\N-433.11-16\N-120\NTrue-550.95719093223350True
+-50696.933723218845True0.42\N-23.8892351097-849619-557.44True890.853579733-547.67776.19703193.83True-205.2636695642012-02-24 00:00:00-5.4438694-396.27-5472015-11-21 00:00:0083-6.67\N-56.0703957407-782-728False
+-85-799.722783336-842False0-800.69-22.7515902597589231-124.68True-691.451787427666.5-168.37-85-41.19\N-18.17042858951999-01-22 00:00:0057.52-729931-684.172221998-06-03 00:00:00687.5False-329.7523695373-702False
+-73908.563831183-801False-0.43264.65-655.091333495408719689.47False-193.998071687960.74608.59-589-194.76False-797.1006328592014-05-23 00:00:00-81.12-400-521\N72016-08-20 00:00:00-1259.77True779.533367865-432286True
+33952.212030222-906False0.57842.36-358.318738002-268-328-211.76True319.75037897148.8265.89-614-976.03False186.2821662131998-10-15 00:00:0048.77-807-949-848.36-3682021-07-15 00:00:00333.93\N\N349-886False
+-51151.079020843901\N0.74853.33804.658452246\N-447782.73False951.582724135990.58-553.0142278.17True-421.3599673132002-02-08 00:00:0028.18\N-891-691.32-759\N-44-0.63True213.26006647-228\N\N
+16878.339540556394False\N\N-523.004147815-329-878420.41True302.928043906909.97-209.36-909273.27False\N\N-70.48-800-608-269.34-357\N-783.65True56.0698743287641-764False
+5626.6509899417520True-0.78-758.72369.413498639126-892\NFalse\N-405.14471.63455997.45False-237.6415421642008-03-25 00:00:00-56.3388-919-414.66\N2003-11-28 00:00:00-55-2.82False-351.647538442-273766True
+54896.200021997\NFalse0.7-873.19100.628857805-891323-931.48False-634.970720097-996.78186.55-885726.87False-213.1321584731998-10-31 00:00:00-2.2-979927992.85-6981990-02-24 00:00:00-566.19\N891.100281886232-824True
+89-515.857988194-893True0.88\N-889.404948678-981-971-435.54False-24.7517547167-114.97442.08271474.29False-65.70424139872002-06-04 00:00:00-11.58-300895-309.9892006-10-30 00:00:00-816.22False-482.629569761-52157True
+-27222.637471773\NTrue-0.88455.72-435.101716989-497774561.67False-211.659807225972.8-29.87217549.32True-660.1252412891991-12-15 00:00:00-96.41858990187.45-2162011-10-08 00:00:00118-1.71True-501.14250392-212\NFalse
+100-845.18410426-352True-0.56-478.35-37.3869696453-705-171-838.94True286.873004591\N-206.01-212\NTrue\N2015-12-13 00:00:0076.64-866313420.854832007-02-09 00:00:00-60-7.74\N-663.406469959-752559False
+-34-391.924214548-959True0.73242.04730.93320927-179-154276.07\N-542.813833777-101.87-882.11625923.68False\N1999-02-25 00:00:00-34.28-53730-327.25321\N-1025.96False-154.61143696-268-421False
+-119920.120292637910False0.8266.92\N135-199-689.37True525.129004206918.94165.45-138222.37True\N2013-02-25 00:00:0069-661-4-921.86-4162020-04-18 00:00:00-58-2.34True390.459265978588\NFalse
+\N-892.158678444\NTrue-0.31\N229.442604536-847-100696.66False894.050986474559.34-965.78840169.01False\N2015-06-19 00:00:00-79.25493370-191.52-5752000-02-25 00:00:00-7\NFalse-933.312459145-748-121False
+77-545.856789559-38True0.69-319.84-344.280571384702477-822.4False214.742784805-498.57-554.88508-134.24True369.8932164952021-04-26 00:00:00-97.14-291-15889.965612020-03-26 00:00:00773.7False114.05361922-507-294True
+22-511.273355007-479False0.66-586.15555.268441859965134-304.53True-333.688071157599.38-197.73-290-275.18False\N2010-08-14 00:00:00-87.7895311256.529562013-07-25 00:00:0078-6.28True870.173943375\N-119False
+-31878.479704463-204True-0.83-131.03-695.022915599-404-58-524.88\N-826.506256752-523.19452.41-447-937.66True-847.8491744392024-06-29 00:00:0076.44-746-63761.829561997-05-30 00:00:00737.63False609.218762501\N-228False
+99-846.800954004970False-0.8188.45-693.324729351782141-987.12False-683.989892809-639.5162.2492-100.7False224.5970474732024-02-24 00:00:00-79.43-917734\N\N2020-08-25 00:00:00-107-4.49True598.131672969\N820True
+40-510.113632998\NTrue0.66-114.32-87.9407830203-106\N\NTrue-605.962616584-354.91-686.71-924472.5False-856.2019060072004-06-21 00:00:0076.25-752-167-141.51-3302017-11-13 00:00:0022-0.6False553.240287069-335317True
+-124161.206958969783True-0.6489.32-366.700283428949-56728.32True-118.501946649621.43-649.85294-464.11\N227.2979573542013-03-17 00:00:00\N920642\N-8492003-07-06 00:00:00-104-8.42\N-60.8431992066-210-55False
+-63\N665True\N-745.13\N713913-153.54False-874.664322352\N662.05-763883.54True-138.2875025072017-07-20 00:00:00-21.81180412608.45-3322015-05-13 00:00:001248.53\N-155.157340276-481-151False
+23\N-655False-0.74181.93-765.537407184-958504391.66True97.3491041478256.02-57.75481-788True774.4082084271991-08-22 00:00:0016.1763798740.83-4022010-05-12 00:00:00-181.67False823.84541812391-397True
+-123377.840651131780True0.3\N-75.9231773007-192-423804.01False-769.788719035309.67\N802\NTrue935.10426946\N-65.1-220-470-549.4-4412002-04-03 00:00:0050-0.54False-123.435268263-449\NTrue
+-26\N-449True-0.66734.44-511.470771698523562487.81True-10.6856467709-985.6\N0-770.1False707.3258528982022-10-07 00:00:0022.71922864447.451752000-02-19 00:00:0013-8.82True-778.080333932852-259True
+124338.725054767-609True-0.07-628.86-448.329071615-860591287.68True-158.714496859917.53123.65-419\NFalse-507.6383052631996-04-19 00:00:00-99.05437-311141981991-12-28 00:00:00631.77False351.513704954151890True
+25-160.902702866\NTrue-0.3-118.01-813.17407806-630880-104.52True-735.5809862\N-949.06262-625.48False-243.4539858392024-04-28 00:00:0081.94653530\N7491997-06-16 00:00:00367.37True298.466564912-475-985False
+-53201.423616886-782False\N-741.16\N866306373.91True-553.219752135\N\N78014.27True-165.3162131622013-01-26 00:00:0068.21-412438-33.214861994-04-21 00:00:0027-9.9True134.271716966-1-968True
+-44440.776585508\NFalse-0.45-983.06-970.484155253-966227-337.21False\N795.78-837.07-227-712.71\N598.3614648322003-08-07 00:00:006.47680642463.964921999-06-29 00:00:00-406.51\N-839.805254131391782True
+-61268.799292993720True-0.76\N-364.144325751-604708-710.1True193.332124013974.98626.57\N-399.15True\N2014-10-20 00:00:00-34.46665\N-404.63-2652018-04-02 00:00:00\N-9.3True-396.620232018-452-508False
+-59209.506413409325True0.29\N\N818697-6.72False-469.721452806\N-708.7722-32.52False105.1102274121990-07-07 00:00:0021.4401648-12.567802016-12-11 00:00:00432.63True-435.356676747-14163True
+-106528.243640946506True-0.9810.02\N425-262956.69True168.962838012790.15-42.6680433.69False-769.700619186\N-55\N\N0.91941991-08-20 00:00:00-70-3.79False571.223835309-962-772False
+43430.82657362890\N-0.6-229.82490.860935055\N-552774.98True778.450920377\N-403.6760-448.15True-837.7425703051995-05-25 00:00:00\N-381245347.733012023-07-16 00:00:0051\NFalse874.272288256-568306False
+-18884.95098231136\N-0.19-696.91688.182220287358\N790.81False940.780639491716.6\N-859-336.24\N\N2012-08-21 00:00:00\N908848\N-7112007-12-24 00:00:0030-6.71True525.931965518-725520True
+-1176.99046407776601True0.6-865.59135.723087346-832-901-243.93True587.161409278266.59\N623-5.19False802.001860662002-07-15 00:00:00\N426-284-434.32-6652013-03-24 00:00:00-109-4.97False-578.436710516\N-528True
+74\N\NTrue0.6-689.52726.021852966-941-689983.31False913.494472297\N29.26-292535.93False-756.9506691811991-08-19 00:00:0072.97-922308-852.084152003-04-16 00:00:006-5.03True688.082779648343-37True
+-36-448.12999885970\N0.38-925.79\N476775-139.29True183.547567561-919.9870.93-876-153.4False-763.8816870422015-07-24 00:00:00-87.9\N\N-580.044171994-07-12 00:00:0097-8.02False13.9832701055555471True
+\N218.172792527-25True0.05728.08-845.521498082-528-412866.61\N\N100.62-355.33\N\NTrue-830.6630084942021-01-19 00:00:0079.27894-213-485.55-4872012-10-26 00:00:00-3-4.39False-20.37132377837473\N
+\N341.043419244\NFalse0.47-698.47947.897627767-458-140-747.54True174.210261701-21.2-281.42717-141.96False\N2018-09-11 00:00:0091.55-228\N569.668731997-08-13 00:00:00-845.75False-427.068979327-987\NTrue
+-45-349.17094017\NFalse-0.42-406.87896.752584573980737-893.21True-625.849767329571.23-924.68511-219.57False\N1999-06-16 00:00:00-57.369-90375.68-9002020-05-16 00:00:00-95-5True909.344453007447413True
+23369.819536235809True-0.99-899.04472.984283918\N-349-297.86False5.28262758866-754.7762.98235-105.69False-784.320755111997-01-01 00:00:00-43.95-703-231-255.9-908\N-987.11True-227.28396867133859\N
+71-469.136534382\N\N-0.36\N\N-789800-93.86True-481.516600335-794.23-711.8873\NFalse-627.8621923742020-11-06 00:00:006.37170848876.79-5942029-07-28 00:00:00\N-8.77\N439.240166891-424742True
+74917.904500353-302False-0.28-504.49-671.215597512-21744\NFalse819.609701452977.72-859.11-614-673True-371.5283802012005-02-06 00:00:0076.67\N169-528.492042018-06-24 00:00:00\N2.95True224.67876669818977False
+-53-301.78902135-682True0.1583.78125.94602281\N-140-320.95True353.437478014229.66\N-556-592.96False161.463958411995-12-08 00:00:0092.15843-454-371.77\N2026-06-29 00:00:0043-3.41False819.025521337-428-363True
+\N-691.248255789-922False0.18\N-814.393097473\N-663624.31False-253.212315114969.95656.121145.43True259.777888432029-03-09 00:00:0052.18843-934582.37950\N46-2.86False-316.650693327-458163True
+-3970.7997712586\N\N0.2210.94-859.867184132670\N-772.19False406.181727938615.24403.45-872328.41False-556.8284191712001-04-21 00:00:0039.3996861965.5-1762024-05-21 00:00:00-72-7.69False-420.173754461525889False
+17-59.8056785347758True-0.44-791.71513.644648831-27-770-611.05False386.741540404-892.52899.5387-893.15\N-729.1322264282013-12-01 00:00:005.32-135-41\N4642021-05-14 00:00:0093-9.17True-440.435145677-653-852True
+91-327.725216957-625False0.62-26.11-321.856351285-965-69159.43True93.0149398739627.28-942.15-939\NFalse-512.4903466171996-04-08 00:00:0056.87529842-846.81-9492007-11-17 00:00:0017-7.03True-243.389523306-538-834True
+-31847.030587497\NFalse0.06913.49443.785231665-67882646.45False-699.318419887-185.78\N-976791.31True-549.9064456291993-04-19 00:00:0016.34-503446439.096542019-05-30 00:00:0057-7.31False-140.2238141\N-208False
+\N446.23852718-190False0.49\N64.5174164733547-816756.12False\N216.5\N868295.39False-23.9409934281\N93.98-37519-34-2022013-08-04 00:00:00-498.31True652.138406835-117-620True
+\N-113.599726018\N\N-0.06465.68136.426168182\N33640.16False655.195246453-557.88\N-460-560.73\N\N2022-08-11 00:00:0030.33\N-195687.952612006-07-02 00:00:0014-0.7True-260.046148322120288False
+\N199.490330582-752False-0.07-795.03\N4571519.13False681.152625847612.65304.7423-574.86True-622.5544341082009-05-14 00:00:00\N771876-391.743472003-05-27 00:00:00-99-7.9\N425.575737966-499-439True
+-21-761.928055383-417True-0.79763.45-593.456411294317\N-668.58True-437.076465715\N300-12-297.73True996.290826518\N\N-39\N509.222881994-06-16 00:00:00\N-4.34\N-657.792769735\N-498False
+33944.904227012-153True0.74-88.62-377.922685422\N-140\NFalse-265.499429657879.83821.73-840197.75True-159.0142840872008-11-07 00:00:00\N-158-4-614.53-6872004-09-07 00:00:00676.66False\N-14\NTrue
+4554.3701064898535True-0.67\N930.29915303353734945.15\N\N186.77982.34-68-903.56True-108.6302096621995-06-13 00:00:0016.06514\N107.57-2441994-11-22 00:00:0020.9False39.3733883202323-737False
+39-764.632832049-34True0.92-49.8458.0778045934-560-882\N\N-912.544764456819.55416.55-191\NFalse485.4545405471999-03-12 00:00:0022.22-785\N-923.236491992-05-18 00:00:00-319.27False-936.265273461365944False
+-102-435.184643972817False\N-215.54-580.79955084764-701446.75\N-18.8305239683175.6-492.7297149.65False\N1992-06-03 00:00:00-6.45505-968295.37-3232013-10-17 00:00:00-47-4.52False\N-640334True
+22-919.644145704465False0.51638.57-591.626810903302667-709.73\N-968.336000392261.47227.7-258600.78False-540.5335542812027-07-09 00:00:0050.95-62-351-798.862432009-10-07 00:00:00-645.37True190.785752961-639119True
+22141.41993602620False-0.05-264.38-893.15264784100313349.61True-864.379589542351.92182.7-796500.85True-882.1490805962005-05-18 00:00:0078.48-481-708-75.8503\N43-9.24False-440.01828899-940415\N
+-82-35.9944834412-553True-0.29327.11-761.42102501-443-648734.27True148.855316914-732.47-23.63961-578.23False178.0301622741998-09-03 00:00:0097.94-66899-806.094792020-05-03 00:00:00-569.82\N309.5432012813346False
+90163.0109434585True-0.97-541.59-17.527346639698-553912.32True-77.3729641048-609.1469.91911-535.46False401.8263438111993-10-18 00:00:00-65.04705465-427.87-4182023-03-20 00:00:00-1220.46False\N612-605False
+-1065.6163311554-776True0.92-374.69-21.9113393309-508-209243.41False187.601712437770.79982.93682-715.88False-137.5682205622014-12-12 00:00:0072.82798332270.754751997-06-29 00:00:00783.83\N-684.246651127-75517False
+-81-645.593253825573False0.7-242.77743.232056871630-817288.97False-418.791160292-475.64\N-621-626.05False445.9517495771995-10-28 00:00:00-41.88686826-366.55-8841995-05-04 00:00:00732.82False115.428210381870-34True
+\N-37.4879470363-444False0.38598.02-247.117578693-617\N-516.6False134.365160674-962.71-936.580-922.34False-89.44333520132022-09-30 00:00:00-29.27-729121\N2261994-02-05 00:00:00-128.34True-834.55736275-104-398True
+108134.179571127-510False0.77792.83959.386630484\N574611.79False563.439544564-992.73-395.53-744\NFalse\N1997-11-13 00:00:00\N-554944-778.31\N\N-28-0.44True979.27440366270-714True
+-35-142.799963897-855False-0.18-822.36-853.067486678-893-763\NFalse262.430201945534.46-340.98470-295.89False125.7120855482018-06-27 00:00:0082.98-513-464-713.13-4202002-08-29 00:00:00-36-9.95True-998.200791293-712-111False
+-1589.005148255-334False-0.68-106.52-847.894973564393\N142.42False-896.597816064169.48873.36963-203.54False-577.2233970182018-10-11 00:00:00\N82110-588.315841994-11-27 00:00:00127-4.63False969.637041206-616944True
+24-870.994174452-567False0.02651.33357.149399114446994-740.79\N-629.395492255-267.23144.56-623\N\N332.8473642011996-07-20 00:00:00\N-754-851283.2320\N-63-9.92False-327.998691574-530-414True
+\N-870.27295036539True-0.93-837.57377.71447950151025431.02False752.333303875357.11782.77451955.05True-791.355712683\N-5.37-521-659264.79142013-08-13 00:00:00\N-5.34\N-289.960561408547239True
+5-602.593207287413False-0.93649.32563.44979594548\N615.77True847.362194635311.68666.69-397150.92True-923.0922588442007-06-15 00:00:00\N247540-628.12-8732026-04-03 00:00:00-195.35True-672.013224357-876-119True
+-62654.193935227-693False-0.01\N-605.724374267-259921-19.28True583.532021265-203.09-375.09-104-95.14False815.1328418571991-04-18 00:00:00\N668312-99.59-2952014-09-29 00:00:0075-0.28False-581.697723669584-711False
+-43-120.856218457-637True-0.75632.79750.823914336210606463.4True4.08685218678-899.86-533.37\N669.97False\N1991-08-10 00:00:00-61.85-270-559573.88214\N1-5.53False-601.003483736-301995False
+-14-439.192689346114False0.28-830.57813.98614473625432813.6\N\N154.99-589.7115319.78True815.4321240232008-12-15 00:00:00-78-20358-984.976852017-10-15 00:00:00-87-7.9True-960.002024818846701False
+-99-735.529956582-130False-0.87643.42-615.485861731-197\N552.06\N-374.598254186-168.34959.28-5-890.54True809.7457916212028-07-21 00:00:0049.8614962751.54-7152016-10-09 00:00:0055-6.45True-82.453252246592609False
+31-453.994716993973True0.04574.87406.936542117\N874337.19True\N630.85\N-899-896.89True\N1991-06-22 00:00:005.02435295235.96\N2015-12-24 00:00:001273.43True347.976664306146-969False
+108-916.554350814516False0.1-561.71765.12021649603-411670.7\N427.222004593321.31928.03377738.58True-740.6065333532014-10-08 00:00:0041.44-148-843441.319682026-11-08 00:00:00\N5.74True179.482228666\N723False
+35980.362591361400True-0.57-627.38619.291287318-720-70136.98False\N\N442.73-479-404.53\N-923.5929440921998-12-02 00:00:0047.03291689\N-263\N89-8.98True136.814495818-457-745True
+-124-212.383204791708False0.31\N\N291427925.52False-544.9940738543.49135.021-424.09\N-880.097351572\N54.073215-779.81-6512015-09-28 00:00:00-418.24True864.624947483-594902False
+-58-771.009799437522True0.72627.7-420.929177709-625-571-606.57True-581.883426346-31.03-992.29-615225.87True-854.661653568\N97.02671531-775.5176\N\N4.77False431.094860139-528-315False
+-33\N465True-0.76-109.46365.34744129633898431.06True843.1014958-439.9205.84-853-570.12True-337.6444196542006-07-31 00:00:00-28.07-516976449.296682018-09-08 00:00:00-995.23False-783.595491829967\NFalse
+96194.776729799-27True-0.37543.93\N508-617318.13\N-582.718727271790.03691.41-543615.64False391.559588325\N-89.52\N-9014.82112008-05-05 00:00:00-959True-163.648880368262-659True
+105-685.576563636\NTrue0.72-308.49-795.979535724-18-324734.61True-780.551560839379.6-568.94-698167.92False-896.6968738811994-11-06 00:00:0066.22847-374214.95-2572029-11-29 00:00:00-29-5.36False-552.935707172-892254False
+76\N176True-0.46679.71910.946714631\N623-719.7True-993.92355105-596.59-915.13\N-269.51True8.953858449132003-08-09 00:00:0013.07\N\N-987.05-6541995-02-04 00:00:00-86\N\N501.049188994-617-26\N
+-7124.672650709-556True-0.99403.24296.366899864873-926-811.26False654.780298016-81.44665.2810-558.38True\N\N2.57\N\N30.239882005-06-19 00:00:00-366.4True-689.698688515497158False
+-72-624.866984579-433False0.28865.02348.741535819454\N-830.49True-987.177069316-493.76-529.5640-301.27True-374.1940604551997-05-28 00:00:00-12.73-12-667299.34\N2012-11-21 00:00:001212.43True599.8907949362-963True
+73-828.190145265731False-0.94496.86\N-32246291.25True344.01115892887.51-950.77-351-416.19True105.9568632451991-01-04 00:00:003.11-430-512324.517082017-09-13 00:00:00-26-9.47True890.131932237114\NTrue
+96-626.756720904-128False0.66520.74\N-745\N-425.05True-852.761990099-620.87917.45\N348.76True-389.9632014552028-05-26 00:00:00-51.83-926-3912.15-182\N1242.74False-687.250951356\N413False
+-122-926.415905717889False0.18-619.75766.51953688816522484.68False-437.950155734\N438.12-685-783.8False-690.9124311752006-01-20 00:00:00-9.09716-34134.22-247\N-114-2.41False-438.587693802-118-903True
+101861.30727665474\N0.5-940.69-994.483940139\N971295.03\N-78.8186203997-602.64237.38-6\NFalse-875.7636072371993-01-29 00:00:00-26.8445-478820.148751993-08-31 00:00:00-831.14False-460.089051789746-674True
+62327.42958056656True0.35595.88-14.2948553671292-654\NTrue-17.0663108006577.69-71.73-63-976.07False306.3703088931996-07-19 00:00:00-73.26538\N-613.57-2532013-05-30 00:00:005-0.53False-937.539146764-35-804True
+-111-910.515217895\NTrue-0.59397.53951.086903994139402-678.26True699.860168055-716.73307.67-277510.66True\N2009-03-31 00:00:00-9.71442-178-137.01-372019-09-01 00:00:00536.14True-849.045297264\N-117False
+\N-275.324935923-298True0.01861.94670.998339123-857666\NFalse-10.6883505814664.29-816.64746230.89\N\N2019-11-15 00:00:0028.16563-8124.848652021-05-03 00:00:00-373.63False280.537098331-455-767True
+23-268.304585785-834True0.2-258.15610.921235482-753-542-561.47True\N\N-92.89587-439.67False\N2027-05-29 00:00:0065.65-198\N-143.324631998-06-11 00:00:0037-4.85False-988.67060215387700True
+6574.326003292621False\N318.91-725.163266044-198\N221.51True\N304.28597.53426411.96False-813.279293852008-10-20 00:00:0088.67548-165-544.62447\N-60\NTrue37.6182962345533-881False
+-78-104.576559212-635False0.36-246.29549.86134076227771\NTrue39.4929628293731.75\N-561-497.87True-948.34258372025-01-16 00:00:0095.3794856\N\N2015-09-28 00:00:00-714.01\N-234.618610957607-666False
+60380.760496327\NTrue-0.15630.31-972.291389543-745-50141.9False-972.869210524-773.58\N-482219.49\N-449.3491128282013-03-24 00:00:00-84.9\N\N319.884452011-04-24 00:00:00\N8.81True-875.340552021846-454False
+24-840.610608938\NTrue0.93-465.88-91.1995770131626-833387.92True-758.122152053226.61122.47520-941.36False\N2004-05-04 00:00:0026.89872\N991.49\N2013-08-17 00:00:00-119\NTrue-216.184752877-651-236False
+-2513.5241003589-457True0.31\N-46.3238087958-776633-381.9False449.48503443283.65-176.92-669268.5True-669.2531084692003-06-25 00:00:00\N-861-383879.845552020-03-22 00:00:00-891.53True\N90913False
+78958.070118749563False-0.03932.86-420.282736787-395-847293.88True-174.276261915.68664.59\N323.86False658.989580292015-03-31 00:00:00-74.52\N-76-542.14\N2013-05-21 00:00:0030-8.75True128.34970069647\NTrue
+-64422.651613865\NFalse0.15-729.19311.632259511352-350384.91True-543.285989209-43.74\N\N-966.08True-186.4675561571993-02-26 00:00:0079.2834762267.099211993-03-08 00:00:0081-5.79True722.974699464-725\NFalse
+\N-70.368405586999True-0.96-452.31-136.923620969-18125253.33True251.969707607-664.59\N-610845.86True-494.9224510692006-05-20 00:00:002.54204-638-787.52-6091998-10-04 00:00:0097-4.04\N729.5851174496226True
+16-783.891140146-908\N\N\N\N724-203-776.23True-446.389454862\N478.77-412164.01True-291.6518734892026-06-03 00:00:0091.35156935-726.14-8712028-05-13 00:00:0087\NFalse-715.09718553-635-627True
+126-839.382831568880False0.09-115.51802.460680645-808-308-17.57False961.196385851-702.63\N-305262.68False869.4042434172007-07-26 00:00:00-63.26-991837572.23\N2000-04-14 00:00:0081-5.31False-844.837967311453-514True
+26324.190402912360\N0.71-136.27362.56401395592786-653.93True-927.897880807-135.17-87.72-320\NFalse-647.4480130872020-04-21 00:00:00-37.35-34770-889.26227\N-39-1.7False846.873592825319721False
+103-515.906810126219True-0.63-906.76-361.566570339669712273False667.487185476-467.51507.35-18524.51\N-968.903084882028-12-05 00:00:00-99.65304\N-4.26-9542000-08-17 00:00:0057\NTrue35.0618770889-914\NTrue
+61-83.7031726819943True0.11933-8.54195840798-141-671-790.08True920.325874703233.3-2.09\N-181.7False679.9091905881995-06-20 00:00:00-7.21-624808799.24-617\N-113-8.95\N-89.9390901432-124-182True
+59-711.203737729155False-0.95606.48-12.4909876158-459-373.15\N-541.278610445-359.4681.68-231995.25True-782.1362121992004-05-25 00:00:00-2.44962-335-563.393522003-10-30 00:00:00558.03False\N956-883False
+-105393.660575165-902False-0.3578.73-796.068539785334353-321.8\N-435.976234186\N-439.14-153-300.65True\N2025-09-28 00:00:0099.45239-169484.033912015-10-18 00:00:00-128-4.6False-681.115482569594-698False
+-35439.677335098176True-0.77834.49292.325783422-562-317830.66False450.489287026\N346.73866875.34False-168.1088672152025-04-03 00:00:0014.39956-976-733.043742024-11-12 00:00:00626.37False234.433128859-433\NTrue
+88\N-689False-0.43-827.79797.327232188-258-396499.25True-264.778969461-637.18449.51805-355.77False-279.109554771999-06-04 00:00:00-13.92-901374-119.87-8981998-10-18 00:00:001041.45True-929.248353522-383717True
+-49120.980999331-789False-0.33-298.48-304.970605289591-953121.26False652.992650134-489.38432.27-137333.81True-790.5944818821994-11-09 00:00:00-46.99893168610.12181998-01-03 00:00:00-70\NTrue\N-916-688True
+\N-644.76525503780\N0.3979.96234.063891356479-258792.59True-360.586354228624.26857.75-513\NFalse980.2597650911993-12-03 00:00:00-33.46-220901-409.63-951999-07-02 00:00:00-69-8.29False477.19594845879-402True
+7-210.891443445-954\N-0.95456.07-7.45147879221-598394-660.09True770.222174657912.14-229.3189885.85True-50.41926086962009-02-09 00:00:0022.639163-271.14\N1991-04-06 00:00:00-116-0.43\N129.17251154-21-261False
+39-297.911160556-550True-0.08\N996.706121099-102-109-862.65True503.076481906-738.51-268.97629543.71False-514.7225754911990-07-17 00:00:0053.9546319-746.52-6272008-03-20 00:00:00-537.13True401.01730833882\NFalse
+29837.666159391711\N0.8-984.24-174.001150881-447-50691.84\N234.625846946-287.27-392.73-641-468.07True783.4741870632012-03-10 00:00:00-35.33179-224371.05-2772005-02-13 00:00:00-818.1True780.346827949-560805False
+-69896.093405295-163True-0.55643.29-116.572670759-939-262157.5True679.369551365-959.41289.09-703129.91False\N2025-03-29 00:00:0046.09916-273\N-9381991-12-12 00:00:00-127-0.55False610.368208616348401True
+19-387.419711493526False-0.49\N-564.850004138775172-729.94True\N\N179.64693-118.73False\N2001-06-05 00:00:005.81474-49-947.19-6322017-02-09 00:00:00\N7.97True45.8514442214-524-484True
+94857.277234342-185False-0.75-738.15-372.498112765\N-696-753.26True-675.565939803954.74757.29-771879.87True\N2023-11-11 00:00:0041.74878-145479.98-4772022-11-22 00:00:001-6.77False905.870107134-175170True
+48830.069918793-93False0.9\N483.119819798-819-26448.02True-431.931627761-522.32359.08929\NFalse781.9433841962026-04-29 00:00:0022.48353149122.76-4892013-12-08 00:00:0052-3.14\N-102.001930045587-164False
+-95\N963True0.26265.69507.010409303\N551-138.92False437.904685427-571.96-517.26251395.59True-476.175710092007-12-14 00:00:0063.15-816-29\N\N1993-03-04 00:00:00\N-4.44True-290.360123231-677-564False
+-119-517.26340193-784True-0.66-542.66216.124159084-386814-327.43False297.180742654671.3101.16411-840.36True378.9450530091996-04-15 00:00:00-16.5661112-606.561852007-10-01 00:00:00-47-6.29True229.202627009798-445\N
+81-798.895819864-500False-0.95\N579.327173526457\N880.55True-335.59995407187.14-733.91303-791.69True-175.4177785392014-09-10 00:00:00-65.14652-460-800.63-241999-06-28 00:00:00-111-2.33True721.142899405-257-842False
+-1974.8449141462-353True-0.33722.47-312.787807433-225554394.4False287.612817447902.8409.15-90-699.98\N430.1227185341998-04-15 00:00:0096.94-283-993905.76-613\N46\NFalse526.341947881-709-174False
+-128-38.6196039909815True-0.22-935.26-820.628167821868-328\NFalse255.325931768850.81\N-860-529.08False-16.42561864762021-10-21 00:00:00-72.36353-195-939.05-4652021-09-28 00:00:00\N-9.6True84.6177770292352567\N
+-66538.984401583295True0.44299.07771.861267146-265204633.73True-417.630130699-747.31-911.14-769600.91True974.3771858372022-04-10 00:00:00-22.15830-126-481.687682000-10-05 00:00:0029-7.34True-610.109283786962-854False
+-54235.93932742\NFalse-0.8-627.76-774.828859375-202\N-609.47True322.108021192\N175.86695329.14False304.4835666642027-10-13 00:00:0051.9932503-356.39\N1994-12-27 00:00:0089-2.07True754.377473603-283550False
+0635.128013668202\N-0.48\N464.369174764-803-43-6.04True30.9844402963576.55266.16971203.15False-690.0457897061990-04-17 00:00:00-9.97-69268413.8879\N127-7.37True-480.44189311289-840False
+-79\N688True0.48-725.75375.625633125959-47989.68False401.921097773-75.82-441.88-430-192.58True913.0195195612018-11-14 00:00:0012.46-498-265579.085572024-11-28 00:00:007-9.8False662.314463215\N-941True
+109509.988526076-611False-0.27239.9498.908756393207557-824.26True737.559191653.97238.72\N-802.07True\N1992-12-30 00:00:00-67.99-891115-699.547132002-09-13 00:00:00-89-3.1True5.48995088401698-256False
+57916.507503424533True0.41500.1-347.135338234-447153-102.9True702.303947264-201.54340.31-915853.45True\N2008-06-12 00:00:0068.265222903.5-6082014-05-23 00:00:00993.82True-379.47475169-34711True
+\N184.675766309127True-0.5580.47583.90027726588969380.53True-772.7270581509.61-611.7456774.42False\N\N51.77449-321179.73-4812000-01-21 00:00:00-51\NFalse-949.045039067266-131True
+-76\N-937False0.89-717.5-604.917593537-844-373-708.65False596.428765962-13.24-274.9-308-145.09False593.146412336\N-84.25-629337269.469852018-07-11 00:00:00-282.64True-987.633789716535-754True
+4823.2034921587\NFalse0.96-389.27-395.000805662293-734141.28False-750.038390141-128.36665.38901\NFalse612.5104145821997-07-04 00:00:0012.25-77667-558.252642002-12-19 00:00:00-1109.36False818.55441565462-577True
+2511.2939415472-650True-0.42126.17686.264289305550627-557.99True867.753547287-932.95-112.96-56509.65True-470.7969456512028-11-17 00:00:0025.15-692713-979.59-1602013-11-27 00:00:00\N-1.59True-524.472242301\N-685True
+\N\N-485False-0.85-807.58-724.23275025680428436.76False651.293591097-489.22-579.43-535-744.17True304.8905015512025-08-23 00:00:00-85.42-877525786.35-3272003-03-31 00:00:00-1247.93True-357.01137221-493-833False
+-62\N-375\N\N-639.51922.788229862-159\N\NTrue-795.643744516153.69-957.2240-292.3True-55.41800720462015-02-10 00:00:00-9.76-806787180.793012012-02-15 00:00:00-95-7.26False-938.337700987-202584False
+-98-314.578702205-706True-0.66\N-280.48263064995952488.38True-516.608330190.29752.92342384.09\N671.6201099822005-02-27 00:00:00\N112-944-47.02\N1998-06-15 00:00:001077.61\N-552.222905994\N950False
+-102-400.535358508-218False-0.67564.8-726.236854708-9816799.35True312.313018068-181.02-737.33-373787.34True683.410892479\N\N-93-148-254.58-7022004-06-07 00:00:00802.78True966.24189045818163False
+-34-321.994777048-870True\N632.92\N118-879406.51True-103.619130662-27.08\N-696499.46False705.4139179371996-08-06 00:00:0030.5168-530905.89-9482029-04-13 00:00:00124-6.22True391.480273883996-261True
+-20224.894381175-344False0.11612.68209.156023251-732821618.18False836.475042895595.26\N711770.25False-981.7552000742005-06-20 00:00:00-91388\N\N\N2029-02-02 00:00:004\NTrue-105.002526772921-917False
+70-838.601904145-77True0.58372.67323.27643438956-268950.21True733.753084138630.53472.27661-275.39True-961.3767142282019-03-25 00:00:0017.05\N92-993.24\N2011-03-07 00:00:00-95-5.43False131.612808294297-614True
+32315.938740672387True-0.33-41.37827.886988926306-708496.53False-976.644178414-182.66-601.92-118702.57False234.3013442241997-09-03 00:00:0078.95-933115-275.74-268\N\N6.05True-296.8437109-617\NTrue
+\N-785.678997763312False\N297.42169.39282145263364259.5False607.694739309252.55451.05-96-349.94False-505.0322820721998-04-14 00:00:0069.34-916-690-743.477262027-06-21 00:00:00-31-1.04True-599.499619524-691934\N
+-118-228.001513422\NFalse-0.76755.47-641.23125884383-983-455.67True-866.282329691-517.9535.2117675.11True-656.7359218852013-05-09 00:00:00-11.35-511-305-968.02\N2007-04-12 00:00:00-30\NFalse668.747005709596-878False
+78888.384738786-600True0.44-428.35-481.207287461-461-874-293.79True-788.743277628-365.12-675.16-844397.79False361.7141520991995-04-26 00:00:00-51.47-400-486672.98-6682015-02-27 00:00:00-35-9.78True867.260049634-22997True
+-84109.058941518-253False0.38983.23668.009837084210-336-522.09False-635.493752619197.55940.81\N-171.51True-485.5502421472029-01-04 00:00:0047.11-161483775.511232020-08-13 00:00:00-1\NFalse-497.79059464439548True
+\N-959.545420017-283False-0.99899.24197.148957221-12\N-480.98True721.897123044\N-436.27\N386.22True\N2002-05-07 00:00:006.46-834-151277.417652007-08-26 00:00:00-716.1True-123.452392209-773-494False
+\N-629.411780727-418False-0.3294.51-838.330464406-204781-879.31True193.087965703732.77-356.94-632-249.34\N-393.8334808362002-02-20 00:00:00-66.78558884103.08762005-02-12 00:00:0010-2.95False\N\N-199False
+-76-381.937265388-980True\N642.26770.698440589920\N275.56True-191.151040467-613.46759.95271-350.48False559.2342972182014-01-28 00:00:0049.63115-322-451.49\N\N73-4.66False-579.933184679-597826False
+-77\N876False0.39-267.52-806.000161349-914-866344.13False-243.736234718-39.28569.86-848\NFalse-256.9992922821990-12-25 00:00:00-16.74\N-837-141.315432009-04-15 00:00:00-93-5.48\N-977.959376807\N-86True
+-75-552.667499481738False-0.89671.4405.139504896-450\N735.3False327.453787096-586.16-452.07\N65.55False-357.4118976722008-12-12 00:00:0042.99-50239811.527851992-06-04 00:00:00-87-7.37False-252.847259412\N366True
+\N193.218285838843False-0.13-842.71559.061811344\N\N-908.92True691.68934502540.28-561.52-528-716.08True120.3809422091990-11-28 00:00:00-47.97\N-731534.31-4901996-04-12 00:00:0046-3.11False454.17710245586-510False
+104752.704978946-585True0.8772.91\N466-63751.57False-388.662168971302.4740.37654-3.47True-810.4871240752019-04-25 00:00:00-37.97832-169-498.16-4282012-10-19 00:00:00-113-6.35True-877.852769533\N-505False
+-49-898.73881647-48True\N-710.98\N486-323108.06False\N-937.53-126.03-890-517.38\N234.8642946211990-05-23 00:00:008.94-287-367-839.45\N2011-09-11 00:00:0060-3.76True\N-593-662True
+-63-63.2491717406-244True-0.35363.38279.768712824753-543-300.86True-91.9218758234-175.77\N799549.56True-440.9460722922027-11-09 00:00:00-41.6775803-886.17-8811992-10-24 00:00:00784.37True888.055404064-757-373False
+-8319.5013627683128True-0.55238.55\N319296-418.58True\N-792.37-119.05-470868.35\N784.3657382992019-05-24 00:00:00-73.04-571-535\N-4891999-04-11 00:00:004-9.4False-452.963734341-39446False
+-38-381.888315532-170False0.48685.23-438.544514244-170-676703.35False\N386.52621.1941494.92True776.0398743651999-07-04 00:00:0098.61-733640-314.048322017-01-15 00:00:00-15\NTrue\N-383-447True
+81-744.673331356-153False-0.82752.15-659.175337622-506-125-913.16True-756.94403929968.61339.02-579\NFalse642.0032064962009-01-12 00:00:00-9.02111-643-321.4\N2003-08-13 00:00:0051\NTrue764.482677\N-805False
+40-997.467226427708True\N563.53-732.936645422632-399-369.34True754.933730158-702.53990.95-244512.5False270.758194182012-12-08 00:00:0064.09\N\N924.417182004-03-12 00:00:00\N-0.24False942.942024886\N-997\N
+69735.266329944565\N0.68933.95-48.2462370395\N-357-476.09\N-420.718621742-774.35166.19-799-300.44False494.314505721998-03-17 00:00:00-34.03418298960.529312015-12-16 00:00:00-436.36True710.754129322283844True
+-94-406.291064103190True-0.36\N728.630653875-632693-605.63True697.721124494-985.77-162.56\N-468True-245.90868342001-07-06 00:00:0041.2895\N202.34\N2024-01-16 00:00:0068-0.14False705.153493241\N-340True
+\N\N-272True-0.62-676.61-188.841600998190\N-615.44True\N-995.93559.5842635.2True-996.9834537582013-02-22 00:00:00-40.32713-599602.485842010-05-17 00:00:0067-9.75False-985.890343987500611True
+112-539.475319824770True-0.02-587.59917.457307036221896974.7False765.479366248707.77903.88-747-740.77True\N1999-08-01 00:00:0099.08959267-119.93-7601995-05-11 00:00:001115.36True-260.505883086-265-865True
+39-582.006384477703True0.17268.82\N500168775.03False-582.26895781-888.15368.35-644571.26True744.2248917562021-11-29 00:00:0034.32\N228\N-1122015-11-27 00:00:0060-8.31False511.791545433938164True
+19-929.623921632382True0.19-703.39\N-49920\NTrue\N649.96-945.2112-966.27True-61.09142873872003-02-11 00:00:00\N696\N4895302029-03-20 00:00:0095-5.82False\N367584True
+-181.18391697247\NFalse0.15-582.11525.21368883-637862112.69True-673.892118037-338.72\N-928-470.77True-93.04214469162029-06-11 00:00:00-48.23-527\N-298.264782008-11-30 00:00:00-102-6.56True582.210318506624-464False
+60\N-282True0.67281.26-410.327590938621-243177.83True3.18510874562-792.4169.75-979-561.64True-659.5631291682023-02-28 00:00:0059.55613-5-844.86\N2019-04-17 00:00:00-79-4.65False-418.89241078671315True
+21566.47395912\NTrue-0.59-422.72107.602717063618-639-798.2False75.3646304216602.2928.06-182-278.5True520.2560877322028-03-14 00:00:00\N441-382222.898062023-03-02 00:00:0088-2.85False\N-167858True
+-93-185.423882536822False-0.79275.59632.174761299350471-332.25True-311.610627147-849.24-927.87141976.81True\N2004-09-17 00:00:0063.017892765.854342019-09-17 00:00:00\N-2False892.403465908800\NTrue
+22-731.611681067135True-0.76-466.69929.566028569-187-710546.3True53.5841574435\N-837.39-75\NTrue133.9496871061997-10-08 00:00:00-14.9314-54-971.42-2772029-04-13 00:00:00-394.41True446.170513053188795True
+84-299.140476743-291False0.04-536.32-422.793829715\N927-586.69False949.508047978-19.714.33968594.41True-876.6306660182022-04-18 00:00:00\N-786-252324.3-3551990-10-15 00:00:00-128-2.95False-482.726674787-272122True
+-83420.107403158-526True-0.06625.87819.717100422\N986841.62False-357.228141379\N-189.76-2649.6True-854.5881764352004-06-01 00:00:00-37.52-907527847.3\N2017-01-16 00:00:0086-9.74False-419.669903113-787238False
+-113-823.959686806-23False-0.96294.39-272.977714351341645-756.5True-351.75941655-524.3-883.45-487-144.57False-18.77173941282008-07-18 00:00:00-55.43-283809-992.331792005-06-03 00:00:0031-9False850.722960024\N975False
+-77-326.807413728-934True0.55-331.37\N288962-445.57True-554.33571575-995.76-887.89-211-900.91True970.76030801\N95.52456-125-391.53242011-06-03 00:00:0097True545.823596728303109True
+122867.876952247876\N\N-410.15-644.463859212977477667.1True215.444937665-128.64\N703676.98True\N\N-10.18694-819-536.024161998-06-18 00:00:001091.75False-905.807672483979-240False
+119681.499782742-376\N0-456.03127.048560775\N100-316.45False-855.214465992-255.79\N-759\NFalse176.0740661832012-05-23 00:00:00-52.818559998.46492005-12-26 00:00:00-41-6.76False582.521271471-517-57\N
+-113641.439290268603True0.93295.86\N769-960350.89False356.092767283-644.57254.68-458-20.62True245.5526252922007-07-04 00:00:004.77-854\N705.668402006-10-26 00:00:00344.35False-846.203951049311-832True
+-122833.891883994-603True0.62893.98-875.162675255311-440-137.9False-684.742946947234.16926.06-20-930.93True395.208536382000-06-03 00:00:0035.53-192-850-288.33-383\N34\N\N-78.0330219339-391-161True
+-104-666.360544469151False-0.31247.5710.3955414097-358591\NTrue886.835739136239.27-189.3-387-460.65True366.1664102552001-03-26 00:00:0074.2459692-221.78891990-07-22 00:00:0012-9.65False-204.942279601787610True
+35-896.131716921-498True0.59-612.29146.084987636763802\N\N-573.619065095-964.49-919.15819-878.11True\N2021-04-03 00:00:00\N-151683321.66531990-08-10 00:00:00-13-9.66True526.216123443164365False
+-12\N-88\N-0.3248.6570.985686096-949730429.3True-278.945009717-268.36\N247779.76False-630.1168417522029-10-22 00:00:0023.5-520151-241.726132028-11-03 00:00:00-67\NTrue-420.63951994-756634False
+21-510.609966434275False0.14-27.44-219.05210641-100341225.72False-776.075586469946.89450.71-236883.52False-496.601660212016-09-28 00:00:006.85987-178-939.18-5082025-03-17 00:00:00-982.75False665.714209057179925False
+-56-759.042484996-870True\N-564.32438.126599358-797-3277.56True-811.500257504168.03-936.82964107.78False268.4441859482019-12-29 00:00:00-44.7-446-635-153.36\N2021-12-29 00:00:00-90\NTrue\N625\NFalse
+-18692.687289266673True-0.56548.65-391.175892034691199884.77False-19.7912717427869.14-564.17\N603.84True\N2004-04-06 00:00:00-39.78\N55-665.887672017-06-11 00:00:00-276.18True824.015012276649-559True
+-48900.938879862-205False-0.1815.63-705.61595089662\N-345.94True950.331590023\N692.43-509-575.05True20.5583178342011-03-28 00:00:00-90.67-616131258.76311995-07-08 00:00:0096-2.62False-152.809591906230-63True
+14770.95207711521False0.89445.14\N479865-72.45False428.533150988428.97-667.94-46759.88False411.175626474\N-24.19-86841-882.01192\N-51-6.02False56.6664814029\N-598False
+50\N133True0.45\N13.5433161364118\N-174.16True9.7993007957288.57-804.81-282789.59True-902.5094250542009-03-22 00:00:00-82.39\N699944.616511993-03-05 00:00:00119\N\N634.37859701-673664False
+\N\N530True0.61-495.36-167.069939607-80341222.85False279.963326405-111.58645.5389-751.88True-961.4629299862014-07-03 00:00:00-38.46-80361417.4-582007-02-03 00:00:0035-5.06\N-283.512074503\N742True
+-20-970.50064988-441False\N159.52156.383191966704-816606.11False-947.439740628205.56155.57-67624.5False-453.8481770931994-02-07 00:00:00-40.58-238-470-586.82-275\N23-4.01True16.141604479-98-533False
+-22377.754431667-186True0.64913.48\N930205-670.55False-980.686458257798.2269.06\N-956.02False-341.5040686172028-10-31 00:00:00-93.32-880\N804.78\N2016-12-02 00:00:00-502.49False\N-781416True
+\N281.900523997-640True-0.12871.2-627.577454458-529595-499.23False-381.11104035-448.55111.95-603655.24True852.1244513772011-04-22 00:00:00\N924-774-566.817482006-08-28 00:00:00-6-8.02True-16.5244312401464-812False
+-6534.6077842204760False-0.8736.86-718.996666247\N27739.15\N-25.8635037465-213.39-989.8-316-415.16\N224.08338902\N-65.08\N-688687.92-1682019-03-29 00:00:00-119-2.44False-80.0767099545113-566True
+39-613.497845656693\N-0.97\N-355.176080347700-502-453.5True555.087190855736.97-764.24\N-99.74True-419.142390522\N-43.57785-659-685.995142023-09-10 00:00:0070-0.92False-914.649275672-818\NFalse
+1253.684545855320False0.82\N-906.474425633542206-278.69False-598.48263951-383.26175.5-994-771.08\N481.8228449542024-05-08 00:00:00-23.58-670256-567.77-9162008-04-16 00:00:00-1005.46False547.082605791313212True
+-48-506.303725858\NTrue-0.26-968.0956.3680226366173394161.01False-830.545330936-409.16-418.96752-617.8True480.7028086722006-08-10 00:00:00-81.42\N\N6.92-2222006-12-03 00:00:00-539.82False-295.060816579563794True
+1609.534083028929False0.1363.29525.187490352441-653856.51True-880.011264222-173.65\N\N168.03False-374.0259005752023-01-30 00:00:0039.09-616-651-449.41072029-08-16 00:00:00-2-8.55\N\N-193155False
+105264.199067359-862False0.24-939.51-131.554064758494-718-879.65True565.42427678534.73-71.37595-395.99False892.3985718732007-08-31 00:00:00-73.69435957\N8312015-03-30 00:00:0014-6.96True-200.49240726155-931False
+-16\N792False0.1224.06218.148382294113533\NFalse89.9434593969751.38-955.920642.04\N-216.2995322092016-11-12 00:00:00-58.9-200-558-988.54\N1990-01-16 00:00:00736.14False862.53406527-193-98False
+67924.41961328-534\N-0.58485.86\N243639\NFalse817.055787141-984.72-284.23926149.97False-2.623258568372010-09-05 00:00:0062.53-628-270366.65-6672011-09-11 00:00:00145.36False-227.01706138\N-260True
+-109-795.590604259\NTrue-0.21523.52\N225-172-336.01True848.653268569-75.44-368.79169-35.67False30.19045590622029-07-24 00:00:0031.59650-500\N7312005-09-07 00:00:00-647.82False-142.082678625-689-305True
+91263.074692382-22False0.88707.11-329.037864787-493\N34.56False\N-804.23-415.28-534-59.35True-936.0281683342016-05-08 00:00:0070.05-218\N105.45891991-10-26 00:00:00\N-9.13\N\N960390False
+\N-439.872276798-288False0.67-175.5936.3369271483\N592-529.4True\N-697.63343.08442-433.07True-159.4950968192003-11-13 00:00:007.33691-856620.023532006-04-30 00:00:0031-7.95True407.730567239-861-690True
+71701.996335686-589\N-0.41\N896.072581416-599\N-827.1False-441.148529684-143.13448.62-530-40.03False928.6128303832009-05-19 00:00:00-98.87555385-236.639811993-11-21 00:00:00494.25\N-544.20894221720-679True
+118\N-683False0.45927.17961.297666281-330-272-416.67False805.659425504-756.1529.07549184.38True\N2015-09-10 00:00:0011.74-573965-731.9-8562029-05-27 00:00:00\N-8.24True32.8793768419731-556False
+-48-974.096434509738\N0.93310.81\N382-275\NFalse265.271253008854.66370.16860-16.07True96.48543669441992-04-07 00:00:008.17-428-511\N-1322019-05-12 00:00:00\N-7.78True425.121344155724-17\N
+117824.505922692-763True-0.83-773.7762.4591420193-115-132-295.16True\N-724.7258.95-992-363.5False-64.83542744472010-06-03 00:00:00-12.46272921550.78-5351993-04-24 00:00:001152.03True-810.276555356-167-645False
+-34\N497False\N315.73\N\N-623456.21True-244.996329325146.75265.02-177850.63True645.676568497\N71.6559859-139.238352002-02-16 00:00:00-297.03True732.670914009944445False
+-58997.00854787839True-0.57658.11417.501338507494\N-784.36False\N-215.38-649.5222118.19True-197.7360789172013-07-14 00:00:0022.34-579197-771.172702021-07-30 00:00:0065\NFalse628.975575344-875-226\N
+-28-256.133445275\NTrue0.04-335.41842.607360049\N-692-172.49False535.92454536874.76-2.5984464.36True-641.0121631382017-10-02 00:00:0091.46728642\N-4842009-08-25 00:00:00\N3.78True525.279447626-582\NTrue
+-21-743.350277036\NFalse-0.17-424.72\N58622538.64False\N694.34-344.27-893-352.78True-410.3619008232009-07-06 00:00:00-61.837282-843.694822024-07-09 00:00:00-71-1.18False637.937107145\N598True
+47-577.762131501\NTrue-0.83-365.41839.633773107258-41-741.19False389.18437199661.57664.72-987\NTrue465.1380230352007-03-04 00:00:0044.85112783285.3-539\N323.58False-245.128640691\N297False
+17-192.317254795-173False-0.76-76.6754.0606352563-739259199.7False-310.587230116-516.67-715.28813-596.85False-435.9176147442017-08-12 00:00:00-65.85-661300-457.29-5282016-07-19 00:00:0023-4.95False-269.984768361-157-623True
+76379.594613723-385True0.52\N-442.052920887335-231-327.05\N-324.169623631-922.02396.64949703.39True522.0779251012000-06-03 00:00:0059.13-125-980919.33-4082029-03-06 00:00:00383.44False-139.84242735-492628True
+-60872.090107537940True-0.58-915.06596.220272512-451538559.78False519.535476623-963.97658.41-123-108True751.078387312027-12-31 00:00:00\N590356247.43792023-07-19 00:00:00-94-9.33False2.371432821961000958False
+-29732.591801246561True\N-602.18-709.805295736\N96848.13True-574.765005695938.81692.06426320.98True-767.1728240182029-03-03 00:00:0039.83571-591-402.29-7572009-03-09 00:00:00755.03False\N-968709True
+72-801.279296505-299False0.76498.75312.941497739197-309805.06\N-631.756991514-849.44-346.23273-845.13True-770.978517162027-08-24 00:00:0085.17-516984-58.82-8572018-05-19 00:00:00\N-9.04True514.096180894\N-120True
+-11-46.9675949228773False-0.49-712.54\N886-788-84.01True-746.381647935-597.67595.13995313.44False-465.5345148052007-06-06 00:00:00-53.73493-689441.347112000-10-20 00:00:00-88-7.17True-46.4857905049-684795True
+-61-715.984424625534True0.08-686.52877.917932223-741454-69.28True-901.423311711-628.34-784.04-555\NTrue737.9613876362027-03-23 00:00:00-77.19-39365388.97-8281991-01-04 00:00:00-821.97True208.00598967-749-775True
+94674.737037218343True\N406.08440.199672481\N294-746.71True-157.869927601-516-763.8612\NTrue685.4143349782001-04-20 00:00:0083.26-506-138-41.68-5192005-04-12 00:00:00-804.66True-401.972527422\N664False
+-17-78.3903830984-613True0.797.73-59.6288672729-62118-595.93False63.2788928762\N\N-745452.5\N-777.6031275612017-05-15 00:00:00-34.86680819-700.02-8192002-10-09 00:00:00\N1.23True191.232276836560398False
+2866.654352512538False-0.55107.16-114.377343588442348423.29False925.715656145\N-462.07-675183.78False867.1957551552000-07-19 00:00:00-0.33394-643-360.65-8772024-05-01 00:00:00149.19False191.398906417-191140False
+118596.350025764\NFalse\N-785.49-824.217204948-87-465856.2\N-82.0661116213366.07\N-332-837.07False-871.0815120352011-08-19 00:00:0099.21675757742.58-6282015-08-25 00:00:00-25-7.35False-362.520135088\N-45False
+40943.238966697551False\N502.65780.321571024880-205-358.35True-2.37452571292\N903.16\N-834.21False-274.3031526952010-10-19 00:00:00-42.97412239-793.68-3521991-07-09 00:00:0093-6.28True-416.954195172\N-860False
+55274.187993791-102False-0.91-138.62-294.736528753-245-990-957.59\N\N78.69321.36455\NFalse237.5650308522015-02-01 00:00:0029.74577841-582.63-930\N\N2.58True-848.083822212-125877False
+78-615.131694681-774True-0.84-939.53369.950611102\N\N193.64True-502.45843502-247.23\N849\NFalse145.1989307022028-06-24 00:00:007.22-449\N560.07-9462023-05-27 00:00:00112-8.84False-637.528729956-424656True
+5870.589873036484False0.63218.25-471.104815189-209-540356.82False178.40631629620.79\N968\NFalse-759.2226671142022-05-16 00:00:0065.98844378672.583262011-04-07 00:00:008-3.63False268.741696097-138384False
+38192.384158372-79False0.39-453.93614.256793424-629-614385.81False-327.070616736-987.28-231.8966-357.65False\N2005-07-03 00:00:00-38.09-65678578.3\N2008-11-16 00:00:00-127-7.32False-693.774973753-49-955False
+-106149.044698639112True0.79-68.9537.808157227-654157652.15False-348.146455494\N831.88\N454.68False-262.0565852082006-09-15 00:00:00\N-949-39-898.84-9611999-02-02 00:00:00958.32False-545.65751705-842-249False
+125-356.082077095-10False-0.59-892.34975.844538488-259-515762.77True981.184954575937525.24-881-831.31False-474.4164733822007-04-12 00:00:00\N-403477-521.01-5202013-02-10 00:00:0081-5.69False279.56126782362648False
+28-776.094767836599True0.91529.09759.778740425-254683-521.28False-546.529792054-294.8-137.21-751-599.94True-393.768572709\N-70.23-29861\N9312028-05-29 00:00:00\N3.51True493.215004963-794-20True
+\N-673.783986169\NFalse-0.77677.19\N-981-232-52.92True\N407.58-278.31-577-986.6\N-163.5269916181994-11-15 00:00:00-76.659-373872.79\N2017-04-14 00:00:00-374.6True-89.4226878794-256-479True
+-47259.570254218487False-0.05-985.55-495.257605381393127286.34False-527.76171431-748.4365.39708998.74False-366.2925912491993-10-25 00:00:0016.12\N994613.032441995-02-08 00:00:00-391.97False666.514124045-549275False
+12752.8391490883-134True-0.8-219.41\N17231588.11True-593.349850597-630.83\N790275.84False-450.4749062832023-11-29 00:00:00-79.51-275463491.63-5732007-10-15 00:00:0086-7.09True101.612015789-610632False
+-54591.633218963506\N0.31-473.07-515.653913669-589707-708.13False583.847326782-803.57324.9452\NTrue-882.8885538282012-03-18 00:00:0054.81-98\N213.812061998-06-19 00:00:00867.26False500.576231447723-273True
+-27832.182375882-927True0.01-980.39897.862328157-373977-757.54False-225.711438015\N728.13-118361.26False574.2906591732026-08-01 00:00:005.18256927\N\N\N425.54True532.045187855904784\N
+111-734.670487199398\N-0.74\N\N401471-739.96True-270.231896139\N861.58-62919.95True841.8509499012005-05-29 00:00:0028.52-856673965.272362006-02-01 00:00:00-671.19False436.69026698458-695False
+-33627.763874863-65True0.9-8.36818.928780236-158144932.36False-152.884609053180.0686.4\N-732.89False423.4813913392027-09-12 00:00:00-86.15-708972-951.69-9342018-04-22 00:00:00\N\NFalse-41.7355179417-303-921False
+81-247.093447175344True-0.6567.75-924.81941461559-906-865.04False-165.912450788-416.89680.42840\NTrue719.6143370842018-12-04 00:00:0045.87552-815-210.571502021-10-21 00:00:00-121-4.32True-702.290770217-184-425False
+\N-293.983202645\NFalse-0.31-579.35-897.989150668-268-890281.26False52.9638081272\N-54.67837-78.38True-936.8595197792004-05-18 00:00:009.95157347-856.57-6852000-03-05 00:00:0057-8.26False994.640580641-937188True
+-58-272.291909308595True0.6596.24991.863147497\N-478758False\N-691.24-643.67820\NFalse18.78852571772026-12-08 00:00:00-2.24\N\N975.85-3082028-03-29 00:00:00158.21False-426.292715789187561True
+-102-248.436334184-423True-0.09-137.89-93.3997368384\N905415.42True\N313.08-777.3-505-696.77False842.6921293541998-01-13 00:00:00-67.09-534-904541.79-4062018-06-21 00:00:006-4.05False\N40675True
+-112-26.6791005959-19True0.92331.71864.889903317820-978\NFalse-378.624097255731.5-29.6595989.39True940.2995816022002-05-06 00:00:00-22.71\N\N237.16971\N\N8.09True\N\N344True
+-25807.754718916-360False0.05480.44\N901846793.74False-323.986713744-355.66-379.74\N144.03False30.35505808412029-01-13 00:00:00-76.89525-527360.559502024-05-28 00:00:00\N5.55True-401.050529171442\NFalse
+-54-922.967711765-250False0.84808.66-757.19849738763-888-313.34False-884.238245188-590.49211.44252\N\N873.9133456942007-02-18 00:00:00-45.56\N7656.21\N1993-10-29 00:00:00-838.56True687.12181908263-204False
+16\N720False0.19178.01360.71419544744-183194.87True-435.189567167\N619.91-809150.39True-67.99843062771999-05-10 00:00:00\N991-259\N-3882018-01-17 00:00:00-892.3True149.79505368180-114True
+-98270.116464937-529\N0.11485.77285.378354377455252239.53True118.228818557762.52-181.14258-363.94\N-217.0342104052003-06-06 00:00:0094.88117-81965.78402019-06-25 00:00:001058.42True-815.229913036-872-339True
+-57357.702223193-829False-0.21970.9\N-561238446.77False-53.956856256916.05-424.93-152-262.69False559.6506224112012-09-25 00:00:0092.83357-108-603.67\N2025-01-03 00:00:00\N7.04True727.927174948-807-74True
+122809.812436477206False0.9363.51\N-736-130924.53False58.4308402386-743.76451.02-662416.74False\N1995-03-14 00:00:0093.51-172-564622.21\N1999-09-11 00:00:00-1154.83True905.022246494943-498\N
+35-91.8219035728-783False0.52-481.86\N\N-800\NFalse374.544376259-65966.84221363.92False-777.1773739391993-05-19 00:00:0027.07-85-64-482.3\N2002-12-13 00:00:00-57-6.91False104.61567688-294-840False
+99\N\NTrue0.37454.5512.5863279863149-941-840.34True-430.75657150588.38-644.0981421.2True-27.3391877789\N79.03-76744-222.69-1212000-08-18 00:00:00\N9.41True-883.677567331818643True
+-6944.5342680864-540True\N-655.9-832.600668781-380895-478.25False522.186711858\N-869-561-499.87False182.196635868\N-30.45296-655-634.25-334\N242.76True-972.521395177\N-26True
+23-110.610287373-57False-0.13-741.97467.775179185877834\NFalse277.728282091-795.76-113.18319\NTrue239.8604465852003-06-24 00:00:00-82.56463-77-141.19-2491997-05-31 00:00:001253.17False-556.145091019744127True
+-26936.843896354905True-0.35-52.12-507.42854086874\N\NTrue925.893148258694.3899.43311-79.25True573.373524849\N-56.56-411993-689.25-8092021-03-29 00:00:00319.56True-717.394078589707415True
+-15-16.5759503166722True0.3847.74780.807995764\N-877-564.62True589.876512739-264.52-159.76\N682.95True-481.9794958952026-07-16 00:00:00-37.32336472-726.433912019-02-12 00:00:0083-8.8True129.783525347976\NTrue
+106590.88263882370False0.65-270.89334.400552257397-639325.73True932.41349938-599.22494.76-510-774.45\N427.0853715062005-10-16 00:00:00\N-988955523.68-7082013-03-01 00:00:00-875.68False389.320947265229-416False
+114520.850598266\NTrue-0.98-79.15\N139\N939.38True674.027032778\N-279.05166-373.31True811.2626027472003-06-17 00:00:00\N-162-647-845.958161998-06-20 00:00:00973.2False-901.921045511-141-525False
+108714.980281889303True-0.09481.48-770.454262099-84-165973.95True-754.971158369-94.81582.838091.06True726.4520243862004-10-21 00:00:0010.7\N-88264.421991995-05-08 00:00:00-60-6.09False976.275679066464718False
+-64-330.847813097-519False\N-612.48617.148692721-534946-836.87False276.478916741387.74501.97807668.06True456.7917281422021-12-24 00:00:002.73984331811.38-2342002-11-13 00:00:00112-8.1False-346.313239693687-751True
+46801.139889992904True-0.72-346.65-747.793640998-411\N-412.57True-137.973651729567.89-455.55143\NFalse94.9672931658\N-9.73374\N-31.99-7082006-01-29 00:00:001098.03False391.659902744394-50True
+17-56.5899195598-57True-0.63-266.64774.030927044-321-968-534.1True502.796262293-317.1932.25-340730.48False-95.85446762072007-02-27 00:00:00-50.28\N-636781.75\N2014-12-11 00:00:001160.32True325.98626836381-281True
+-9539.72749318830True-0.65-745.23343.175166714604471-651.81False903.969478648522.49\N594-916.11False\N2023-05-03 00:00:00-51.44624-511364.19-9921993-02-04 00:00:00\N-8.31\N-616.232541595-425-269True
+-69\N-831\N\N683.12\N39445039.18True-726.871670945-81.85\N-7549.44True-884.5101454181996-07-20 00:00:00-5.17782731-827.245462002-06-30 00:00:0037-2.31True180.077817385348-152False
+125-620.5381504-818True0.86-853.15-653.86046604-5152-665.28False-339.215243157779.29-119.09-819213.73False588.5119305672019-07-09 00:00:00-54.44316772-364.045912027-03-22 00:00:00205.7\N-968.436512339-922\NFalse
+-21406.251805053241\N0.52480.47-430.42409661-666-248690.53False36.2002483585-964.31-934.95976373.1False-867.7978335792027-05-08 00:00:0034.16280360-74.37-821\N794.61True582.560779947-95-114True
+125-918.85561219\NTrue0.24918.59\N-340450540.74True341.689090128\N306.93-99930.53True-952.0451174222008-04-25 00:00:0065.69890-187-996.11922020-05-19 00:00:00-86-0.52True34.9704736148-128784True
+53586.029793346165\N0.98-118.87381.773032109384-331-201.63False930.279704336-194.86-915.67-121940.13True-357.9630573012023-08-28 00:00:00-94.93-62042632.242561994-11-21 00:00:00-74-4.1True829.883242547-69119\N
+18\N385\N0.61-777.04-772.08365030927912129.87True838.6744464-943.76-878.02-933699.76True878.0932164342028-09-05 00:00:0062.35-519\N\N9322027-06-27 00:00:00-18-4.86True999.400468214534527False
+-94361.854921696-703False-0.19-402.21784.492620772992988-105.19False-477.159072221-808.78-185.99745-413.32True789.8599511992015-11-19 00:00:00-31.7-977-970-287.353182025-02-07 00:00:00\N4.77True300.54050711\N24False
+\N948.977310412382True-0.03-435.98-293.33505517851664-561.61True-868.124639924-534.79908.28239-276.11\N201.8785967362026-04-24 00:00:0030.14138-234-390.77-7662027-11-07 00:00:00\N2.6True-131.78435326-370-28False
+-109\N18True-0.38773.48\N-398-63783.69True-435.30976040337.39651.19973452.27True851.6779203711990-05-28 00:00:00-58.52538-4490.138902029-10-21 00:00:00656.58False699.937802368904-434False
+18-663.794339375-763True-0.45447.83-389.653554809-281299251.87True616.659731174371.77\N-526402.9False\N1994-10-06 00:00:0038.6-379-282-224.39\N1990-05-09 00:00:0012-6.99True860.867230099399-997True
+-119851.798679784-683False0.52560.4460.757009258654364849.97True-106.045780465\N\N590\NTrue-617.5935832412007-11-27 00:00:00\N-182677-715.011732012-08-19 00:00:00-919.14True261.990678429-57\NFalse
+8-439.071927203-128True0.4-85.73317.069226812102-144-170.21False322.6230538826.73-269.98-454495.38True806.239900913\N-85.35-713225715.5-2561993-08-17 00:00:00-1042.45True339.465335114-524953True
+\N877.979658468\NFalse-0.73-236.12-391.688396692759-642-550.93\N511.505763066-558.5-130.54-842-697.14True-106.9350673172016-08-29 00:00:00\N\N\N252.43-502\N16\NFalse-694.134467136-687-983False
+56644.629450515-76\N-0.05-964.28134.573657198-974-588666.76False\N-107.9848.56892-801.33False794.0022964661996-06-05 00:00:00\N-43-536350.56-8381993-10-06 00:00:0049.02True-492.617429189-983835True
+-66315.917952995430True-0.4-29.03222.63605456394888915.97True-301.329002855-72.0376.39-458919.52False392.7411461062005-08-02 00:00:0020.55964-318408.54841995-12-03 00:00:00-56-1True-472.160469576-806-536False
+-119597.089526308608True-0.46-21.76-713.833590785835336-919.97False95.9552781438-939.3-798.39-28-361.79True26.56395878932005-09-13 00:00:00-75.23-79292399.018221992-10-23 00:00:00102\NFalse133.995954213-587-646False
+83880.074325892495False-0.5619.22844.375757022-582\N-18.57False790.215011531-583.45104.58-14525.45False-162.3422141441998-11-17 00:00:008.18495-514-558.643332021-07-31 00:00:00-65-8.05True5.09078676204652-844True
+\N-586.346494819\NFalse-0.2262.35-678.76300731-291247814.59\N\N-73.88426-440342.93True-523.419579882008-04-07 00:00:00\N\N-60205.25-4152021-12-30 00:00:0066\N\N-671.502459292-965-861False
+108-273.270660121-783False-0.34-731.28-998.074969532\N\N-783.38True-613.9162999-594.24-791.4-753-398.64False-820.9781099121992-07-05 00:00:0055.27386-17-384.79241991-08-29 00:00:00-429.02False733.765583751-543-69False
+-39-289.368708462700False0.26416.18399.918765738128633957.37True-590.294462896-196.87905.82\N203.91False-607.2526429922016-08-01 00:00:0041.04440-13796.47\N2026-10-08 00:00:00-733.65True658.893140043987-571False
+110\N\NTrue0.21\N971.58473666784149580.1True688.868981763983.72602.13-941-871.99True28.98456322532000-05-17 00:00:00-19.89471277\N1152003-09-17 00:00:00\N3.95True-598.208751483194-844True
+-2-607.294664089\NFalse0.19-217.89-301.847847256-513-528314.37True776.56914844939.87154.0783191.91True-211.5779972411992-06-29 00:00:0067.24\N-726-121.46-3972021-06-15 00:00:001087.95\N530.287670454997-444True
+-45744.859699764-743False-0.66478.39-354.47575055237\N-12.42True53.318144767-319.23-263-386-557.59False277.0082339771994-10-24 00:00:00-4.31224-594-294.93-5221992-10-08 00:00:0076-4.76False580.991932312-366817\N
+48-116.110184465\NTrue-0.04-467.72400.803824023448-483-487.22False-932.556330004364.37-831.53354-643.89True273.8882623982019-04-09 00:00:00-92.43-297372-591.16112010-10-19 00:00:00\N-4.82False-773.159731135340-919True
+118113.627458257-626\N0.52676.86731.358866658416411278.94True145.214333222372.3855.12533-254.95False-217.0118190151995-11-28 00:00:00-7.47736947509.281162017-07-01 00:00:00-45-9.84True-736.064537112-143-75True
+\N719.716644617298False-0.1363.84-818.527464071\N172-69.5False-375.123544098536.23192.08500138.13False-595.6767999732002-04-27 00:00:0065.64174633496.69-1511999-09-04 00:00:0023-7.39False\N-133-451False
+-109-804.696404678-103False0.49\N546.342014387661444-879.44True-641.362328018876.67931.28886962.36\N595.8801910711993-08-11 00:00:00-33.02-419\N897.932162007-11-08 00:00:0020\NFalse-860.279346162-391901True
+92-463.63743061725False0.6528.1147.5246791535114-52345.83False-181.000423027-376.23-531.14738778.62False257.5037292312007-02-18 00:00:00-84.29104-763142.48-9832012-02-28 00:00:00127-5.26False-346.270329444\N-758True
+58-213.673846491322False0.44-845.07392.695830478925-465526.35True19.9976816997\N-846.51-950-743.13True-216.0782199432029-05-24 00:00:0061.83\N705-426.75-4591990-06-01 00:00:00-1134.36True-681.171039277-69289False
+-10-715.403581674358True0.99-953.77-517.770669384-644609-192.77False-649.642153133-350.32-287.54306-179.25False757.1512543191998-08-24 00:00:0080.7792-8689.46\N\N-614.92False-254.041604588\N200True
+3430.763158303-750True-0.64782.99-750.692146295-453854-548.32True-539.316556648236.68-995.9921-551.78\N998.8479419072005-05-10 00:00:00\N124925-418.29471996-08-31 00:00:00126\NFalse-154.109682652721528True
+-113-752.027422992387\N-0.1380.45-799.633498072-574102235.86True619.767879499597.46-305.6287897.11True-905.0902947332029-07-03 00:00:00-79.43165343-795.994092026-06-12 00:00:0051\NTrue-754.959424105691-591True
+-58-572.757994098539True-0.82621.34-703.85084435187974620.24False-658.44458988-565.08-179.99-763877.08True613.4650256991995-04-28 00:00:0086.58\N-269-378.14-1632008-12-05 00:00:00-17-2.55False223.281107029113835False
+\N708.918689293863True0.45\N0.135174754373-523-52-835.47False132.587944985603.5216.35-871-424.88True\N2020-03-28 00:00:00-6.59920679764.26-2492020-10-26 00:00:00-929.13True-372.277629902468586True
+-101\N689False0.27883.12-618.596652906911481571.75False428.536850563719.41687.55322576.03False446.5908492511997-12-16 00:00:0010.88601\N890.229832027-12-14 00:00:0093\NTrue467.845833622-762-628False
+59-401.427075246980True-0.44758.14-575.630868661938-627-567.48False927.10139228963.04109.2256-377.9True548.8010738192010-01-31 00:00:00-88.9\N-687-66.172612024-04-24 00:00:00124-5.11False\N693-421False
+18-635.564503446\NTrue-0.08543.23-439.45117992252\N-9.88True-204.817749623\N585.75\N344.01True-900.2626680621990-06-19 00:00:00-48.35278-433536.6-2481996-05-11 00:00:00126-2.66True712.072372553242-291True
+50-934.276155822\NTrue-0.61985.77751.100098153-350476-872.4\N-599.491398945629919.71461-816.03True149.392387535\N\N141-948147.5549\N70-7.49False-96.1264121614-278-738True
+-8-664.395520277-388True\N-241.43-897.650568638-726645-829.48True\N-598.68-139.85-175-383.62\N587.3990474611997-01-15 00:00:00-42.63573-953-390.833911995-04-20 00:00:005-6.72True590.53473224898-900\N
+82-7.4922582642-237False\N-551.53-400.356018815577-604445.71True-868.00057424\N-637.03-411614.8False-769.4490511262007-11-06 00:00:00-17.94-60-844-186.95\N2029-12-29 00:00:0077-7.42True\N-3-796True
+-1565.499078063-154True\N-974.03696.666524596-26389964.81False833.821767042\N-170.68-179-697.2True\N2022-05-18 00:00:00-87.69-9\N-234.86\N2016-08-16 00:00:00\N3.38True-313.906915865111-174False
+35-17.6306404486247False-0.29-934.75-579.927087144-865-11486.26False223.639213303287.58-325.63-249823.55True568.5209048322012-01-23 00:00:0040.31\N-666-608.21-3822004-08-21 00:00:00507.35False988.245046533844-733False
+-36-414.783830833146True0.06-444.05595.650216834593-14-687.86False-657.895493867-216.13\N-104710.15True-595.8907712662014-05-14 00:00:0065.59365-291-284.33-6811996-07-08 00:00:00109-9.12True-80.5467714047898-332True
+22577.094648865872False-0.5574.63940.72475823276580\NFalse-451.735417425538.62-699.67-937-31.25False-790.2842126692012-08-29 00:00:004.1691-204-162.08-4942001-07-27 00:00:00-15-1.04True-927.465041194-788-687False
+75\N784False\N129.72-466.070787104849-773258.47False975.731473155432.41-330.38631-679.57False-145.7667544052002-08-30 00:00:00-25.48-521-867\N-3772000-09-16 00:00:00-960.17True-41.0877016378689-898False
+47-736.309824859\NFalse-0.83-684.33-566.349622212-711-275983.61False\N-241.12-268.97-773555.1True282.9271484782019-01-05 00:00:00-82.49631-395\N9131991-12-03 00:00:001161.16False-924.377391192-975-144True
+-17956.080865151-595False0.09-249.88\N\N\N-758.46False327.791902054576.6179.89-34-910.52True-179.7813101712025-07-16 00:00:0096.77246534-947.85-6521996-06-06 00:00:003-6.34False-990.625095375-762834False
+64464.570325313354False-0.7895.85-695.931832355358-926-246.62\N599.786658831-332.344.65632-947.14False-441.2125936792003-01-08 00:00:000.14-813105-320.214271994-09-10 00:00:0053-7.84True770.82916504-591-231False
+-127-235.070468891134True-0.87135.94122.783724648-847-118206.18False-746.972979185-409.69978.96623-714.58\N\N2008-09-28 00:00:00-19981-281-307.1589\N223.95False583.048013853-263-161True
+5531.9625973431359False-0.79\N854.757013755-673-613728.84False464.672166339-290.06328.05161-487.42False-225.0105753951991-02-26 00:00:00\N-280-466-160.959702003-04-09 00:00:00-462.89False-204.589093975318-540True
+94\N548False-0.85-995.33415.695578924-96946-100.08True-875.293593682-980.61866.9322-582.46False459.8969265712012-05-31 00:00:0066.45-820521498.815592025-10-07 00:00:001106.65True429.522322863-345639True
+51\N-484True-0.47613.98-511.48588913-847-628-979.63False-410.845997998-281.51-205.96\N475.41False442.9387874272029-02-03 00:00:00-60.44-202-297-276.998682014-10-18 00:00:00-27-5.05True491.738700583\N845True
+\N-579.309000463196True0.99728.41-619.96846144-345748-353.15True-198.359153177277.69171.21-753-844.72True\N1998-03-06 00:00:00-10.18\N956-836.17-2642019-09-01 00:00:0028-7.09True327.947377364728-357True
+-3-160.294940235-810True0.94721.59-562.747490833815-91680.86\N751.116647483-73.24\N303\NTrue225.4790517442006-10-05 00:00:00-99.17133230395.65222024-04-04 00:00:00-1210.35True-303.495141291129466False
+46-728.075776833\NTrue0.46\N\N413-514\NTrue-725.513414123482.27807.91\N-27.01False504.1938900131996-07-08 00:00:00-64.34580\N-908.07-7191990-01-25 00:00:00438.29True-84.3246222297-96-661True
+-1458.209431520831\N-0.78-756.07359.57506578-337483\NFalse409.124741476-423.6638.73-441447.92False-529.6351693522027-10-19 00:00:0066.46277169-645.33\N2018-06-21 00:00:00\N\NTrue975.976464655-124618\N
+78\N95False-0.03-58.38690.718726697420220991.22\N439.29799376-740.66575.08-815203.77True510.1828697082018-05-01 00:00:0016.14-520-719-625.146902029-01-03 00:00:00-59-1.74True714.745680426935\NTrue
+-116-61.3963109732223True-0.82-388.31-30.0100100567-658779949.51True-407.667469929-940.61544.04751-202.87True778.361035915\N-91.91444-443646.386182021-07-07 00:00:00\N\NTrue501.435053734-601429False
+-125551.541877626605False-0.94944.53816.83530594381-158\NTrue-359.963235096-494.09-114.24-937-201.3True188.0278876562001-09-25 00:00:00-56.69576546-872.4-3982025-08-02 00:00:0078-9.18\N-15.629724539780\NFalse
+34413.01040887-256\N-0.8620.74779.934990949\N-363-404.53False-761.544655863450.93-131.62-689524.95False-907.7039252222027-01-14 00:00:0040.11408\N-496.35101994-10-28 00:00:00-1004.73True-411.039896428813-390True
+103-111.968205521610True-0.94-64.75-205.76791166395-300825.15False-324.5127

<TRUNCATED>

[08/20] hive git commit: HIVE-20009 : Fix runtime stats for merge statement (Zoltan Haindrich via Ashutosh Chauhan)

Posted by se...@apache.org.
HIVE-20009 : Fix runtime stats for merge statement (Zoltan Haindrich via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


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

Branch: refs/heads/master-txnstats
Commit: 78cbf147873752e7955fff37416edba372e2b69a
Parents: 8f57e25
Author: Zoltan Haindrich <ki...@rxd.hu>
Authored: Sat Jun 30 09:18:28 2018 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Sat Jun 30 09:18:28 2018 -0700

----------------------------------------------------------------------
 .../test/resources/testconfiguration.properties |   1 +
 .../java/org/apache/hadoop/hive/ql/Context.java |   4 +
 .../ql/parse/UpdateDeleteSemanticAnalyzer.java  |  10 +-
 .../clientpositive/runtime_stats_merge.q        |  41 ++++
 .../llap/runtime_stats_merge.q.out              | 194 +++++++++++++++++++
 5 files changed, 246 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/78cbf147/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 2610bdd..8a64121 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -600,6 +600,7 @@ minillaplocal.query.files=\
   partition_pruning.q,\
   ptf.q,\
   ptf_streaming.q,\
+  runtime_stats_merge.q,\
   quotedid_smb.q,\
   resourceplan.q,\
   results_cache_1.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/78cbf147/ql/src/java/org/apache/hadoop/hive/ql/Context.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Context.java b/ql/src/java/org/apache/hadoop/hive/ql/Context.java
index bb41e98..3004f9c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/Context.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Context.java
@@ -1093,6 +1093,10 @@ public class Context {
     return executionId;
   }
 
+  public void setPlanMapper(PlanMapper planMapper) {
+    this.planMapper = planMapper;
+  }
+
   public PlanMapper getPlanMapper() {
     return planMapper;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/78cbf147/ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java
index 7925151..d9483f8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java
@@ -536,6 +536,8 @@ public class UpdateDeleteSemanticAnalyzer extends SemanticAnalyzer {
     }
     rewrittenCtx.setExplainConfig(ctx.getExplainConfig());
     rewrittenCtx.setExplainPlan(ctx.isExplainPlan());
+    rewrittenCtx.setStatsSource(ctx.getStatsSource());
+    rewrittenCtx.setPlanMapper(ctx.getPlanMapper());
     rewrittenCtx.setIsUpdateDeleteMerge(true);
     rewrittenCtx.setCmd(rewrittenQueryStr.toString());
 
@@ -770,7 +772,7 @@ public class UpdateDeleteSemanticAnalyzer extends SemanticAnalyzer {
 
   /**
    * This allows us to take an arbitrary ASTNode and turn it back into SQL that produced it.
-   * Since HiveLexer.g is written such that it strips away any ` (back ticks) around 
+   * Since HiveLexer.g is written such that it strips away any ` (back ticks) around
    * quoted identifiers we need to add those back to generated SQL.
    * Additionally, the parser only produces tokens of type Identifier and never
    * QuotedIdentifier (HIVE-6013).  So here we just quote all identifiers.
@@ -808,7 +810,7 @@ public class UpdateDeleteSemanticAnalyzer extends SemanticAnalyzer {
   /**
    * This allows us to take an arbitrary ASTNode and turn it back into SQL that produced it without
    * needing to understand what it is (except for QuotedIdentifiers)
-   * 
+   *
    */
   private String getMatchedText(ASTNode n) {
     quotedIdenfierHelper.visit(n);
@@ -1096,10 +1098,10 @@ public class UpdateDeleteSemanticAnalyzer extends SemanticAnalyzer {
       .append("\n  SELECT cardinality_violation(")
       .append(getSimpleTableName(target)).append(".ROW__ID");
       addPartitionColsToSelect(targetTable.getPartCols(), rewrittenQueryStr, target);
-    
+
       rewrittenQueryStr.append(")\n WHERE ").append(onClauseAsString)
       .append(" GROUP BY ").append(getSimpleTableName(target)).append(".ROW__ID");
-    
+
       addPartitionColsToSelect(targetTable.getPartCols(), rewrittenQueryStr, target);
 
       rewrittenQueryStr.append(" HAVING count(*) > 1");

http://git-wip-us.apache.org/repos/asf/hive/blob/78cbf147/ql/src/test/queries/clientpositive/runtime_stats_merge.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/runtime_stats_merge.q b/ql/src/test/queries/clientpositive/runtime_stats_merge.q
new file mode 100644
index 0000000..e694101
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/runtime_stats_merge.q
@@ -0,0 +1,41 @@
+
+set hive.mapred.mode=nonstrict;
+set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest;
+set hive.support.concurrency=true;
+set hive.explain.user=true;
+set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+
+
+set hive.auto.convert.join=true;
+set hive.auto.convert.join.noconditionaltask=true;
+set hive.auto.convert.join.noconditionaltask.size=88888888;
+-- set hive.auto.convert.sortmerge.join=true;
+-- set hive.auto.convert.sortmerge.join.to.mapjoin=true;
+
+create table lineitem (L_ORDERKEY integer);
+
+insert into lineitem values (1),(2),(3);
+
+create table lineitem2
+ stored as orc  TBLPROPERTIES ('transactional'='true')
+  as select * from lineitem;
+create table lineitem_stage
+ stored as orc  TBLPROPERTIES ('transactional'='true')
+  as select * from lineitem limit 1;
+
+
+analyze table lineitem2 compute statistics for columns;
+analyze table lineitem_stage compute statistics for columns;
+
+explain reoptimization
+merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete;
+
+merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete;
+
+	

http://git-wip-us.apache.org/repos/asf/hive/blob/78cbf147/ql/src/test/results/clientpositive/llap/runtime_stats_merge.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/runtime_stats_merge.q.out b/ql/src/test/results/clientpositive/llap/runtime_stats_merge.q.out
new file mode 100644
index 0000000..02f2134
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/runtime_stats_merge.q.out
@@ -0,0 +1,194 @@
+PREHOOK: query: create table lineitem (L_ORDERKEY integer)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@lineitem
+POSTHOOK: query: create table lineitem (L_ORDERKEY integer)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@lineitem
+PREHOOK: query: insert into lineitem values (1),(2),(3)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@lineitem
+POSTHOOK: query: insert into lineitem values (1),(2),(3)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@lineitem
+POSTHOOK: Lineage: lineitem.l_orderkey SCRIPT []
+PREHOOK: query: create table lineitem2
+ stored as orc  TBLPROPERTIES ('transactional'='true')
+  as select * from lineitem
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@lineitem
+PREHOOK: Output: database:default
+PREHOOK: Output: default@lineitem2
+POSTHOOK: query: create table lineitem2
+ stored as orc  TBLPROPERTIES ('transactional'='true')
+  as select * from lineitem
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@lineitem
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@lineitem2
+POSTHOOK: Lineage: lineitem2.l_orderkey SIMPLE [(lineitem)lineitem.FieldSchema(name:l_orderkey, type:int, comment:null), ]
+PREHOOK: query: create table lineitem_stage
+ stored as orc  TBLPROPERTIES ('transactional'='true')
+  as select * from lineitem limit 1
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@lineitem
+PREHOOK: Output: database:default
+PREHOOK: Output: default@lineitem_stage
+POSTHOOK: query: create table lineitem_stage
+ stored as orc  TBLPROPERTIES ('transactional'='true')
+  as select * from lineitem limit 1
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@lineitem
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@lineitem_stage
+POSTHOOK: Lineage: lineitem_stage.l_orderkey SIMPLE [(lineitem)lineitem.FieldSchema(name:l_orderkey, type:int, comment:null), ]
+PREHOOK: query: analyze table lineitem2 compute statistics for columns
+PREHOOK: type: ANALYZE_TABLE
+PREHOOK: Input: default@lineitem2
+PREHOOK: Output: default@lineitem2
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table lineitem2 compute statistics for columns
+POSTHOOK: type: ANALYZE_TABLE
+POSTHOOK: Input: default@lineitem2
+POSTHOOK: Output: default@lineitem2
+#### A masked pattern was here ####
+PREHOOK: query: analyze table lineitem_stage compute statistics for columns
+PREHOOK: type: ANALYZE_TABLE
+PREHOOK: Input: default@lineitem_stage
+PREHOOK: Output: default@lineitem_stage
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table lineitem_stage compute statistics for columns
+POSTHOOK: type: ANALYZE_TABLE
+POSTHOOK: Input: default@lineitem_stage
+POSTHOOK: Output: default@lineitem_stage
+#### A masked pattern was here ####
+PREHOOK: query: explain reoptimization
+merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete
+PREHOOK: type: QUERY
+PREHOOK: Input: default@lineitem2
+PREHOOK: Input: default@lineitem_stage
+PREHOOK: Output: default@lineitem2
+PREHOOK: Output: default@merge_tmp_table
+POSTHOOK: query: explain reoptimization
+merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@lineitem2
+POSTHOOK: Input: default@lineitem_stage
+POSTHOOK: Output: default@lineitem2
+POSTHOOK: Output: default@merge_tmp_table
+POSTHOOK: Lineage: merge_tmp_table.val EXPRESSION [(lineitem2)lineitem2.FieldSchema(name:ROW__ID, type:struct<writeId:bigint,bucketId:int,rowId:bigint>, comment:), ]
+PREHOOK: query: explain reoptimization
+merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete
+PREHOOK: type: QUERY
+POSTHOOK: query: explain reoptimization
+merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: merge_tmp_table.val EXPRESSION [(lineitem2)lineitem2.FieldSchema(name:ROW__ID, type:struct<writeId:bigint,bucketId:int,rowId:bigint>, comment:), ]
+Vertex dependency in root stage
+Map 2 <- Map 1 (BROADCAST_EDGE)
+Reducer 3 <- Map 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 2 (SIMPLE_EDGE)
+
+Stage-4
+  Stats Work{}
+    Stage-0
+      Move Operator
+        table:{"name:":"default.lineitem2"}
+        Stage-3
+          Dependency Collection{}
+            Stage-2
+              Reducer 3 vectorized, llap
+              File Output Operator [FS_61]
+                table:{"name:":"default.lineitem2"}
+                Select Operator [SEL_60] (runtime: rows=1 width=76)
+                  Output:["_col0"]
+                <-Map 2 [SIMPLE_EDGE] llap
+                  SHUFFLE [RS_10]
+                    PartitionCols:UDFToInteger(_col0)
+                    Select Operator [SEL_9] (runtime: rows=1 width=76)
+                      Output:["_col0"]
+                      Filter Operator [FIL_32] (runtime: rows=1 width=84)
+                        predicate:(_col4 = _col0)
+                        Map Join Operator [MAPJOIN_48] (runtime: rows=1 width=84)
+                          Conds:FIL_36.l_orderkey=RS_52._col0(Inner),Output:["_col0","_col3","_col4"]
+                        <-Map 1 [BROADCAST_EDGE] vectorized, llap
+                          BROADCAST [RS_52]
+                            PartitionCols:_col0
+                            Select Operator [SEL_51] (runtime: rows=1 width=4)
+                              Output:["_col0"]
+                              Filter Operator [FIL_50] (runtime: rows=1 width=4)
+                                predicate:l_orderkey is not null
+                                TableScan [TS_0] (runtime: rows=1 width=4)
+                                  default@lineitem_stage,lineitem_stage, ACID table,Tbl:COMPLETE,Col:COMPLETE,Output:["l_orderkey"]
+                        <-Filter Operator [FIL_36] (runtime: rows=3 width=4)
+                            predicate:l_orderkey is not null
+                            TableScan [TS_2] (runtime: rows=3 width=4)
+                              default@lineitem2,lineitem2, ACID table,Tbl:COMPLETE,Col:COMPLETE,Output:["l_orderkey"]
+              Reducer 4 llap
+              File Output Operator [FS_22]
+                table:{"name:":"default.merge_tmp_table"}
+                Select Operator [SEL_21] (runtime: rows=0 width=-1)
+                  Output:["_col0"]
+                  Filter Operator [FIL_33] (runtime: rows=0 width=-1)
+                    predicate:(_col1 > 1L)
+                    Group By Operator [GBY_19] (runtime: rows=1 width=84)
+                      Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
+                    <-Map 2 [SIMPLE_EDGE] llap
+                      SHUFFLE [RS_18]
+                        PartitionCols:_col0
+                        Group By Operator [GBY_17] (runtime: rows=1 width=84)
+                          Output:["_col0","_col1"],aggregations:["count()"],keys:_col3
+                          Select Operator [SEL_16] (runtime: rows=1 width=84)
+                            Output:["_col3"]
+                            Filter Operator [FIL_34] (runtime: rows=1 width=84)
+                              predicate:(_col4 = _col0)
+                               Please refer to the previous Map Join Operator [MAPJOIN_48]
+              File Output Operator [FS_29]
+                Select Operator [SEL_28] (runtime: rows=1 width=424)
+                  Output:["_col0"]
+                  Group By Operator [GBY_27] (runtime: rows=1 width=424)
+                    Output:["_col0"],aggregations:["compute_stats(val, 'hll')"]
+                    Select Operator [SEL_24] (runtime: rows=0 width=-1)
+                      Output:["val"]
+                       Please refer to the previous Select Operator [SEL_21]
+Stage-5
+  Stats Work{}
+    Stage-1
+      Move Operator
+        table:{"name:":"default.merge_tmp_table"}
+         Please refer to the previous Stage-3
+
+PREHOOK: query: merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete
+PREHOOK: type: QUERY
+PREHOOK: Input: default@lineitem2
+PREHOOK: Input: default@lineitem_stage
+PREHOOK: Output: default@lineitem2
+PREHOOK: Output: default@merge_tmp_table
+POSTHOOK: query: merge into lineitem2 using
+	(select * from lineitem_stage) sub
+	on sub.L_ORDERKEY = lineitem2.L_ORDERKEY
+	when matched then delete
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@lineitem2
+POSTHOOK: Input: default@lineitem_stage
+POSTHOOK: Output: default@lineitem2
+POSTHOOK: Output: default@merge_tmp_table
+POSTHOOK: Lineage: merge_tmp_table.val EXPRESSION [(lineitem2)lineitem2.FieldSchema(name:ROW__ID, type:struct<writeId:bigint,bucketId:int,rowId:bigint>, comment:), ]


[16/20] hive git commit: HIVE-19995 : Aggregate row traffic for acid tables (Zoltan Haindrich via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/sqlmerge_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/sqlmerge_stats.q.out b/ql/src/test/results/clientpositive/llap/sqlmerge_stats.q.out
new file mode 100644
index 0000000..94d0ea3
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/sqlmerge_stats.q.out
@@ -0,0 +1,511 @@
+PREHOOK: query: create table t(a int, b int) clustered by (a) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t
+POSTHOOK: query: create table t(a int, b int) clustered by (a) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t
+PREHOOK: query: create table upd_t(a int, b int) clustered by (a) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='false')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@upd_t
+POSTHOOK: query: create table upd_t(a int, b int) clustered by (a) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='false')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@upd_t
+PREHOOK: query: desc formatted t
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@t
+POSTHOOK: query: desc formatted t
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@t
+# col_name            	data_type           	comment             
+a                   	int                 	                    
+b                   	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
+	bucketing_version   	2                   
+	numFiles            	0                   
+	numRows             	0                   
+	rawDataSize         	0                   
+	totalSize           	0                   
+	transactional       	true                
+	transactional_properties	default             
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	2                   	 
+Bucket Columns:     	[a]                 	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: insert into t values (1,1)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@t
+POSTHOOK: query: insert into t values (1,1)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@t
+POSTHOOK: Lineage: t.a SCRIPT []
+POSTHOOK: Lineage: t.b SCRIPT []
+PREHOOK: query: insert into upd_t values (1,1),(2,2)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@upd_t
+POSTHOOK: query: insert into upd_t values (1,1),(2,2)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@upd_t
+POSTHOOK: Lineage: upd_t.a SCRIPT []
+POSTHOOK: Lineage: upd_t.b SCRIPT []
+PREHOOK: query: desc formatted t
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@t
+POSTHOOK: query: desc formatted t
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@t
+# col_name            	data_type           	comment             
+a                   	int                 	                    
+b                   	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	bucketing_version   	2                   
+	numFiles            	1                   
+	numRows             	1                   
+	rawDataSize         	0                   
+	totalSize           	657                 
+	transactional       	true                
+	transactional_properties	default             
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	2                   	 
+Bucket Columns:     	[a]                 	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: explain merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN UPDATE SET b = 99
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN UPDATE SET b = 99
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-3 is a root stage
+  Stage-4 depends on stages: Stage-3
+  Stage-1 depends on stages: Stage-4
+  Stage-5 depends on stages: Stage-1
+  Stage-2 depends on stages: Stage-4
+  Stage-6 depends on stages: Stage-2
+  Stage-0 depends on stages: Stage-4
+  Stage-7 depends on stages: Stage-0
+
+STAGE PLANS:
+  Stage: Stage-3
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+        Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
+        Reducer 4 <- Reducer 2 (SIMPLE_EDGE)
+        Reducer 5 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+        Reducer 6 <- Reducer 5 (CUSTOM_SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: t
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: a (type: int)
+                    sort order: +
+                    Map-reduce partition columns: a (type: int)
+                    Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
+                    value expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
+            Execution mode: vectorized, llap
+            LLAP IO: may be used (ACID table)
+        Map 7 
+            Map Operator Tree:
+                TableScan
+                  alias: u
+                  Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                  Reduce Output Operator
+                    key expressions: a (type: int)
+                    sort order: +
+                    Map-reduce partition columns: a (type: int)
+                    Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                    value expressions: b (type: int)
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Right Outer Join 0 to 1
+                keys:
+                  0 a (type: int)
+                  1 a (type: int)
+                outputColumnNames: _col0, _col4, _col5, _col6
+                Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE
+                Filter Operator
+                  predicate: (_col0 = _col5) (type: boolean)
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: _col4 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), _col0 (type: int)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
+                      sort order: +
+                      Map-reduce partition columns: UDFToInteger(_col0) (type: int)
+                      Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col1 (type: int)
+                Filter Operator
+                  predicate: (_col0 = _col5) (type: boolean)
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: _col4 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
+                    outputColumnNames: _col4
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                    Group By Operator
+                      aggregations: count()
+                      keys: _col4 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
+                      mode: hash
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
+                        Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col1 (type: bigint)
+                Filter Operator
+                  predicate: _col0 is null (type: boolean)
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: _col5 (type: int), _col6 (type: int)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      sort order: 
+                      Map-reduce partition columns: _col0 (type: int)
+                      Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col0 (type: int), _col1 (type: int)
+        Reducer 3 
+            Execution mode: vectorized, llap
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: int), 99 (type: int)
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                  table:
+                      input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                      output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+                      serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+                      name: default.t
+                  Write Type: UPDATE
+        Reducer 4 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                keys: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                Filter Operator
+                  predicate: (_col1 > 1L) (type: boolean)
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: cardinality_violation(_col0) (type: int)
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 1 Data size: 8 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
+                          name: default.merge_tmp_table
+                    Select Operator
+                      expressions: _col0 (type: int)
+                      outputColumnNames: val
+                      Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                      Group By Operator
+                        aggregations: compute_stats(val, 'hll')
+                        mode: complete
+                        outputColumnNames: _col0
+                        Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
+                        Select Operator
+                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
+                          outputColumnNames: _col0
+                          Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
+                          File Output Operator
+                            compressed: false
+                            Statistics: Num rows: 1 Data size: 432 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
+        Reducer 5 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Select Operator
+                expressions: VALUE._col0 (type: int), VALUE._col1 (type: int)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                  table:
+                      input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                      output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+                      serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+                      name: default.t
+                  Write Type: INSERT
+                Select Operator
+                  expressions: _col0 (type: int), _col1 (type: int)
+                  outputColumnNames: a, b
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+                  Group By Operator
+                    aggregations: compute_stats(a, 'hll'), compute_stats(b, 'hll')
+                    mode: hash
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      sort order: 
+                      Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>)
+        Reducer 6 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: compute_stats(VALUE._col0), compute_stats(VALUE._col1)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 1 Data size: 880 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-4
+    Dependency Collection
+
+  Stage: Stage-1
+    Move Operator
+      tables:
+          replace: false
+          table:
+              input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+              output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+              serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+              name: default.t
+          Write Type: UPDATE
+
+  Stage: Stage-5
+    Stats Work
+      Basic Stats Work:
+
+  Stage: Stage-2
+    Move Operator
+      tables:
+          replace: false
+          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
+              name: default.merge_tmp_table
+
+  Stage: Stage-6
+    Stats Work
+      Basic Stats Work:
+      Column Stats Desc:
+          Columns: val
+          Column Types: int
+          Table: default.merge_tmp_table
+
+  Stage: Stage-0
+    Move Operator
+      tables:
+          replace: false
+          table:
+              input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+              output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+              serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+              name: default.t
+          Write Type: INSERT
+
+  Stage: Stage-7
+    Stats Work
+      Basic Stats Work:
+      Column Stats Desc:
+          Columns: a, b
+          Column Types: int, int
+          Table: default.t
+
+PREHOOK: query: merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN UPDATE SET b = 99
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t
+PREHOOK: Input: default@upd_t
+PREHOOK: Output: default@merge_tmp_table
+PREHOOK: Output: default@t
+PREHOOK: Output: default@t
+POSTHOOK: query: merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN UPDATE SET b = 99
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t
+POSTHOOK: Input: default@upd_t
+POSTHOOK: Output: default@merge_tmp_table
+POSTHOOK: Output: default@t
+POSTHOOK: Output: default@t
+POSTHOOK: Lineage: merge_tmp_table.val EXPRESSION [(t)t.FieldSchema(name:ROW__ID, type:struct<writeId:bigint,bucketId:int,rowId:bigint>, comment:), ]
+POSTHOOK: Lineage: t.a SIMPLE [(upd_t)u.FieldSchema(name:a, type:int, comment:null), ]
+POSTHOOK: Lineage: t.b SIMPLE [(upd_t)u.FieldSchema(name:b, type:int, comment:null), ]
+PREHOOK: query: select assert_true(count(1) = 2) from t group by a>-1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t
+#### A masked pattern was here ####
+POSTHOOK: query: select assert_true(count(1) = 2) from t group by a>-1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t
+#### A masked pattern was here ####
+NULL
+PREHOOK: query: desc formatted t
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@t
+POSTHOOK: query: desc formatted t
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@t
+# col_name            	data_type           	comment             
+a                   	int                 	                    
+b                   	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	bucketing_version   	2                   
+	numFiles            	4                   
+	numRows             	2                   
+	rawDataSize         	0                   
+	totalSize           	2690                
+	transactional       	true                
+	transactional_properties	default             
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	2                   	 
+Bucket Columns:     	[a]                 	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN DELETE
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t
+PREHOOK: Input: default@upd_t
+PREHOOK: Output: default@merge_tmp_table
+PREHOOK: Output: default@t
+PREHOOK: Output: default@t
+POSTHOOK: query: merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN DELETE
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t
+POSTHOOK: Input: default@upd_t
+POSTHOOK: Output: default@merge_tmp_table
+POSTHOOK: Output: default@t
+POSTHOOK: Output: default@t
+POSTHOOK: Lineage: merge_tmp_table.val EXPRESSION [(t)t.FieldSchema(name:ROW__ID, type:struct<writeId:bigint,bucketId:int,rowId:bigint>, comment:), ]
+POSTHOOK: Lineage: t.a SIMPLE [(upd_t)u.FieldSchema(name:a, type:int, comment:null), ]
+POSTHOOK: Lineage: t.b SIMPLE [(upd_t)u.FieldSchema(name:b, type:int, comment:null), ]
+PREHOOK: query: select assert_true(count(1) = 0) from t group by a>-1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t
+#### A masked pattern was here ####
+POSTHOOK: query: select assert_true(count(1) = 0) from t group by a>-1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t
+#### A masked pattern was here ####
+PREHOOK: query: desc formatted t
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@t
+POSTHOOK: query: desc formatted t
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@t
+# col_name            	data_type           	comment             
+a                   	int                 	                    
+b                   	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	bucketing_version   	2                   
+	numFiles            	6                   
+	numRows             	0                   
+	rawDataSize         	0                   
+	totalSize           	4052                
+	transactional       	true                
+	transactional_properties	default             
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	2                   	 
+Bucket Columns:     	[a]                 	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/row__id.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/row__id.q.out b/ql/src/test/results/clientpositive/row__id.q.out
index 52ad866..7d29666 100644
--- a/ql/src/test/results/clientpositive/row__id.q.out
+++ b/ql/src/test/results/clientpositive/row__id.q.out
@@ -62,24 +62,24 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: hello_acid
-            Statistics: Num rows: 78 Data size: 19860 Basic stats: PARTIAL Column stats: NONE
+            Statistics: Num rows: 3 Data size: 19860 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: ROW__ID.writeid (type: bigint)
               outputColumnNames: _col0
-              Statistics: Num rows: 78 Data size: 19860 Basic stats: PARTIAL Column stats: NONE
+              Statistics: Num rows: 3 Data size: 19860 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: _col0 (type: bigint)
                 sort order: +
-                Statistics: Num rows: 78 Data size: 19860 Basic stats: PARTIAL Column stats: NONE
+                Statistics: Num rows: 3 Data size: 19860 Basic stats: COMPLETE Column stats: NONE
       Execution mode: vectorized
       Reduce Operator Tree:
         Select Operator
           expressions: KEY.reducesinkkey0 (type: bigint)
           outputColumnNames: _col0
-          Statistics: Num rows: 78 Data size: 19860 Basic stats: PARTIAL Column stats: NONE
+          Statistics: Num rows: 3 Data size: 19860 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
-            Statistics: Num rows: 78 Data size: 19860 Basic stats: PARTIAL Column stats: NONE
+            Statistics: Num rows: 3 Data size: 19860 Basic stats: COMPLETE Column stats: NONE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -125,17 +125,17 @@ STAGE PLANS:
           TableScan
             alias: hello_acid
             filterExpr: (ROW__ID.writeid = 3) (type: boolean)
-            Statistics: Num rows: 78 Data size: 19860 Basic stats: PARTIAL Column stats: NONE
+            Statistics: Num rows: 3 Data size: 19860 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (ROW__ID.writeid = 3) (type: boolean)
-              Statistics: Num rows: 39 Data size: 9930 Basic stats: PARTIAL Column stats: NONE
+              Statistics: Num rows: 1 Data size: 6620 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: ROW__ID.writeid (type: bigint)
                 outputColumnNames: _col0
-                Statistics: Num rows: 39 Data size: 9930 Basic stats: PARTIAL Column stats: NONE
+                Statistics: Num rows: 1 Data size: 6620 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 39 Data size: 9930 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 6620 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/tez/acid_vectorization_original_tez.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/acid_vectorization_original_tez.q.out b/ql/src/test/results/clientpositive/tez/acid_vectorization_original_tez.q.out
index 2531f4a..634b4ea 100644
--- a/ql/src/test/results/clientpositive/tez/acid_vectorization_original_tez.q.out
+++ b/ql/src/test/results/clientpositive/tez/acid_vectorization_original_tez.q.out
@@ -680,22 +680,22 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_orc_bucketed_n0
-                  Statistics: Num rows: 1234 Data size: 706090 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2098 Data size: 622340 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                     outputColumnNames: ROW__ID
-                    Statistics: Num rows: 1234 Data size: 706090 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2098 Data size: 622340 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: count()
                       keys: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       mode: hash
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 617 Data size: 51828 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1049 Data size: 88116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
-                        Statistics: Num rows: 617 Data size: 51828 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1049 Data size: 88116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: bigint)
         Reducer 2 
             Reduce Operator Tree:
@@ -704,13 +704,13 @@ STAGE PLANS:
                 keys: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 617 Data size: 51828 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 1049 Data size: 88116 Basic stats: COMPLETE Column stats: COMPLETE
                 Filter Operator
                   predicate: (_col1 > 1L) (type: boolean)
-                  Statistics: Num rows: 205 Data size: 17220 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 349 Data size: 29316 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 205 Data size: 17220 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 349 Data size: 29316 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/tez/explainanalyze_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/explainanalyze_5.q.out b/ql/src/test/results/clientpositive/tez/explainanalyze_5.q.out
index bab0d24..7093fc6 100644
--- a/ql/src/test/results/clientpositive/tez/explainanalyze_5.q.out
+++ b/ql/src/test/results/clientpositive/tez/explainanalyze_5.q.out
@@ -295,16 +295,16 @@ Stage-3
               Reducer 2
               File Output Operator [FS_8]
                 table:{"name:":"default.acid_uami_n2"}
-                Select Operator [SEL_4] (rows=10/2 width=316)
+                Select Operator [SEL_4] (rows=4/2 width=328)
                   Output:["_col0","_col1","_col2","_col3"]
                 <-Map 1 [SIMPLE_EDGE]
                   SHUFFLE [RS_3]
                     PartitionCols:UDFToInteger(_col0)
-                    Select Operator [SEL_2] (rows=10/2 width=316)
+                    Select Operator [SEL_2] (rows=4/2 width=328)
                       Output:["_col0","_col1","_col3"]
-                      Filter Operator [FIL_9] (rows=10/2 width=316)
+                      Filter Operator [FIL_9] (rows=4/2 width=328)
                         predicate:((de = 109.23) or (de = 119.23))
-                        TableScan [TS_0] (rows=85/4 width=316)
+                        TableScan [TS_0] (rows=4/4 width=328)
                           default@acid_uami_n2,acid_uami_n2, ACID table,Tbl:COMPLETE,Col:NONE,Output:["i","de","vc"]
 
 PREHOOK: query: select * from acid_uami_n2 order by de


[18/20] hive git commit: HIVE-19995 : Aggregate row traffic for acid tables (Zoltan Haindrich via Ashutosh Chauhan)

Posted by se...@apache.org.
HIVE-19995 : Aggregate row traffic for acid tables (Zoltan Haindrich via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


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

Branch: refs/heads/master-txnstats
Commit: 08eba3e1e81e6afb3d866da5ecef69b1a7f91c6c
Parents: 1c33fea
Author: Zoltan Haindrich <ki...@rxd.hu>
Authored: Sun Jul 1 09:58:59 2018 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Sun Jul 1 09:58:59 2018 -0700

----------------------------------------------------------------------
 .../test/resources/testconfiguration.properties |   1 +
 .../hadoop/hive/ql/stats/BasicStatsTask.java    |  10 +-
 .../queries/clientpositive/sqlmerge_stats.q     |  38 ++
 .../results/clientpositive/acid_nullscan.q.out  |   8 +-
 .../clientpositive/acid_table_stats.q.out       |  16 +-
 .../clientpositive/autoColumnStats_4.q.out      |   4 +
 .../clientpositive/druid/druidmini_mv.q.out     |  50 +-
 .../llap/acid_bucket_pruning.q.out              |   6 +-
 .../llap/acid_vectorization_original.q.out      |  14 +-
 .../llap/dynpart_sort_optimization_acid.q.out   | 144 +++---
 .../llap/enforce_constraint_notnull.q.out       |  24 +-
 .../llap/insert_into_default_keyword.q.out      | 100 ++--
 .../insert_values_orig_table_use_metadata.q.out |  24 +-
 .../materialized_view_create_rewrite_3.q.out    |  40 +-
 .../materialized_view_create_rewrite_4.q.out    |  32 +-
 .../materialized_view_create_rewrite_5.q.out    |  50 +-
 ...ized_view_create_rewrite_rebuild_dummy.q.out |  40 +-
 .../llap/results_cache_invalidation.q.out       |  74 +--
 .../llap/results_cache_transactional.q.out      |  38 +-
 .../clientpositive/llap/sqlmerge_stats.q.out    | 511 +++++++++++++++++++
 .../test/results/clientpositive/row__id.q.out   |  18 +-
 .../tez/acid_vectorization_original_tez.q.out   |  14 +-
 .../clientpositive/tez/explainanalyze_5.q.out   |   8 +-
 23 files changed, 918 insertions(+), 346 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 3dd6580..35fad2c 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -683,6 +683,7 @@ minillaplocal.query.files=\
   smb_cache.q,\
   special_character_in_tabnames_1.q,\
   sqlmerge.q,\
+  sqlmerge_stats.q,\
   stats_based_fetch_decision.q,\
   stats_only_external.q,\
   strict_managed_tables_sysdb.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java b/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java
index 8c23887..f31c170 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java
@@ -169,7 +169,7 @@ public class BasicStatsTask implements Serializable, IStatsProcessor {
         // though we are marking stats as not being accurate.
         if (StatsSetupConst.areBasicStatsUptoDate(parameters) || p.isTransactionalTable()) {
           String prefix = getAggregationPrefix(p.getTable(), p.getPartition());
-          updateStats(statsAggregator, parameters, prefix, p.isAcid());
+          updateStats(statsAggregator, parameters, prefix);
         }
       }
 
@@ -206,14 +206,8 @@ public class BasicStatsTask implements Serializable, IStatsProcessor {
     }
 
     private void updateStats(StatsAggregator statsAggregator, Map<String, String> parameters,
-        String aggKey, boolean isFullAcid) throws HiveException {
+        String aggKey) throws HiveException {
       for (String statType : StatsSetupConst.statsRequireCompute) {
-        if (isFullAcid && !work.isTargetRewritten()) {
-          // Don't bother with aggregation in this case, it will probably be invalid.
-          parameters.remove(statType);
-          continue;
-        }
-
         String value = statsAggregator.aggregateStats(aggKey, statType);
         if (value != null && !value.isEmpty()) {
           long longValue = Long.parseLong(value);

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/queries/clientpositive/sqlmerge_stats.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/sqlmerge_stats.q b/ql/src/test/queries/clientpositive/sqlmerge_stats.q
new file mode 100644
index 0000000..c480eb6
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/sqlmerge_stats.q
@@ -0,0 +1,38 @@
+set hive.mapred.mode=nonstrict;
+set hive.support.concurrency=true;
+set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+set hive.explain.user=false;
+set hive.merge.cardinality.check=true;
+
+create table t(a int, b int) clustered by (a) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+create table upd_t(a int, b int) clustered by (a) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='false');
+
+desc formatted t;
+
+insert into t values (1,1);
+insert into upd_t values (1,1),(2,2);
+
+desc formatted t;
+
+explain merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN UPDATE SET b = 99
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b);
+
+merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN UPDATE SET b = 99
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b);
+
+-- merge could keep track of inserts
+select assert_true(count(1) = 2) from t group by a>-1;
+-- rownum is 2
+desc formatted t;
+
+merge into t as t using upd_t as u ON t.a = u.a 
+WHEN MATCHED THEN DELETE
+WHEN NOT MATCHED THEN INSERT VALUES(u.a, u.b);
+
+
+select assert_true(count(1) = 0) from t group by a>-1;
+-- rownum is 0; because the orc writer can keep track of delta
+desc formatted t;
+

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/acid_nullscan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/acid_nullscan.q.out b/ql/src/test/results/clientpositive/acid_nullscan.q.out
index c9684dd..19fcc8c 100644
--- a/ql/src/test/results/clientpositive/acid_nullscan.q.out
+++ b/ql/src/test/results/clientpositive/acid_nullscan.q.out
@@ -42,12 +42,12 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: acid_vectorized_n1
-            Statistics: Num rows: 90 Data size: 25960 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 11 Data size: 25960 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
               isSamplingPred: false
               predicate: false (type: boolean)
-              Statistics: Num rows: 1 Data size: 288 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 1 Data size: 2360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: sum(a)
                 mode: hash
@@ -79,6 +79,8 @@ STAGE PLANS:
 #### A masked pattern was here ####
               name default.acid_vectorized_n1
               numFiles 3
+              numRows 11
+              rawDataSize 0
               serialization.ddl struct acid_vectorized_n1 { i32 a, string b}
               serialization.format 1
               serialization.lib org.apache.hadoop.hive.serde2.NullStructSerDe
@@ -101,6 +103,8 @@ STAGE PLANS:
 #### A masked pattern was here ####
                 name default.acid_vectorized_n1
                 numFiles 3
+                numRows 11
+                rawDataSize 0
                 serialization.ddl struct acid_vectorized_n1 { i32 a, string b}
                 serialization.format 1
                 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/acid_table_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/acid_table_stats.q.out b/ql/src/test/results/clientpositive/acid_table_stats.q.out
index 084d232..841a5a4 100644
--- a/ql/src/test/results/clientpositive/acid_table_stats.q.out
+++ b/ql/src/test/results/clientpositive/acid_table_stats.q.out
@@ -94,6 +94,8 @@ Table:              	acid
 #### A masked pattern was here ####
 Partition Parameters:	 	 
 	numFiles            	2                   
+	numRows             	2000                
+	rawDataSize         	0                   
 	totalSize           	4063                
 #### A masked pattern was here ####
 	 	 
@@ -133,17 +135,17 @@ STAGE PLANS:
           TableScan
             alias: acid
             filterExpr: (ds = '2008-04-08') (type: boolean)
-            Statistics: Num rows: 83 Data size: 40630 Basic stats: PARTIAL Column stats: NONE
+            Statistics: Num rows: 2000 Data size: 40630 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              Statistics: Num rows: 83 Data size: 40630 Basic stats: PARTIAL Column stats: NONE
+              Statistics: Num rows: 2000 Data size: 40630 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
                 mode: hash
                 outputColumnNames: _col0
-                Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: NONE
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   sort order: 
-                  Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col0 (type: bigint)
       Execution mode: vectorized
       Reduce Operator Tree:
@@ -151,10 +153,10 @@ STAGE PLANS:
           aggregations: count(VALUE._col0)
           mode: mergepartial
           outputColumnNames: _col0
-          Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: NONE
+          Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
-            Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: NONE
+            Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -387,6 +389,8 @@ Table:              	acid
 #### A masked pattern was here ####
 Partition Parameters:	 	 
 	numFiles            	4                   
+	numRows             	3000                
+	rawDataSize         	208000              
 	totalSize           	8118                
 #### A masked pattern was here ####
 	 	 

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_4.q.out b/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
index a16ec07..42c7b43 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
@@ -201,6 +201,8 @@ Table Type:         	MANAGED_TABLE
 Table Parameters:	 	 
 	bucketing_version   	2                   
 	numFiles            	2                   
+	numRows             	10                  
+	rawDataSize         	0                   
 	totalSize           	1899                
 	transactional       	true                
 	transactional_properties	default             
@@ -244,6 +246,8 @@ Table Parameters:
 	COLUMN_STATS_ACCURATE	{}                  
 	bucketing_version   	2                   
 	numFiles            	4                   
+	numRows             	8                   
+	rawDataSize         	0                   
 	totalSize           	3275                
 	transactional       	true                
 	transactional_properties	default             

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out b/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
index e5e1ea9..2e44e14 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
@@ -341,34 +341,34 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_n2
                   filterExpr: (a = 3) (type: boolean)
-                  Statistics: Num rows: 31 Data size: 372 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 7 Data size: 84 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
-                    Statistics: Num rows: 5 Data size: 60 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 7 Data size: 84 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: c (type: double)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 5 Data size: 60 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 7 Data size: 84 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         sort order: 
-                        Statistics: Num rows: 5 Data size: 60 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 7 Data size: 84 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: double)
         Map 3 
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n2
                   filterExpr: ((d = 3) and (a = 3)) (type: boolean)
-                  Statistics: Num rows: 31 Data size: 496 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
-                    Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: c (type: double)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         sort order: 
-                        Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: double)
         Reducer 2 
             Reduce Operator Tree:
@@ -379,14 +379,14 @@ STAGE PLANS:
                   0 
                   1 
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 5 Data size: 145 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 49 Data size: 1421 Basic stats: COMPLETE Column stats: NONE
                 Select Operator
                   expressions: 3 (type: int), _col0 (type: double), 3 (type: int), _col1 (type: double)
                   outputColumnNames: _col0, _col1, _col2, _col3
-                  Statistics: Num rows: 5 Data size: 145 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 49 Data size: 1421 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 5 Data size: 145 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 49 Data size: 1421 Basic stats: COMPLETE Column stats: NONE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -460,34 +460,34 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_n2
                   filterExpr: (a = 3) (type: boolean)
-                  Statistics: Num rows: 31 Data size: 22692 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 7 Data size: 5124 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
-                    Statistics: Num rows: 5 Data size: 3660 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 7 Data size: 5124 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: CAST( t AS timestamp with local time zone) (type: timestamp with local time zone), 3 (type: int), b (type: varchar(256)), c (type: double), userid (type: varchar(256))
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4
-                      Statistics: Num rows: 5 Data size: 3660 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 7 Data size: 5124 Basic stats: COMPLETE Column stats: NONE
                       Select Operator
                         expressions: _col0 (type: timestamp with local time zone), _col1 (type: int), _col2 (type: varchar(256)), _col3 (type: double), _col4 (type: varchar(256)), floor_hour(CAST( GenericUDFEpochMilli(_col0) AS TIMESTAMP)) (type: timestamp)
                         outputColumnNames: _col0, _col1, _col2, _col3, _col4, __time_granularity
-                        Statistics: Num rows: 5 Data size: 3660 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 7 Data size: 5124 Basic stats: COMPLETE Column stats: NONE
                         Reduce Output Operator
                           key expressions: __time_granularity (type: timestamp)
                           sort order: +
                           Map-reduce partition columns: __time_granularity (type: timestamp)
-                          Statistics: Num rows: 5 Data size: 3660 Basic stats: COMPLETE Column stats: NONE
+                          Statistics: Num rows: 7 Data size: 5124 Basic stats: COMPLETE Column stats: NONE
                           value expressions: _col0 (type: timestamp with local time zone), _col1 (type: int), _col2 (type: varchar(256)), _col3 (type: double), _col4 (type: varchar(256))
         Reducer 2 
             Reduce Operator Tree:
               Select Operator
                 expressions: VALUE._col0 (type: timestamp with local time zone), VALUE._col1 (type: int), VALUE._col2 (type: varchar(256)), VALUE._col3 (type: double), VALUE._col4 (type: varchar(256)), KEY.__time_granularity (type: timestamp)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, __time_granularity
-                Statistics: Num rows: 5 Data size: 3660 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 7 Data size: 5124 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
                   Dp Sort State: PARTITION_SORTED
-                  Statistics: Num rows: 5 Data size: 3660 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 7 Data size: 5124 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.druid.io.DruidQueryBasedInputFormat
                       output format: org.apache.hadoop.hive.druid.io.DruidOutputFormat
@@ -552,17 +552,17 @@ STAGE PLANS:
                 TableScan
                   alias: cmv_basetable_n2
                   filterExpr: ((a = 3) and (d = 3)) (type: boolean)
-                  Statistics: Num rows: 31 Data size: 496 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
-                    Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: c (type: double)
                       outputColumnNames: _col1
-                      Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         sort order: 
-                        Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: double)
         Map 3 
             Map Operator Tree:
@@ -587,14 +587,14 @@ STAGE PLANS:
                   0 
                   1 
                 outputColumnNames: _col0, _col1, _col6
-                Statistics: Num rows: 3 Data size: 87 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 21 Data size: 609 Basic stats: COMPLETE Column stats: NONE
                 Select Operator
                   expressions: _col0 (type: int), _col1 (type: double), _col0 (type: int), _col6 (type: double)
                   outputColumnNames: _col0, _col1, _col2, _col3
-                  Statistics: Num rows: 3 Data size: 87 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 21 Data size: 609 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 3 Data size: 87 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 21 Data size: 609 Basic stats: COMPLETE Column stats: NONE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/acid_bucket_pruning.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/acid_bucket_pruning.q.out b/ql/src/test/results/clientpositive/llap/acid_bucket_pruning.q.out
index b856b99..29a05ae 100644
--- a/ql/src/test/results/clientpositive/llap/acid_bucket_pruning.q.out
+++ b/ql/src/test/results/clientpositive/llap/acid_bucket_pruning.q.out
@@ -45,7 +45,7 @@ STAGE PLANS:
                   alias: acidtbldefault
                   filterExpr: (a = 1) (type: boolean)
                   buckets included: [13,] of 16
-                  Statistics: Num rows: 1850 Data size: 7036 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 9174 Data size: 34868 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
@@ -99,6 +99,8 @@ STAGE PLANS:
                     location hdfs://### HDFS PATH ###
                     name default.acidtbldefault
                     numFiles 17
+                    numRows 9174
+                    rawDataSize 0
                     serialization.ddl struct acidtbldefault { i32 a}
                     serialization.format 1
                     serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde
@@ -122,6 +124,8 @@ STAGE PLANS:
                       location hdfs://### HDFS PATH ###
                       name default.acidtbldefault
                       numFiles 17
+                      numRows 9174
+                      rawDataSize 0
                       serialization.ddl struct acidtbldefault { i32 a}
                       serialization.format 1
                       serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out b/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out
index 028c3ca..57ff575 100644
--- a/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out
+++ b/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out
@@ -665,22 +665,22 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_orc_bucketed
-                  Statistics: Num rows: 1234 Data size: 706090 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 2098 Data size: 622340 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                     outputColumnNames: ROW__ID
-                    Statistics: Num rows: 1234 Data size: 706090 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 2098 Data size: 622340 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       aggregations: count()
                       keys: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       mode: hash
                       outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 617 Data size: 51828 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 1049 Data size: 88116 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
-                        Statistics: Num rows: 617 Data size: 51828 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 1049 Data size: 88116 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: bigint)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -692,13 +692,13 @@ STAGE PLANS:
                 keys: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 617 Data size: 51828 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 1049 Data size: 88116 Basic stats: COMPLETE Column stats: COMPLETE
                 Filter Operator
                   predicate: (_col1 > 1L) (type: boolean)
-                  Statistics: Num rows: 205 Data size: 17220 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 349 Data size: 29316 Basic stats: COMPLETE Column stats: COMPLETE
                   File Output Operator
                     compressed: false
-                    Statistics: Num rows: 205 Data size: 17220 Basic stats: COMPLETE Column stats: COMPLETE
+                    Statistics: Num rows: 349 Data size: 29316 Basic stats: COMPLETE Column stats: COMPLETE
                     table:
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
index 33bceed..7905441 100644
--- a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
@@ -95,19 +95,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_part
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08')) (type: boolean)
-                  Statistics: Num rows: 160 Data size: 61001 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 1601 Data size: 150414 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 1906 Basic stats: PARTIAL Column stats: NONE
+                    Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 5 Data size: 1906 Basic stats: PARTIAL Column stats: NONE
+                      Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 1906 Basic stats: PARTIAL Column stats: NONE
+                        Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -116,10 +116,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), '2008-04-08' (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 1906 Basic stats: PARTIAL Column stats: NONE
+                Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 1906 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -191,19 +191,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_part
                   filterExpr: ((key = 'foo') and (ds) IN ('2008-04-08')) (type: boolean)
-                  Statistics: Num rows: 159 Data size: 104317 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 1601 Data size: 444998 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 3280 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 1355 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), ds (type: string)
                       outputColumnNames: _col0, _col3
-                      Statistics: Num rows: 5 Data size: 3280 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 2170 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 3280 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 2170 Basic stats: COMPLETE Column stats: PARTIAL
                         value expressions: _col3 (type: string)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -213,10 +213,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), VALUE._col1 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 3280 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 2170 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 3280 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 2170 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -383,19 +383,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_part_sdpo
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08')) (type: boolean)
-                  Statistics: Num rows: 176 Data size: 67063 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 1601 Data size: 150414 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 1905 Basic stats: PARTIAL Column stats: NONE
+                    Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 5 Data size: 1905 Basic stats: PARTIAL Column stats: NONE
+                      Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 1905 Basic stats: PARTIAL Column stats: NONE
+                        Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -404,10 +404,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), '2008-04-08' (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 1905 Basic stats: PARTIAL Column stats: NONE
+                Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 1905 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -479,19 +479,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_part_sdpo
                   filterExpr: ((key = 'foo') and (ds) IN ('2008-04-08')) (type: boolean)
-                  Statistics: Num rows: 171 Data size: 112152 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 1601 Data size: 444998 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 3279 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 1355 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), ds (type: string)
                       outputColumnNames: _col0, _col3
-                      Statistics: Num rows: 5 Data size: 3279 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 2170 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: _col3 (type: string), '_bucket_number' (type: string), _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +++
                         Map-reduce partition columns: _col3 (type: string)
-                        Statistics: Num rows: 5 Data size: 3279 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 2170 Basic stats: COMPLETE Column stats: PARTIAL
             Execution mode: llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -500,11 +500,11 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), KEY._col3 (type: string), KEY.'_bucket_number' (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, '_bucket_number'
-                Statistics: Num rows: 5 Data size: 3279 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 1790 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
                   Dp Sort State: PARTITION_BUCKET_SORTED
-                  Statistics: Num rows: 5 Data size: 3279 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 1790 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -680,19 +680,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
-                  Statistics: Num rows: 157 Data size: 60527 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 1601 Data size: 150414 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                    Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                      Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                        Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -701,10 +701,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), '2008-04-08' (type: string), 11 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
-                Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -777,19 +777,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr >= 11)) (type: boolean)
-                  Statistics: Num rows: 1804 Data size: 235871 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 3201 Data size: 313458 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 455 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), hr (type: int)
                       outputColumnNames: _col0, _col4
-                      Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 1740 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 1740 Basic stats: COMPLETE Column stats: PARTIAL
                         value expressions: _col4 (type: int)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -799,10 +799,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), '2008-04-08' (type: string), VALUE._col2 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
-                Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 1740 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 1740 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -904,19 +904,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part
                   filterExpr: (value = 'bar') (type: boolean)
-                  Statistics: Num rows: 2015 Data size: 726272 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 4200 Data size: 1253037 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (value = 'bar') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 1375 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), ds (type: string), hr (type: int)
                       outputColumnNames: _col0, _col1, _col2
-                      Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
                         value expressions: _col1 (type: string), _col2 (type: int)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -926,10 +926,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: string), VALUE._col1 (type: int)
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -1103,19 +1103,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part_sdpo
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
-                  Statistics: Num rows: 157 Data size: 60527 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 1601 Data size: 150414 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                    Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                      Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                        Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
             Execution mode: llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -1124,10 +1124,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), '2008-04-08' (type: string), 11 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
-                Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 1927 Basic stats: PARTIAL Column stats: NONE
+                  Statistics: Num rows: 5 Data size: 469 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -1200,19 +1200,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part_sdpo
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr >= 11)) (type: boolean)
-                  Statistics: Num rows: 1804 Data size: 235871 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 3201 Data size: 313458 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 455 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), hr (type: int)
                       outputColumnNames: _col0, _col4
-                      Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 1740 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: '2008-04-08' (type: string), _col4 (type: int), '_bucket_number' (type: string), _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: ++++
                         Map-reduce partition columns: '2008-04-08' (type: string), _col4 (type: int)
-                        Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 1740 Basic stats: COMPLETE Column stats: PARTIAL
             Execution mode: llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -1221,11 +1221,11 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), 'foo' (type: string), 'bar' (type: string), '2008-04-08' (type: string), KEY._col4 (type: int), KEY.'_bucket_number' (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, '_bucket_number'
-                Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 1360 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
                   Dp Sort State: PARTITION_BUCKET_SORTED
-                  Statistics: Num rows: 5 Data size: 653 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 1360 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -1327,19 +1327,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part_sdpo
                   filterExpr: (value = 'bar') (type: boolean)
-                  Statistics: Num rows: 2015 Data size: 726272 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 4952 Data size: 1456618 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (value = 'bar') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 1375 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), ds (type: string), hr (type: int)
                       outputColumnNames: _col0, _col1, _col2
-                      Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: _col1 (type: string), _col2 (type: int), '_bucket_number' (type: string), _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: ++++
                         Map-reduce partition columns: _col1 (type: string), _col2 (type: int)
-                        Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 1320 Basic stats: COMPLETE Column stats: PARTIAL
             Execution mode: llap
             LLAP IO: may be used (ACID table)
         Reducer 2 
@@ -1348,11 +1348,11 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), KEY._col1 (type: string), KEY._col2 (type: int), KEY.'_bucket_number' (type: string)
                 outputColumnNames: _col0, _col1, _col2, '_bucket_number'
-                Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 1810 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
                   Dp Sort State: PARTITION_BUCKET_SORTED
-                  Statistics: Num rows: 5 Data size: 1802 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 1810 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -1526,19 +1526,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part_sdpo_no_cp
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
-                  Statistics: Num rows: 97 Data size: 82922 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 1601 Data size: 599036 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 4274 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 1860 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), key (type: string), ds (type: string), hr (type: int)
                       outputColumnNames: _col0, _col1, _col3, _col4
-                      Statistics: Num rows: 5 Data size: 4274 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 2675 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: _col3 (type: string), _col4 (type: int), '_bucket_number' (type: string), _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: ++++
                         Map-reduce partition columns: _col3 (type: string), _col4 (type: int)
-                        Statistics: Num rows: 5 Data size: 4274 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 2675 Basic stats: COMPLETE Column stats: PARTIAL
                         value expressions: _col1 (type: string), 'bar' (type: string)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -1548,11 +1548,11 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col1 (type: string), VALUE._col2 (type: string), KEY._col3 (type: string), KEY._col4 (type: int), KEY.'_bucket_number' (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, '_bucket_number'
-                Statistics: Num rows: 5 Data size: 4274 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 3165 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
                   Dp Sort State: PARTITION_BUCKET_SORTED
-                  Statistics: Num rows: 5 Data size: 4274 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 3165 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -1625,19 +1625,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_2l_part_sdpo_no_cp
                   filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr >= 11)) (type: boolean)
-                  Statistics: Num rows: 1725 Data size: 705510 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 3201 Data size: 1197516 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
-                    Statistics: Num rows: 5 Data size: 2044 Basic stats: PARTIAL Column stats: PARTIAL
+                    Statistics: Num rows: 5 Data size: 1860 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), key (type: string), ds (type: string), hr (type: int)
                       outputColumnNames: _col0, _col1, _col3, _col4
-                      Statistics: Num rows: 5 Data size: 2044 Basic stats: PARTIAL Column stats: PARTIAL
+                      Statistics: Num rows: 5 Data size: 2675 Basic stats: COMPLETE Column stats: PARTIAL
                       Reduce Output Operator
                         key expressions: _col3 (type: string), _col4 (type: int), '_bucket_number' (type: string), _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: ++++
                         Map-reduce partition columns: _col3 (type: string), _col4 (type: int)
-                        Statistics: Num rows: 5 Data size: 2044 Basic stats: PARTIAL Column stats: PARTIAL
+                        Statistics: Num rows: 5 Data size: 2675 Basic stats: COMPLETE Column stats: PARTIAL
                         value expressions: _col1 (type: string), 'bar' (type: string)
             Execution mode: llap
             LLAP IO: may be used (ACID table)
@@ -1647,11 +1647,11 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY._col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col1 (type: string), VALUE._col2 (type: string), KEY._col3 (type: string), KEY._col4 (type: int), KEY.'_bucket_number' (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, '_bucket_number'
-                Statistics: Num rows: 5 Data size: 2044 Basic stats: PARTIAL Column stats: PARTIAL
+                Statistics: Num rows: 5 Data size: 3165 Basic stats: COMPLETE Column stats: PARTIAL
                 File Output Operator
                   compressed: false
                   Dp Sort State: PARTITION_BUCKET_SORTED
-                  Statistics: Num rows: 5 Data size: 2044 Basic stats: PARTIAL Column stats: PARTIAL
+                  Statistics: Num rows: 5 Data size: 3165 Basic stats: COMPLETE Column stats: PARTIAL
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/08eba3e1/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out b/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
index 8a5a326..5a3f519 100644
--- a/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
+++ b/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
@@ -3237,19 +3237,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_uami_n1
                   filterExpr: (((de = 109.23) or (de = 119.23)) and enforce_constraint(vc is not null)) (type: boolean)
-                  Statistics: Num rows: 281 Data size: 87904 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1002 Data size: 312584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((de = 109.23) or (de = 119.23)) and enforce_constraint(vc is not null)) (type: boolean)
-                    Statistics: Num rows: 5 Data size: 1564 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 5 Data size: 1559 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), i (type: int), vc (type: varchar(128))
                       outputColumnNames: _col0, _col1, _col3
-                      Statistics: Num rows: 5 Data size: 1564 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 5 Data size: 1559 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 5 Data size: 1564 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 5 Data size: 1559 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: int), _col3 (type: varchar(128))
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
@@ -3259,10 +3259,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: int), 3.14 (type: decimal(5,2)), VALUE._col1 (type: varchar(128))
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 5 Data size: 1564 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 5 Data size: 1559 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 5 Data size: 1564 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 5 Data size: 1559 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
@@ -3331,19 +3331,19 @@ STAGE PLANS:
                 TableScan
                   alias: acid_uami_n1
                   filterExpr: ((de = 3.14) and enforce_constraint((i is not null and vc is not null))) (type: boolean)
-                  Statistics: Num rows: 320 Data size: 100040 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1002 Data size: 312584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((de = 3.14) and enforce_constraint((i is not null and vc is not null))) (type: boolean)
-                    Statistics: Num rows: 2 Data size: 625 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 2 Data size: 623 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), i (type: int), vc (type: varchar(128))
                       outputColumnNames: _col0, _col1, _col3
-                      Statistics: Num rows: 2 Data size: 625 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 2 Data size: 623 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
                         sort order: +
                         Map-reduce partition columns: UDFToInteger(_col0) (type: int)
-                        Statistics: Num rows: 2 Data size: 625 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 2 Data size: 623 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: int), _col3 (type: varchar(128))
             Execution mode: vectorized, llap
             LLAP IO: may be used (ACID table)
@@ -3353,10 +3353,10 @@ STAGE PLANS:
               Select Operator
                 expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: int), 3.14 (type: decimal(5,2)), VALUE._col1 (type: varchar(128))
                 outputColumnNames: _col0, _col1, _col2, _col3
-                Statistics: Num rows: 2 Data size: 625 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 2 Data size: 623 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 2 Data size: 625 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 2 Data size: 623 Basic stats: COMPLETE Column stats: NONE
                   table:
                       input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                       output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat


[20/20] hive git commit: HIVE-19416 : merge master into branch (Sergey Shelukhin) 0701

Posted by se...@apache.org.
HIVE-19416 : merge master into branch (Sergey Shelukhin) 0701


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

Branch: refs/heads/master-txnstats
Commit: d7bbc20d2e9b1cb460a9325698692b74802bae78
Parents: cd8f693 455b71e
Author: sergey <se...@apache.org>
Authored: Sun Jul 1 18:20:59 2018 -0700
Committer: sergey <se...@apache.org>
Committed: Sun Jul 1 18:20:59 2018 -0700

----------------------------------------------------------------------
 data/files/table_19.dat                         | 1080 ++++++++++++++++++
 data/files/table_8.dat                          | 1000 ++++++++++++++++
 .../src/test/queries/clientpositive/map_join.q  |    2 +
 .../test/results/clientpositive/map_join.q.out  |   42 +-
 .../hive/ql/parse/TestReplicationScenarios.java |   42 +
 .../TestReplicationScenariosAcidTables.java     |   52 +-
 ...TestReplicationScenariosAcrossInstances.java |   42 +-
 .../hadoop/hive/ql/parse/WarehouseInstance.java |    7 +-
 .../test/resources/testconfiguration.properties |    4 +
 .../hadoop/hive/llap/cli/LlapServiceDriver.java |   23 +-
 .../hive/metastore/HiveMetaStoreUtils.java      |    2 +-
 .../java/org/apache/hadoop/hive/ql/Context.java |    4 +
 .../org/apache/hadoop/hive/ql/ErrorMsg.java     |    3 +-
 .../hadoop/hive/ql/exec/repl/ReplDumpTask.java  |    4 +
 .../exec/repl/bootstrap/load/LoadDatabase.java  |    2 +-
 .../hive/ql/exec/repl/util/ReplUtils.java       |    6 +-
 .../expressions/ConvertDecimal64ToDecimal.java  |    3 +-
 .../hive/ql/hooks/HiveProtoLoggingHook.java     |   24 +-
 .../annotation/AnnotateWithOpTraits.java        |    4 +-
 .../annotation/OpTraitsRulesProcFactory.java    |   56 +-
 .../ql/parse/UpdateDeleteSemanticAnalyzer.java  |   10 +-
 .../ql/parse/repl/dump/PartitionExport.java     |   24 +-
 .../hadoop/hive/ql/parse/repl/dump/Utils.java   |    8 +-
 .../ql/parse/repl/dump/io/FileOperations.java   |    7 +
 .../hadoop/hive/ql/stats/BasicStatsTask.java    |    4 +-
 .../ql/udf/generic/GenericUDAFEvaluator.java    |    1 +
 .../logging/proto/DatePartitionedLogger.java    |   18 +-
 .../logging/proto/ProtoMessageReader.java       |    9 +-
 .../logging/proto/ProtoMessageWriter.java       |   12 +-
 .../udf/generic/TestGenericUDAFEvaluator.java   |   79 ++
 .../convert_decimal64_to_decimal.q              |   39 +
 .../test/queries/clientpositive/llap_smb_ptf.q  |  236 ++++
 .../clientpositive/runtime_stats_merge.q        |   41 +
 .../queries/clientpositive/sqlmerge_stats.q     |   38 +
 .../clientpositive/tez_smb_reduce_side.q        |  115 ++
 .../clientpositive/acid_table_stats.q.out       |   16 +-
 .../convert_decimal64_to_decimal.q.out          |  438 +++++++
 .../llap/convert_decimal64_to_decimal.q.out     |  553 +++++++++
 .../clientpositive/llap/llap_smb_ptf.q.out      |  744 ++++++++++++
 .../llap/runtime_stats_merge.q.out              |  194 ++++
 .../clientpositive/llap/sqlmerge_stats.q.out    |  511 +++++++++
 .../llap/tez_smb_reduce_side.q.out              |  942 +++++++++++++++
 .../clientpositive/llap/vector_decimal_5.q.out  |  114 +-
 .../clientpositive/llap/vector_decimal_6.q.out  |   46 +-
 .../llap/vector_decimal_mapjoin.q.out           |  428 ++++++-
 .../spark/vector_decimal_mapjoin.q.out          |  452 +++++++-
 .../clientpositive/vector_decimal_5.q.out       |  114 +-
 .../clientpositive/vector_decimal_mapjoin.q.out |  452 +++++++-
 .../hadoop/hive/metastore/HiveAlterHandler.java |    7 +-
 .../hadoop/hive/metastore/HiveMetaStore.java    |    5 +
 .../hive/metastore/conf/MetastoreConf.java      |    2 +
 .../hadoop/hive/metastore/metrics/Metrics.java  |    5 +-
 .../TestTablesCreateDropAlterTruncate.java      |    2 +-
 .../hive/streaming/HiveStreamingConnection.java |    2 +-
 54 files changed, 7781 insertions(+), 289 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/d7bbc20d/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hive/blob/d7bbc20d/ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hive/blob/d7bbc20d/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hive/blob/d7bbc20d/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
----------------------------------------------------------------------


[04/20] hive git commit: HIVE-19967 : SMB Join : Need Optraits for PTFOperator ala GBY Op (Deepak Jaiswal, reviewed by Jason Dere)

Posted by se...@apache.org.
HIVE-19967 : SMB Join : Need Optraits for PTFOperator ala GBY Op (Deepak Jaiswal, reviewed by Jason Dere)


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

Branch: refs/heads/master-txnstats
Commit: 35cec21d2672c0dacefef134f943301f5e00d964
Parents: 2b0cb07
Author: Deepak Jaiswal <dj...@apache.org>
Authored: Fri Jun 29 10:30:46 2018 -0700
Committer: Deepak Jaiswal <dj...@apache.org>
Committed: Fri Jun 29 10:30:46 2018 -0700

----------------------------------------------------------------------
 .../test/resources/testconfiguration.properties |   1 +
 .../annotation/AnnotateWithOpTraits.java        |   4 +-
 .../annotation/OpTraitsRulesProcFactory.java    |  56 +-
 .../test/queries/clientpositive/llap_smb_ptf.q  | 236 +++++
 .../clientpositive/tez_smb_reduce_side.q        | 115 +++
 .../clientpositive/llap/llap_smb_ptf.q.out      | 744 +++++++++++++++
 .../llap/tez_smb_reduce_side.q.out              | 942 +++++++++++++++++++
 7 files changed, 2095 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/35cec21d/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 0f1208a..2610bdd 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -540,6 +540,7 @@ minillaplocal.query.files=\
   llap_acid2.q,\
   llap_partitioned.q,\
   llap_smb.q,\
+  llap_smb_ptf.q,\
   llap_vector_nohybridgrace.q,\
   llap_uncompressed.q,\
   llap_decimal64_reader.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/35cec21d/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/AnnotateWithOpTraits.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/AnnotateWithOpTraits.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/AnnotateWithOpTraits.java
index 3c8e61d..7ab53b2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/AnnotateWithOpTraits.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/AnnotateWithOpTraits.java
@@ -32,6 +32,7 @@ import org.apache.hadoop.hive.ql.exec.SMBMapJoinOperator;
 import org.apache.hadoop.hive.ql.exec.SelectOperator;
 import org.apache.hadoop.hive.ql.exec.TableScanOperator;
 import org.apache.hadoop.hive.ql.exec.UnionOperator;
+import org.apache.hadoop.hive.ql.exec.PTFOperator;
 import org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher;
 import org.apache.hadoop.hive.ql.lib.Dispatcher;
 import org.apache.hadoop.hive.ql.lib.GraphWalker;
@@ -41,7 +42,6 @@ import org.apache.hadoop.hive.ql.lib.NodeProcessor;
 import org.apache.hadoop.hive.ql.lib.Rule;
 import org.apache.hadoop.hive.ql.lib.RuleRegExp;
 import org.apache.hadoop.hive.ql.optimizer.Transform;
-import org.apache.hadoop.hive.ql.optimizer.metainfo.annotation.OpTraitsRulesProcFactory;
 import org.apache.hadoop.hive.ql.parse.ParseContext;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
 
@@ -76,6 +76,8 @@ public class AnnotateWithOpTraits extends Transform {
         OpTraitsRulesProcFactory.getMultiParentRule());
     opRules.put(new RuleRegExp("GBY", GroupByOperator.getOperatorName() + "%"),
         OpTraitsRulesProcFactory.getGroupByRule());
+    opRules.put(new RuleRegExp("PTF", PTFOperator.getOperatorName() + "%"),
+        OpTraitsRulesProcFactory.getPTFRule());
     opRules.put(new RuleRegExp("SEL", SelectOperator.getOperatorName() + "%"),
         OpTraitsRulesProcFactory.getSelectRule());
 

http://git-wip-us.apache.org/repos/asf/hive/blob/35cec21d/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
index dbcbbfd..263770e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
@@ -29,6 +29,7 @@ import org.apache.hadoop.hive.ql.exec.Operator;
 import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator;
 import org.apache.hadoop.hive.ql.exec.SelectOperator;
 import org.apache.hadoop.hive.ql.exec.TableScanOperator;
+import org.apache.hadoop.hive.ql.exec.PTFOperator;
 import org.apache.hadoop.hive.ql.lib.Node;
 import org.apache.hadoop.hive.ql.lib.NodeProcessor;
 import org.apache.hadoop.hive.ql.lib.NodeProcessorCtx;
@@ -40,6 +41,8 @@ import org.apache.hadoop.hive.ql.parse.ParseContext;
 import org.apache.hadoop.hive.ql.parse.PrunedPartitionList;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
 import org.apache.hadoop.hive.ql.plan.*;
+import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef;
+import org.apache.hadoop.hive.ql.plan.ptf.PartitionDef;
 
 /*
  * This class populates the following operator traits for the entire operator tree:
@@ -233,7 +236,7 @@ public class OpTraitsRulesProcFactory {
     public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
         Object... nodeOutputs) throws SemanticException {
       GroupByOperator gbyOp = (GroupByOperator)nd;
-      List<String> gbyKeys = new ArrayList<String>();
+      List<String> gbyKeys = new ArrayList<>();
       for (ExprNodeDesc exprDesc : gbyOp.getConf().getKeys()) {
         for (Entry<String, ExprNodeDesc> entry : gbyOp.getColumnExprMap().entrySet()) {
           if (exprDesc.isSame(entry.getValue())) {
@@ -242,7 +245,7 @@ public class OpTraitsRulesProcFactory {
         }
       }
 
-      List<List<String>> listBucketCols = new ArrayList<List<String>>();
+      List<List<String>> listBucketCols = new ArrayList<>();
       int numReduceSinks = 0;
       int bucketingVersion = -1;
       OpTraits parentOpTraits = gbyOp.getParentOperators().get(0).getOpTraits();
@@ -258,6 +261,51 @@ public class OpTraitsRulesProcFactory {
     }
   }
 
+
+  /*
+   * PTFOperator re-orders the keys just like Group By Operator does.
+   */
+  public static class PTFRule implements NodeProcessor {
+
+    @Override
+    public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
+                          Object... nodeOutputs) throws SemanticException {
+      PTFOperator ptfOp = (PTFOperator) nd;
+      List<String> partitionKeys = new ArrayList<>();
+
+      PartitionDef partition = ptfOp.getConf().getFuncDef().getPartition();
+      if (partition != null && partition.getExpressions() != null) {
+        // Go through each expression in PTF window function.
+        // All the expressions must be on columns, else we put empty list.
+        for (PTFExpressionDef expression : partition.getExpressions()) {
+          ExprNodeDesc exprNode = expression.getExprNode();
+          if (!(exprNode instanceof ExprNodeColumnDesc)) {
+            // clear out the list and bail out
+            partitionKeys.clear();
+            break;
+          }
+
+          partitionKeys.add(exprNode.getExprString());
+        }
+      }
+
+      List<List<String>> listBucketCols = new ArrayList<>();
+      int numReduceSinks = 0;
+      int bucketingVersion = -1;
+      OpTraits parentOptraits = ptfOp.getParentOperators().get(0).getOpTraits();
+      if (parentOptraits != null) {
+        numReduceSinks = parentOptraits.getNumReduceSinks();
+        bucketingVersion = parentOptraits.getBucketingVersion();
+      }
+
+      listBucketCols.add(partitionKeys);
+      OpTraits opTraits = new OpTraits(listBucketCols, -1, listBucketCols,
+          numReduceSinks, bucketingVersion);
+      ptfOp.setOpTraits(opTraits);
+      return null;
+    }
+  }
+
   public static class SelectRule implements NodeProcessor {
 
     boolean processSortCols = false;
@@ -480,6 +528,10 @@ public class OpTraitsRulesProcFactory {
     return new GroupByRule();
   }
 
+  public static NodeProcessor getPTFRule() {
+    return new PTFRule();
+  }
+
   public static NodeProcessor getJoinRule() {
     return new JoinRule();
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/35cec21d/ql/src/test/queries/clientpositive/llap_smb_ptf.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/llap_smb_ptf.q b/ql/src/test/queries/clientpositive/llap_smb_ptf.q
new file mode 100644
index 0000000..037b97d
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/llap_smb_ptf.q
@@ -0,0 +1,236 @@
+set hive.exec.dynamic.partition.mode=nonstrict;
+
+CREATE TABLE cogs_alc_rqst_trgt_offs(
+  cogs_alc_rqst_trgt_offs_id int,
+  last_upd_sysusr_id string,
+  last_upd_ts string,
+  cogs_alc_rqst_id int,
+  offs_mnr_acct_nbr smallint,
+  offs_mjr_acct_nbr smallint,
+  offs_amt decimal(17,4),
+  offs_dr_cr_ind string,
+  offs_loc_nbr string,
+  offs_loc_typ_cd string,
+  offs_sap_co_nbr string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY');
+
+CREATE TABLE cogs_alc_rqst(
+  cogs_alc_rqst_id int,
+  crt_sysusr_id string,
+  crt_ts string,
+  last_upd_sysusr_id string,
+  last_upd_ts string,
+  cogs_alc_bth_prcss_id int,
+  cogs_alc_mde_cd smallint,
+  cogs_alc_stat_cd smallint,
+  cogs_alc_typ_cd smallint,
+  cogs_alc_basis_cd smallint,
+  fin_post_typ_cd smallint,
+  eff_bgn_dt string,
+  eff_end_dt string,
+  cogs_alc_pstruct_cd smallint,
+  cogs_alc_os_cd smallint,
+  cogs_alc_fti_cd smallint,
+  cogs_alc_os_fti_cd smallint,
+  cogs_alc_rqst_dt string,
+  bgn_fscl_yr smallint,
+  bgn_fscl_wk_nbr smallint,
+  bgn_fscl_prd_nbr smallint,
+  bgn_dt string,
+  end_fscl_yr smallint,
+  end_fscl_wk_nbr smallint,
+  end_fscl_prd_nbr smallint,
+  end_dt string,
+  alloc_amt decimal(17,4),
+  dr_cr_ind string,
+  alloc_pvndr_nbr int,
+  alloc_mvndr_nbr int,
+  purch_vndr_typ_ind string,
+  alloc_mjr_acct_nbr smallint,
+  alloc_mnr_acct_nbr smallint,
+  cogs_alc_prnt_rqst_id int,
+  cogs_alc_prnt_rqst_dt string,
+  sap_xref_txt string,
+  stats_xref_txt string,
+  alloc_stat_dest_ind string,
+  invc_nbr string,
+  ap_po_nbr string,
+  bth_src_file_line_nbr int,
+  cogs_alc_bth_src_xref_id string,
+  mer_alloc_flg string,
+  sap_snd_flg string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY',
+'totalSize'='820240');
+
+CREATE TABLE cogs_alc_stat(
+  cogs_alc_bth_prcss_id int,
+  cogs_alc_rqst_id int,
+  cogs_alc_stat_cd smallint,
+  last_upd_pgm_id string,
+  last_upd_ts string,
+  d_stat_cd string,
+  intrvl_cnt int)
+PARTITIONED BY (
+  part_stat_desc string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC;
+
+
+CREATE TABLE int_cogs_alc_post_stg(
+  cogs_alc_rqst_id int,
+  cogs_alc_rqst_dt string,
+  loc_nbr string,
+  loc_typ_cd string,
+  mvndr_nbr int,
+  mer_dept_nbr smallint,
+  sku_nbr int,
+  last_upd_pgm_id string,
+  last_upd_ts string,
+  cogs_alc_bth_prcss_id int,
+  alloc_assg_ind string,
+  alloc_stat_dest_ind string,
+  bgn_dt string,
+  end_dt string,
+  pvndr_nbr int,
+  ibu_id string,
+  ext_cost_amt decimal(22,9),
+  ext_cost_rnd_amt decimal(17,4),
+  ext_retl_amt decimal(22,9),
+  ext_retl_rnd_amt decimal(17,4),
+  alloc_mjr_acct_nbr smallint,
+  alloc_mnr_acct_nbr smallint,
+  recpt_typ_cd string,
+  recpt_sub_typ_cd string,
+  onln_rlse_typ_ind string,
+  rcvd_unt_cnt int,
+  ord_unt_qty int,
+  purch_typ_ind string,
+  keyrec_typ_ind string,
+  key_xfer_nbr int,
+  dtl_rcvd_dt string,
+  po_nbr string,
+  invc_nbr string,
+  invc_dt string,
+  pj_trans_typ_cd string,
+  src_sub_sys_cd string,
+  fin_sys_adoc_nbr string,
+  rga_txt string,
+  rtv_evnt_txt string,
+  rtv_evnt_ts string,
+  stk_flow_thru_ind string,
+  po_crt_dt string,
+  upc_cd string,
+  fin_post_typ_cd smallint,
+  offs_flg string,
+  sap_co_nbr string,
+  cost_ctr_id string,
+  cogs_alc_stat_cd smallint,
+  acct_typ_ind string,
+  dom_purch_inv_ind string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY');
+
+set hive.enforce.sortmergebucketmapjoin=false;
+set hive.optimize.bucketmapjoin=true;
+set hive.optimize.bucketmapjoin.sortedmerge=true;
+set hive.auto.convert.join=true;
+set hive.auto.convert.join.noconditionaltask.size=1;
+set hive.merge.nway.joins=false;
+
+set hive.auto.convert.sortmerge.join=true;
+
+-- Should NOT create SMB
+EXPLAIN
+SELECT status_rqst.*
+FROM (
+  SELECT status_rnk.cogs_alc_rqst_id,
+         rqst.fin_post_typ_cd,
+         rqst.dr_cr_ind,
+         rqst.cogs_alc_typ_cd,
+         rqst.mer_alloc_flg,
+         rqst.cogs_alc_basis_cd,
+         rqst.end_dt,
+         offs_trgt.offs_mnr_acct_nbr,
+         offs_trgt.offs_mjr_acct_nbr,
+         offs_trgt.offs_dr_cr_ind,
+         offs_trgt.offs_sap_co_nbr,
+         offs_trgt.offs_loc_nbr,
+         '201611160940'
+  FROM (
+    SELECT distinct cogs_alc_rqst_id,
+                    last_upd_ts AS rnk
+    FROM COGS_ALC_STAT ) status_rnk
+    JOIN (
+      SELECT fin_post_typ_cd,
+             dr_cr_ind,
+             cogs_alc_typ_cd,
+             mer_alloc_flg,
+             cogs_alc_rqst_id,
+             cogs_alc_rqst_dt,
+             cogs_alc_basis_cd,
+             end_dt,
+             Row_number( )
+             over (
+             PARTITION BY cogs_alc_rqst_id, last_upd_ts
+             ORDER BY last_upd_ts  ) AS rnk
+      FROM COGS_ALC_RQST ) rqst
+      ON ( rqst.cogs_alc_rqst_id = status_rnk.cogs_alc_rqst_id )
+    LEFT OUTER JOIN (
+      SELECT OFF.*
+      FROM (
+        SELECT offs_mnr_acct_nbr,
+               offs_mjr_acct_nbr,
+               offs_loc_nbr,
+               offs_dr_cr_ind,
+               offs_sap_co_nbr,
+               cogs_alc_rqst_id,
+               Row_number( )
+               over (
+               PARTITION BY cogs_alc_rqst_id, last_upd_ts
+               ORDER BY last_upd_ts  ) AS rnk
+        FROM COGS_ALC_RQST_TRGT_OFFS ) OFF
+      WHERE OFF.rnk = 1 ) offs_trgt
+      ON ( rqst.cogs_alc_rqst_id = offs_trgt.cogs_alc_rqst_id )
+  WHERE rqst.rnk = 1 ) status_rqst
+  LEFT OUTER JOIN (
+    SELECT DISTINCT temp_post.cogs_alc_rqst_id,
+                    temp_post.last_upd_ts
+    FROM INT_COGS_ALC_POST_STG temp_post
+    WHERE part_dt IN ( '201611181320' ) ) failed_rqst
+    ON ( failed_rqst.cogs_alc_rqst_id = status_rqst.cogs_alc_rqst_id )
+WHERE failed_rqst.cogs_alc_rqst_id IS NULL;
+

http://git-wip-us.apache.org/repos/asf/hive/blob/35cec21d/ql/src/test/queries/clientpositive/tez_smb_reduce_side.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/tez_smb_reduce_side.q b/ql/src/test/queries/clientpositive/tez_smb_reduce_side.q
new file mode 100644
index 0000000..8756b6c
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/tez_smb_reduce_side.q
@@ -0,0 +1,115 @@
+--! qt:dataset:src1
+--! qt:dataset:src
+set hive.mapred.mode=nonstrict;
+set hive.auto.convert.join=false;
+
+drop table if exists src_10;
+drop table if exists src1_10;
+
+create table src_10 as select * from src limit 2;
+create table src1_10 as select * from src1 limit 2;
+
+select key, count(*) from src1_10 group by key;
+select key, count(*) from src_10 group by key;
+-- Right Outer Join should be handled.
+
+EXPLAIN
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp;
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp;
+
+drop table if exists src_10;
+drop table if exists src1_10;
+
+create table src_10 as select * from src limit 3;
+create table src1_10 as select * from src1 limit 3;
+
+select key, count(*) from src1_10 group by key;
+select key, count(*) from src_10 group by key;
+-- Right Outer Join should be handled.
+
+set hive.auto.convert.sortmerge.join=true;
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp;
+
+
+drop table if exists src_10;
+drop table if exists src1_10;
+
+create table src_10 as select * from src limit 4;
+create table src1_10 as select * from src1 limit 4;
+
+select key, count(*) from src1_10 group by key;
+select key, count(*) from src_10 group by key;
+-- Right Outer Join should be handled.
+
+set hive.auto.convert.sortmerge.join=true;
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp;
+
+drop table if exists src_10;
+drop table if exists src1_10;
+
+create table src_10 as select * from src limit 5;
+create table src1_10 as select * from src1 limit 5;
+
+select key, count(*) from src1_10 group by key;
+select key, count(*) from src_10 group by key;
+-- Right Outer Join should be handled.
+
+set hive.auto.convert.sortmerge.join=true;
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp;
+
+drop table if exists src_10;
+drop table if exists src1_10;
+
+create table src_10 as select * from src limit 10;
+create table src1_10 as select * from src1 limit 10;
+
+select key, count(*) from src1_10 group by key;
+select key, count(*) from src_10 group by key;
+-- Right Outer Join should be handled.
+
+set hive.auto.convert.sortmerge.join=true;
+SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2))
+FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2
+      FROM (SELECT x.key as key, count(x.value) AS cnt FROM src_10 x group by x.key) a
+        RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1_10 y group by y.key) b
+          ON (a.key = b.key)) tmp;
+
+
+
+
+CREATE TABLE t1 (c1 INT, c2 CHAR(100));
+INSERT INTO t1 VALUES (1,''), (100,'abcdefghij'), (200, 'aa'), (300, 'bbb');
+
+CREATE TABLE t2 (c1 INT);
+INSERT INTO t2 VALUES (100), (200);
+
+explain SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1);
+SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1);
+
+drop table t2;
+CREATE TABLE t2 (c1 INT);
+INSERT INTO t2 VALUES (100), (300);
+
+explain SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1);
+SELECT c1 FROM t1 WHERE c1 NOT IN (SELECT c1 FROM t2 where t1.c1=t2.c1);
+

http://git-wip-us.apache.org/repos/asf/hive/blob/35cec21d/ql/src/test/results/clientpositive/llap/llap_smb_ptf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/llap_smb_ptf.q.out b/ql/src/test/results/clientpositive/llap/llap_smb_ptf.q.out
new file mode 100644
index 0000000..33da686
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/llap_smb_ptf.q.out
@@ -0,0 +1,744 @@
+PREHOOK: query: CREATE TABLE cogs_alc_rqst_trgt_offs(
+  cogs_alc_rqst_trgt_offs_id int,
+  last_upd_sysusr_id string,
+  last_upd_ts string,
+  cogs_alc_rqst_id int,
+  offs_mnr_acct_nbr smallint,
+  offs_mjr_acct_nbr smallint,
+  offs_amt decimal(17,4),
+  offs_dr_cr_ind string,
+  offs_loc_nbr string,
+  offs_loc_typ_cd string,
+  offs_sap_co_nbr string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@cogs_alc_rqst_trgt_offs
+POSTHOOK: query: CREATE TABLE cogs_alc_rqst_trgt_offs(
+  cogs_alc_rqst_trgt_offs_id int,
+  last_upd_sysusr_id string,
+  last_upd_ts string,
+  cogs_alc_rqst_id int,
+  offs_mnr_acct_nbr smallint,
+  offs_mjr_acct_nbr smallint,
+  offs_amt decimal(17,4),
+  offs_dr_cr_ind string,
+  offs_loc_nbr string,
+  offs_loc_typ_cd string,
+  offs_sap_co_nbr string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@cogs_alc_rqst_trgt_offs
+PREHOOK: query: CREATE TABLE cogs_alc_rqst(
+  cogs_alc_rqst_id int,
+  crt_sysusr_id string,
+  crt_ts string,
+  last_upd_sysusr_id string,
+  last_upd_ts string,
+  cogs_alc_bth_prcss_id int,
+  cogs_alc_mde_cd smallint,
+  cogs_alc_stat_cd smallint,
+  cogs_alc_typ_cd smallint,
+  cogs_alc_basis_cd smallint,
+  fin_post_typ_cd smallint,
+  eff_bgn_dt string,
+  eff_end_dt string,
+  cogs_alc_pstruct_cd smallint,
+  cogs_alc_os_cd smallint,
+  cogs_alc_fti_cd smallint,
+  cogs_alc_os_fti_cd smallint,
+  cogs_alc_rqst_dt string,
+  bgn_fscl_yr smallint,
+  bgn_fscl_wk_nbr smallint,
+  bgn_fscl_prd_nbr smallint,
+  bgn_dt string,
+  end_fscl_yr smallint,
+  end_fscl_wk_nbr smallint,
+  end_fscl_prd_nbr smallint,
+  end_dt string,
+  alloc_amt decimal(17,4),
+  dr_cr_ind string,
+  alloc_pvndr_nbr int,
+  alloc_mvndr_nbr int,
+  purch_vndr_typ_ind string,
+  alloc_mjr_acct_nbr smallint,
+  alloc_mnr_acct_nbr smallint,
+  cogs_alc_prnt_rqst_id int,
+  cogs_alc_prnt_rqst_dt string,
+  sap_xref_txt string,
+  stats_xref_txt string,
+  alloc_stat_dest_ind string,
+  invc_nbr string,
+  ap_po_nbr string,
+  bth_src_file_line_nbr int,
+  cogs_alc_bth_src_xref_id string,
+  mer_alloc_flg string,
+  sap_snd_flg string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY',
+'totalSize'='820240')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@cogs_alc_rqst
+POSTHOOK: query: CREATE TABLE cogs_alc_rqst(
+  cogs_alc_rqst_id int,
+  crt_sysusr_id string,
+  crt_ts string,
+  last_upd_sysusr_id string,
+  last_upd_ts string,
+  cogs_alc_bth_prcss_id int,
+  cogs_alc_mde_cd smallint,
+  cogs_alc_stat_cd smallint,
+  cogs_alc_typ_cd smallint,
+  cogs_alc_basis_cd smallint,
+  fin_post_typ_cd smallint,
+  eff_bgn_dt string,
+  eff_end_dt string,
+  cogs_alc_pstruct_cd smallint,
+  cogs_alc_os_cd smallint,
+  cogs_alc_fti_cd smallint,
+  cogs_alc_os_fti_cd smallint,
+  cogs_alc_rqst_dt string,
+  bgn_fscl_yr smallint,
+  bgn_fscl_wk_nbr smallint,
+  bgn_fscl_prd_nbr smallint,
+  bgn_dt string,
+  end_fscl_yr smallint,
+  end_fscl_wk_nbr smallint,
+  end_fscl_prd_nbr smallint,
+  end_dt string,
+  alloc_amt decimal(17,4),
+  dr_cr_ind string,
+  alloc_pvndr_nbr int,
+  alloc_mvndr_nbr int,
+  purch_vndr_typ_ind string,
+  alloc_mjr_acct_nbr smallint,
+  alloc_mnr_acct_nbr smallint,
+  cogs_alc_prnt_rqst_id int,
+  cogs_alc_prnt_rqst_dt string,
+  sap_xref_txt string,
+  stats_xref_txt string,
+  alloc_stat_dest_ind string,
+  invc_nbr string,
+  ap_po_nbr string,
+  bth_src_file_line_nbr int,
+  cogs_alc_bth_src_xref_id string,
+  mer_alloc_flg string,
+  sap_snd_flg string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY',
+'totalSize'='820240')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@cogs_alc_rqst
+PREHOOK: query: CREATE TABLE cogs_alc_stat(
+  cogs_alc_bth_prcss_id int,
+  cogs_alc_rqst_id int,
+  cogs_alc_stat_cd smallint,
+  last_upd_pgm_id string,
+  last_upd_ts string,
+  d_stat_cd string,
+  intrvl_cnt int)
+PARTITIONED BY (
+  part_stat_desc string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@cogs_alc_stat
+POSTHOOK: query: CREATE TABLE cogs_alc_stat(
+  cogs_alc_bth_prcss_id int,
+  cogs_alc_rqst_id int,
+  cogs_alc_stat_cd smallint,
+  last_upd_pgm_id string,
+  last_upd_ts string,
+  d_stat_cd string,
+  intrvl_cnt int)
+PARTITIONED BY (
+  part_stat_desc string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@cogs_alc_stat
+PREHOOK: query: CREATE TABLE int_cogs_alc_post_stg(
+  cogs_alc_rqst_id int,
+  cogs_alc_rqst_dt string,
+  loc_nbr string,
+  loc_typ_cd string,
+  mvndr_nbr int,
+  mer_dept_nbr smallint,
+  sku_nbr int,
+  last_upd_pgm_id string,
+  last_upd_ts string,
+  cogs_alc_bth_prcss_id int,
+  alloc_assg_ind string,
+  alloc_stat_dest_ind string,
+  bgn_dt string,
+  end_dt string,
+  pvndr_nbr int,
+  ibu_id string,
+  ext_cost_amt decimal(22,9),
+  ext_cost_rnd_amt decimal(17,4),
+  ext_retl_amt decimal(22,9),
+  ext_retl_rnd_amt decimal(17,4),
+  alloc_mjr_acct_nbr smallint,
+  alloc_mnr_acct_nbr smallint,
+  recpt_typ_cd string,
+  recpt_sub_typ_cd string,
+  onln_rlse_typ_ind string,
+  rcvd_unt_cnt int,
+  ord_unt_qty int,
+  purch_typ_ind string,
+  keyrec_typ_ind string,
+  key_xfer_nbr int,
+  dtl_rcvd_dt string,
+  po_nbr string,
+  invc_nbr string,
+  invc_dt string,
+  pj_trans_typ_cd string,
+  src_sub_sys_cd string,
+  fin_sys_adoc_nbr string,
+  rga_txt string,
+  rtv_evnt_txt string,
+  rtv_evnt_ts string,
+  stk_flow_thru_ind string,
+  po_crt_dt string,
+  upc_cd string,
+  fin_post_typ_cd smallint,
+  offs_flg string,
+  sap_co_nbr string,
+  cost_ctr_id string,
+  cogs_alc_stat_cd smallint,
+  acct_typ_ind string,
+  dom_purch_inv_ind string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@int_cogs_alc_post_stg
+POSTHOOK: query: CREATE TABLE int_cogs_alc_post_stg(
+  cogs_alc_rqst_id int,
+  cogs_alc_rqst_dt string,
+  loc_nbr string,
+  loc_typ_cd string,
+  mvndr_nbr int,
+  mer_dept_nbr smallint,
+  sku_nbr int,
+  last_upd_pgm_id string,
+  last_upd_ts string,
+  cogs_alc_bth_prcss_id int,
+  alloc_assg_ind string,
+  alloc_stat_dest_ind string,
+  bgn_dt string,
+  end_dt string,
+  pvndr_nbr int,
+  ibu_id string,
+  ext_cost_amt decimal(22,9),
+  ext_cost_rnd_amt decimal(17,4),
+  ext_retl_amt decimal(22,9),
+  ext_retl_rnd_amt decimal(17,4),
+  alloc_mjr_acct_nbr smallint,
+  alloc_mnr_acct_nbr smallint,
+  recpt_typ_cd string,
+  recpt_sub_typ_cd string,
+  onln_rlse_typ_ind string,
+  rcvd_unt_cnt int,
+  ord_unt_qty int,
+  purch_typ_ind string,
+  keyrec_typ_ind string,
+  key_xfer_nbr int,
+  dtl_rcvd_dt string,
+  po_nbr string,
+  invc_nbr string,
+  invc_dt string,
+  pj_trans_typ_cd string,
+  src_sub_sys_cd string,
+  fin_sys_adoc_nbr string,
+  rga_txt string,
+  rtv_evnt_txt string,
+  rtv_evnt_ts string,
+  stk_flow_thru_ind string,
+  po_crt_dt string,
+  upc_cd string,
+  fin_post_typ_cd smallint,
+  offs_flg string,
+  sap_co_nbr string,
+  cost_ctr_id string,
+  cogs_alc_stat_cd smallint,
+  acct_typ_ind string,
+  dom_purch_inv_ind string)
+PARTITIONED BY (
+  part_dt string)
+CLUSTERED BY (cogs_alc_rqst_id)
+SORTED BY (cogs_alc_rqst_id)
+INTO 5 BUCKETS
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+LINES TERMINATED BY '\n'
+STORED AS ORC
+TBLPROPERTIES (
+'orc.compress'='SNAPPY')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@int_cogs_alc_post_stg
+PREHOOK: query: EXPLAIN
+SELECT status_rqst.*
+FROM (
+  SELECT status_rnk.cogs_alc_rqst_id,
+         rqst.fin_post_typ_cd,
+         rqst.dr_cr_ind,
+         rqst.cogs_alc_typ_cd,
+         rqst.mer_alloc_flg,
+         rqst.cogs_alc_basis_cd,
+         rqst.end_dt,
+         offs_trgt.offs_mnr_acct_nbr,
+         offs_trgt.offs_mjr_acct_nbr,
+         offs_trgt.offs_dr_cr_ind,
+         offs_trgt.offs_sap_co_nbr,
+         offs_trgt.offs_loc_nbr,
+         '201611160940'
+  FROM (
+    SELECT distinct cogs_alc_rqst_id,
+                    last_upd_ts AS rnk
+    FROM COGS_ALC_STAT ) status_rnk
+    JOIN (
+      SELECT fin_post_typ_cd,
+             dr_cr_ind,
+             cogs_alc_typ_cd,
+             mer_alloc_flg,
+             cogs_alc_rqst_id,
+             cogs_alc_rqst_dt,
+             cogs_alc_basis_cd,
+             end_dt,
+             Row_number( )
+             over (
+             PARTITION BY cogs_alc_rqst_id, last_upd_ts
+             ORDER BY last_upd_ts  ) AS rnk
+      FROM COGS_ALC_RQST ) rqst
+      ON ( rqst.cogs_alc_rqst_id = status_rnk.cogs_alc_rqst_id )
+    LEFT OUTER JOIN (
+      SELECT OFF.*
+      FROM (
+        SELECT offs_mnr_acct_nbr,
+               offs_mjr_acct_nbr,
+               offs_loc_nbr,
+               offs_dr_cr_ind,
+               offs_sap_co_nbr,
+               cogs_alc_rqst_id,
+               Row_number( )
+               over (
+               PARTITION BY cogs_alc_rqst_id, last_upd_ts
+               ORDER BY last_upd_ts  ) AS rnk
+        FROM COGS_ALC_RQST_TRGT_OFFS ) OFF
+      WHERE OFF.rnk = 1 ) offs_trgt
+      ON ( rqst.cogs_alc_rqst_id = offs_trgt.cogs_alc_rqst_id )
+  WHERE rqst.rnk = 1 ) status_rqst
+  LEFT OUTER JOIN (
+    SELECT DISTINCT temp_post.cogs_alc_rqst_id,
+                    temp_post.last_upd_ts
+    FROM INT_COGS_ALC_POST_STG temp_post
+    WHERE part_dt IN ( '201611181320' ) ) failed_rqst
+    ON ( failed_rqst.cogs_alc_rqst_id = status_rqst.cogs_alc_rqst_id )
+WHERE failed_rqst.cogs_alc_rqst_id IS NULL
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT status_rqst.*
+FROM (
+  SELECT status_rnk.cogs_alc_rqst_id,
+         rqst.fin_post_typ_cd,
+         rqst.dr_cr_ind,
+         rqst.cogs_alc_typ_cd,
+         rqst.mer_alloc_flg,
+         rqst.cogs_alc_basis_cd,
+         rqst.end_dt,
+         offs_trgt.offs_mnr_acct_nbr,
+         offs_trgt.offs_mjr_acct_nbr,
+         offs_trgt.offs_dr_cr_ind,
+         offs_trgt.offs_sap_co_nbr,
+         offs_trgt.offs_loc_nbr,
+         '201611160940'
+  FROM (
+    SELECT distinct cogs_alc_rqst_id,
+                    last_upd_ts AS rnk
+    FROM COGS_ALC_STAT ) status_rnk
+    JOIN (
+      SELECT fin_post_typ_cd,
+             dr_cr_ind,
+             cogs_alc_typ_cd,
+             mer_alloc_flg,
+             cogs_alc_rqst_id,
+             cogs_alc_rqst_dt,
+             cogs_alc_basis_cd,
+             end_dt,
+             Row_number( )
+             over (
+             PARTITION BY cogs_alc_rqst_id, last_upd_ts
+             ORDER BY last_upd_ts  ) AS rnk
+      FROM COGS_ALC_RQST ) rqst
+      ON ( rqst.cogs_alc_rqst_id = status_rnk.cogs_alc_rqst_id )
+    LEFT OUTER JOIN (
+      SELECT OFF.*
+      FROM (
+        SELECT offs_mnr_acct_nbr,
+               offs_mjr_acct_nbr,
+               offs_loc_nbr,
+               offs_dr_cr_ind,
+               offs_sap_co_nbr,
+               cogs_alc_rqst_id,
+               Row_number( )
+               over (
+               PARTITION BY cogs_alc_rqst_id, last_upd_ts
+               ORDER BY last_upd_ts  ) AS rnk
+        FROM COGS_ALC_RQST_TRGT_OFFS ) OFF
+      WHERE OFF.rnk = 1 ) offs_trgt
+      ON ( rqst.cogs_alc_rqst_id = offs_trgt.cogs_alc_rqst_id )
+  WHERE rqst.rnk = 1 ) status_rqst
+  LEFT OUTER JOIN (
+    SELECT DISTINCT temp_post.cogs_alc_rqst_id,
+                    temp_post.last_upd_ts
+    FROM INT_COGS_ALC_POST_STG temp_post
+    WHERE part_dt IN ( '201611181320' ) ) failed_rqst
+    ON ( failed_rqst.cogs_alc_rqst_id = status_rqst.cogs_alc_rqst_id )
+WHERE failed_rqst.cogs_alc_rqst_id IS NULL
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 11 <- Map 10 (SIMPLE_EDGE)
+        Reducer 2 <- Map 1 (SIMPLE_EDGE)
+        Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+        Reducer 4 <- Reducer 3 (ONE_TO_ONE_EDGE), Reducer 9 (SIMPLE_EDGE)
+        Reducer 5 <- Reducer 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+        Reducer 7 <- Map 6 (SIMPLE_EDGE)
+        Reducer 9 <- Map 8 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: cogs_alc_rqst
+                  filterExpr: cogs_alc_rqst_id is not null (type: boolean)
+                  Statistics: Num rows: 1 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: cogs_alc_rqst_id is not null (type: boolean)
+                    Statistics: Num rows: 1 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: cogs_alc_rqst_id (type: int), last_upd_ts (type: string)
+                      sort order: ++
+                      Map-reduce partition columns: cogs_alc_rqst_id (type: int), last_upd_ts (type: string)
+                      Statistics: Num rows: 1 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
+                      value expressions: cogs_alc_typ_cd (type: smallint), cogs_alc_basis_cd (type: smallint), fin_post_typ_cd (type: smallint), end_dt (type: string), dr_cr_ind (type: string), mer_alloc_flg (type: string)
+            Execution mode: vectorized, llap
+            LLAP IO: unknown
+        Map 10 
+            Map Operator Tree:
+                TableScan
+                  alias: temp_post
+                  filterExpr: ((part_dt = '201611181320') and cogs_alc_rqst_id is not null) (type: boolean)
+                  Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: ((part_dt = '201611181320') and cogs_alc_rqst_id is not null) (type: boolean)
+                    Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
+                    Select Operator
+                      expressions: cogs_alc_rqst_id (type: int), last_upd_ts (type: string)
+                      outputColumnNames: cogs_alc_rqst_id, last_upd_ts
+                      Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
+                      Group By Operator
+                        keys: cogs_alc_rqst_id (type: int), last_upd_ts (type: string)
+                        mode: hash
+                        outputColumnNames: _col0, _col1
+                        Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                        Reduce Output Operator
+                          key expressions: _col0 (type: int), _col1 (type: string)
+                          sort order: ++
+                          Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                          Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: vectorized, llap
+            LLAP IO: unknown
+        Map 6 
+            Map Operator Tree:
+                TableScan
+                  alias: cogs_alc_stat
+                  filterExpr: cogs_alc_rqst_id is not null (type: boolean)
+                  Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: cogs_alc_rqst_id is not null (type: boolean)
+                    Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                    Group By Operator
+                      keys: cogs_alc_rqst_id (type: int), last_upd_ts (type: string)
+                      mode: hash
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int), _col1 (type: string)
+                        sort order: ++
+                        Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                        Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: vectorized, llap
+            LLAP IO: unknown
+        Map 8 
+            Map Operator Tree:
+                TableScan
+                  alias: cogs_alc_rqst_trgt_offs
+                  filterExpr: cogs_alc_rqst_id is not null (type: boolean)
+                  Statistics: Num rows: 1 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: cogs_alc_rqst_id is not null (type: boolean)
+                    Statistics: Num rows: 1 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: cogs_alc_rqst_id (type: int), last_upd_ts (type: string)
+                      sort order: ++
+                      Map-reduce partition columns: cogs_alc_rqst_id (type: int), last_upd_ts (type: string)
+                      Statistics: Num rows: 1 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
+                      value expressions: offs_mnr_acct_nbr (type: smallint), offs_mjr_acct_nbr (type: smallint), offs_dr_cr_ind (type: string), offs_loc_nbr (type: string), offs_sap_co_nbr (type: string)
+            Execution mode: vectorized, llap
+            LLAP IO: unknown
+        Reducer 11 
+            Execution mode: vectorized, llap
+            Reduce Operator Tree:
+              Group By Operator
+                keys: KEY._col0 (type: int), KEY._col1 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                Select Operator
+                  expressions: _col0 (type: int)
+                  outputColumnNames: _col0
+                  Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: int)
+                    sort order: +
+                    Map-reduce partition columns: _col0 (type: int)
+                    Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: string), VALUE._col6 (type: smallint), VALUE._col7 (type: smallint), VALUE._col8 (type: smallint), VALUE._col23 (type: string), VALUE._col25 (type: string), VALUE._col40 (type: string)
+                outputColumnNames: _col0, _col4, _col8, _col9, _col10, _col25, _col27, _col42
+                Statistics: Num rows: 1 Data size: 788 Basic stats: COMPLETE Column stats: COMPLETE
+                PTF Operator
+                  Function definitions:
+                      Input definition
+                        input alias: ptf_0
+                        output shape: _col0: int, _col4: string, _col8: smallint, _col9: smallint, _col10: smallint, _col25: string, _col27: string, _col42: string
+                        type: WINDOWING
+                      Windowing table definition
+                        input alias: ptf_1
+                        name: windowingtablefunction
+                        order by: _col4 ASC NULLS FIRST
+                        partition by: _col0, _col4
+                        raw input shape:
+                        window functions:
+                            window function definition
+                              alias: Row_number_window_0
+                              name: Row_number
+                              window function: GenericUDAFRowNumberEvaluator
+                              window frame: ROWS PRECEDING(MAX)~FOLLOWING(MAX)
+                              isPivotResult: true
+                  Statistics: Num rows: 1 Data size: 788 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: (Row_number_window_0 = 1) (type: boolean)
+                    Statistics: Num rows: 1 Data size: 788 Basic stats: COMPLETE Column stats: COMPLETE
+                    Select Operator
+                      expressions: _col10 (type: smallint), _col27 (type: string), _col8 (type: smallint), _col42 (type: string), _col0 (type: int), _col9 (type: smallint), _col25 (type: string)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
+                      Statistics: Num rows: 1 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col4 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col4 (type: int)
+                        Statistics: Num rows: 1 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
+                        value expressions: _col0 (type: smallint), _col1 (type: string), _col2 (type: smallint), _col3 (type: string), _col5 (type: smallint), _col6 (type: string)
+        Reducer 3 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                keys:
+                  0 _col4 (type: int)
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
+                Statistics: Num rows: 1 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
+                Reduce Output Operator
+                  key expressions: _col4 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col4 (type: int)
+                  Statistics: Num rows: 1 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
+                  value expressions: _col0 (type: smallint), _col1 (type: string), _col2 (type: smallint), _col3 (type: string), _col5 (type: smallint), _col6 (type: string), _col7 (type: int)
+        Reducer 4 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Left Outer Join 0 to 1
+                keys:
+                  0 _col4 (type: int)
+                  1 _col5 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col5, _col6, _col7, _col9, _col10, _col11, _col12, _col13
+                Statistics: Num rows: 1 Data size: 504 Basic stats: COMPLETE Column stats: COMPLETE
+                Select Operator
+                  expressions: _col7 (type: int), _col0 (type: smallint), _col1 (type: string), _col2 (type: smallint), _col3 (type: string), _col5 (type: smallint), _col6 (type: string), _col9 (type: smallint), _col10 (type: smallint), _col12 (type: string), _col13 (type: string), _col11 (type: string)
+                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
+                  Statistics: Num rows: 1 Data size: 504 Basic stats: COMPLETE Column stats: COMPLETE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: int)
+                    sort order: +
+                    Map-reduce partition columns: _col0 (type: int)
+                    Statistics: Num rows: 1 Data size: 504 Basic stats: COMPLETE Column stats: COMPLETE
+                    value expressions: _col1 (type: smallint), _col2 (type: string), _col3 (type: smallint), _col4 (type: string), _col5 (type: smallint), _col6 (type: string), _col7 (type: smallint), _col8 (type: smallint), _col9 (type: string), _col10 (type: string), _col11 (type: string)
+        Reducer 5 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Left Outer Join 0 to 1
+                keys:
+                  0 _col0 (type: int)
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
+                Statistics: Num rows: 1 Data size: 504 Basic stats: COMPLETE Column stats: COMPLETE
+                Filter Operator
+                  predicate: _col12 is null (type: boolean)
+                  Statistics: Num rows: 1 Data size: 504 Basic stats: COMPLETE Column stats: COMPLETE
+                  Select Operator
+                    expressions: _col0 (type: int), _col1 (type: smallint), _col2 (type: string), _col3 (type: smallint), _col4 (type: string), _col5 (type: smallint), _col6 (type: string), _col7 (type: smallint), _col8 (type: smallint), _col9 (type: string), _col10 (type: string), _col11 (type: string), '201611160940' (type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
+                    Statistics: Num rows: 1 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 1 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                      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
+        Reducer 7 
+            Execution mode: vectorized, llap
+            Reduce Operator Tree:
+              Group By Operator
+                keys: KEY._col0 (type: int), KEY._col1 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                Select Operator
+                  expressions: _col0 (type: int)
+                  outputColumnNames: _col0
+                  Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: int)
+                    sort order: +
+                    Map-reduce partition columns: _col0 (type: int)
+                    Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
+        Reducer 9 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey1 (type: string), KEY.reducesinkkey0 (type: int), VALUE._col2 (type: smallint), VALUE._col3 (type: smallint), VALUE._col5 (type: string), VALUE._col6 (type: string), VALUE._col8 (type: string)
+                outputColumnNames: _col2, _col3, _col4, _col5, _col7, _col8, _col10
+                Statistics: Num rows: 1 Data size: 788 Basic stats: COMPLETE Column stats: COMPLETE
+                PTF Operator
+                  Function definitions:
+                      Input definition
+                        input alias: ptf_0
+                        output shape: _col2: string, _col3: int, _col4: smallint, _col5: smallint, _col7: string, _col8: string, _col10: string
+                        type: WINDOWING
+                      Windowing table definition
+                        input alias: ptf_1
+                        name: windowingtablefunction
+                        order by: _col2 ASC NULLS FIRST
+                        partition by: _col3, _col2
+                        raw input shape:
+                        window functions:
+                            window function definition
+                              alias: Row_number_window_0
+                              name: Row_number
+                              window function: GenericUDAFRowNumberEvaluator
+                              window frame: ROWS PRECEDING(MAX)~FOLLOWING(MAX)
+                              isPivotResult: true
+                  Statistics: Num rows: 1 Data size: 788 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: (Row_number_window_0 = 1) (type: boolean)
+                    Statistics: Num rows: 1 Data size: 788 Basic stats: COMPLETE Column stats: COMPLETE
+                    Select Operator
+                      expressions: _col4 (type: smallint), _col5 (type: smallint), _col8 (type: string), _col7 (type: string), _col10 (type: string), _col3 (type: int)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                      Statistics: Num rows: 1 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col5 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col5 (type: int)
+                        Statistics: Num rows: 1 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
+                        value expressions: _col0 (type: smallint), _col1 (type: smallint), _col2 (type: string), _col3 (type: string), _col4 (type: string)
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+


[13/20] hive git commit: HIVE-20004: Wrong scale used by ConvertDecimal64ToDecimal results in incorrect results (Prasanth Jayachandran reviewed by Matt McCline)

Posted by se...@apache.org.
HIVE-20004: Wrong scale used by ConvertDecimal64ToDecimal results in incorrect results (Prasanth Jayachandran reviewed by Matt McCline)


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

Branch: refs/heads/master-txnstats
Commit: 6acd74c9e3c7e3b7dac4bd4848def8d896d2cf0e
Parents: 78cbf14
Author: Prasanth Jayachandran <pr...@apache.org>
Authored: Sat Jun 30 12:23:13 2018 -0700
Committer: Prasanth Jayachandran <pr...@apache.org>
Committed: Sat Jun 30 12:23:13 2018 -0700

----------------------------------------------------------------------
 data/files/table_19.dat                         | 1080 ++++++++++++++++++
 data/files/table_8.dat                          | 1000 ++++++++++++++++
 .../test/resources/testconfiguration.properties |    1 +
 .../expressions/ConvertDecimal64ToDecimal.java  |    3 +-
 .../convert_decimal64_to_decimal.q              |   39 +
 .../convert_decimal64_to_decimal.q.out          |  438 +++++++
 .../llap/convert_decimal64_to_decimal.q.out     |  553 +++++++++
 .../clientpositive/llap/vector_decimal_5.q.out  |  114 +-
 .../clientpositive/llap/vector_decimal_6.q.out  |   46 +-
 .../llap/vector_decimal_mapjoin.q.out           |  428 ++++++-
 .../spark/vector_decimal_mapjoin.q.out          |  452 +++++++-
 .../clientpositive/vector_decimal_5.q.out       |  114 +-
 .../clientpositive/vector_decimal_mapjoin.q.out |  452 +++++++-
 13 files changed, 4546 insertions(+), 174 deletions(-)
----------------------------------------------------------------------



[09/20] hive git commit: HIVE-20004: Wrong scale used by ConvertDecimal64ToDecimal results in incorrect results (Prasanth Jayachandran reviewed by Matt McCline)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
index d6da582..27d6c1c 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
@@ -865,7 +865,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
 89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -876,7 +981,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -1038,7 +1143,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	33.66	14	10
+14.00	33.66	14	22
+14.00	33.66	14	34
+14.00	33.66	14	39
+14.00	33.66	14	42
+14.00	33.66	14	45
+14.00	33.66	14	46
+14.00	33.66	14	49
+14.00	33.66	14	5
+17.00	14.26	17	1
+17.00	14.26	17	14
+17.00	14.26	17	16
+17.00	14.26	17	19
+17.00	14.26	17	2
+17.00	14.26	17	22
+17.00	14.26	17	29
+17.00	14.26	17	3
+17.00	14.26	17	4
+17.00	14.26	17	44
+45.00	23.55	45	1
+45.00	23.55	45	2
+45.00	23.55	45	22
+45.00	23.55	45	24
+45.00	23.55	45	42
+6.00	29.78	6	16
+6.00	29.78	6	28
+6.00	29.78	6	30
+6.00	29.78	6	34
+6.00	29.78	6	36
+6.00	29.78	6	44
+62.00	21.02	62	15
+62.00	21.02	62	15
+62.00	21.02	62	21
+62.00	21.02	62	21
+62.00	21.02	62	22
+62.00	21.02	62	25
+62.00	21.02	62	29
+62.00	21.02	62	3
+62.00	21.02	62	34
+62.00	21.02	62	47
+62.00	21.02	62	47
+62.00	21.02	62	49
+64.00	37.76	64	0
+64.00	37.76	64	10
+64.00	37.76	64	10
+64.00	37.76	64	13
+64.00	37.76	64	23
+64.00	37.76	64	25
+64.00	37.76	64	26
+64.00	37.76	64	27
+64.00	37.76	64	27
+64.00	37.76	64	30
+64.00	37.76	64	32
+64.00	37.76	64	34
+64.00	37.76	64	35
+64.00	37.76	64	38
+64.00	37.76	64	40
+64.00	37.76	64	43
+64.00	37.76	64	5
+64.00	37.76	64	50
+70.00	24.59	70	2
+70.00	24.59	70	25
+70.00	24.59	70	27
+70.00	24.59	70	28
+70.00	24.59	70	3
+70.00	24.59	70	32
+70.00	24.59	70	44
+79.00	15.12	79	1
+79.00	15.12	79	15
+79.00	15.12	79	25
+79.00	15.12	79	30
+79.00	15.12	79	35
+79.00	15.12	79	35
+89.00	15.09	89	1
 89.00	15.09	89	15
+89.00	15.09	89	23
+89.00	15.09	89	27
+89.00	15.09	89	28
+89.00	15.09	89	29
+89.00	15.09	89	30
+89.00	15.09	89	32
+89.00	15.09	89	39
+89.00	15.09	89	40
+89.00	15.09	89	45
+89.00	15.09	89	7
+9.00	48.96	9	12
+9.00	48.96	9	15
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	20
+9.00	48.96	9	20
+9.00	48.96	9	21
+9.00	48.96	9	21
+9.00	48.96	9	26
+9.00	48.96	9	27
+9.00	48.96	9	34
+9.00	48.96	9	38
+9.00	48.96	9	41
+9.00	48.96	9	42
+9.00	48.96	9	45
+9.00	48.96	9	48
+9.00	48.96	9	49
+9.00	48.96	9	5
+9.00	48.96	9	7
+9.00	48.96	9	7
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1049,7 +1259,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -1212,7 +1422,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
 89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1223,7 +1538,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -1387,7 +1702,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	33.66	14	10
+14.00	33.66	14	22
+14.00	33.66	14	34
+14.00	33.66	14	39
+14.00	33.66	14	42
+14.00	33.66	14	45
+14.00	33.66	14	46
+14.00	33.66	14	49
+14.00	33.66	14	5
+17.00	14.26	17	1
+17.00	14.26	17	14
+17.00	14.26	17	16
+17.00	14.26	17	19
+17.00	14.26	17	2
+17.00	14.26	17	22
+17.00	14.26	17	29
+17.00	14.26	17	3
+17.00	14.26	17	4
+17.00	14.26	17	44
+45.00	23.55	45	1
+45.00	23.55	45	2
+45.00	23.55	45	22
+45.00	23.55	45	24
+45.00	23.55	45	42
+6.00	29.78	6	16
+6.00	29.78	6	28
+6.00	29.78	6	30
+6.00	29.78	6	34
+6.00	29.78	6	36
+6.00	29.78	6	44
+62.00	21.02	62	15
+62.00	21.02	62	15
+62.00	21.02	62	21
+62.00	21.02	62	21
+62.00	21.02	62	22
+62.00	21.02	62	25
+62.00	21.02	62	29
+62.00	21.02	62	3
+62.00	21.02	62	34
+62.00	21.02	62	47
+62.00	21.02	62	47
+62.00	21.02	62	49
+64.00	37.76	64	0
+64.00	37.76	64	10
+64.00	37.76	64	10
+64.00	37.76	64	13
+64.00	37.76	64	23
+64.00	37.76	64	25
+64.00	37.76	64	26
+64.00	37.76	64	27
+64.00	37.76	64	27
+64.00	37.76	64	30
+64.00	37.76	64	32
+64.00	37.76	64	34
+64.00	37.76	64	35
+64.00	37.76	64	38
+64.00	37.76	64	40
+64.00	37.76	64	43
+64.00	37.76	64	5
+64.00	37.76	64	50
+70.00	24.59	70	2
+70.00	24.59	70	25
+70.00	24.59	70	27
+70.00	24.59	70	28
+70.00	24.59	70	3
+70.00	24.59	70	32
+70.00	24.59	70	44
+79.00	15.12	79	1
+79.00	15.12	79	15
+79.00	15.12	79	25
+79.00	15.12	79	30
+79.00	15.12	79	35
+79.00	15.12	79	35
+89.00	15.09	89	1
 89.00	15.09	89	15
+89.00	15.09	89	23
+89.00	15.09	89	27
+89.00	15.09	89	28
+89.00	15.09	89	29
+89.00	15.09	89	30
+89.00	15.09	89	32
+89.00	15.09	89	39
+89.00	15.09	89	40
+89.00	15.09	89	45
+89.00	15.09	89	7
+9.00	48.96	9	12
+9.00	48.96	9	15
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	20
+9.00	48.96	9	20
+9.00	48.96	9	21
+9.00	48.96	9	21
+9.00	48.96	9	26
+9.00	48.96	9	27
+9.00	48.96	9	34
+9.00	48.96	9	38
+9.00	48.96	9	41
+9.00	48.96	9	42
+9.00	48.96	9	45
+9.00	48.96	9	48
+9.00	48.96	9	49
+9.00	48.96	9	5
+9.00	48.96	9	7
+9.00	48.96	9	7
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1398,4 +1818,4 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out b/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
index 9c646c3..f711413 100644
--- a/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
@@ -731,7 +731,7 @@ STAGE PLANS:
                 TableScan
                   alias: t2_small
                   filterExpr: dec is not null (type: boolean)
-                  Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
                       vectorizationSchemaColumns: [0:dec:decimal(14,0)/DECIMAL_64, 1:value_dec:decimal(14,0)/DECIMAL_64, 2:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
@@ -741,7 +741,7 @@ STAGE PLANS:
                         native: true
                         predicateExpression: SelectColumnIsNotNull(col 3:decimal(14,0))(children: ConvertDecimal64ToDecimal(col 0:decimal(14,0)/DECIMAL_64) -> 3:decimal(14,0))
                     predicate: dec is not null (type: boolean)
-                    Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: dec (type: decimal(14,0))
                       outputColumnNames: _col0
@@ -749,7 +749,7 @@ STAGE PLANS:
                           className: VectorSelectOperator
                           native: true
                           projectedOutputColumnNums: [0]
-                      Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                       Spark HashTable Sink Operator
                         Spark Hash Table Sink Vectorization:
                             className: VectorSparkHashTableSinkOperator
@@ -867,7 +867,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
 89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -878,7 +983,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -904,7 +1009,7 @@ STAGE PLANS:
                 TableScan
                   alias: t2_small
                   filterExpr: dec is not null (type: boolean)
-                  Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
                       vectorizationSchemaColumns: [0:dec:decimal(14,0)/DECIMAL_64, 1:value_dec:decimal(14,0)/DECIMAL_64, 2:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
@@ -914,7 +1019,7 @@ STAGE PLANS:
                         native: true
                         predicateExpression: SelectColumnIsNotNull(col 3:decimal(14,0))(children: ConvertDecimal64ToDecimal(col 0:decimal(14,0)/DECIMAL_64) -> 3:decimal(14,0))
                     predicate: dec is not null (type: boolean)
-                    Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: dec (type: decimal(14,0)), value_dec (type: decimal(14,0))
                       outputColumnNames: _col0, _col1
@@ -922,7 +1027,7 @@ STAGE PLANS:
                           className: VectorSelectOperator
                           native: true
                           projectedOutputColumnNums: [0, 1]
-                      Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                       Spark HashTable Sink Operator
                         Spark Hash Table Sink Vectorization:
                             className: VectorSparkHashTableSinkOperator
@@ -1040,7 +1145,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	33.66	14	10
+14.00	33.66	14	22
+14.00	33.66	14	34
+14.00	33.66	14	39
+14.00	33.66	14	42
+14.00	33.66	14	45
+14.00	33.66	14	46
+14.00	33.66	14	49
+14.00	33.66	14	5
+17.00	14.26	17	1
+17.00	14.26	17	14
+17.00	14.26	17	16
+17.00	14.26	17	19
+17.00	14.26	17	2
+17.00	14.26	17	22
+17.00	14.26	17	29
+17.00	14.26	17	3
+17.00	14.26	17	4
+17.00	14.26	17	44
+45.00	23.55	45	1
+45.00	23.55	45	2
+45.00	23.55	45	22
+45.00	23.55	45	24
+45.00	23.55	45	42
+6.00	29.78	6	16
+6.00	29.78	6	28
+6.00	29.78	6	30
+6.00	29.78	6	34
+6.00	29.78	6	36
+6.00	29.78	6	44
+62.00	21.02	62	15
+62.00	21.02	62	15
+62.00	21.02	62	21
+62.00	21.02	62	21
+62.00	21.02	62	22
+62.00	21.02	62	25
+62.00	21.02	62	29
+62.00	21.02	62	3
+62.00	21.02	62	34
+62.00	21.02	62	47
+62.00	21.02	62	47
+62.00	21.02	62	49
+64.00	37.76	64	0
+64.00	37.76	64	10
+64.00	37.76	64	10
+64.00	37.76	64	13
+64.00	37.76	64	23
+64.00	37.76	64	25
+64.00	37.76	64	26
+64.00	37.76	64	27
+64.00	37.76	64	27
+64.00	37.76	64	30
+64.00	37.76	64	32
+64.00	37.76	64	34
+64.00	37.76	64	35
+64.00	37.76	64	38
+64.00	37.76	64	40
+64.00	37.76	64	43
+64.00	37.76	64	5
+64.00	37.76	64	50
+70.00	24.59	70	2
+70.00	24.59	70	25
+70.00	24.59	70	27
+70.00	24.59	70	28
+70.00	24.59	70	3
+70.00	24.59	70	32
+70.00	24.59	70	44
+79.00	15.12	79	1
+79.00	15.12	79	15
+79.00	15.12	79	25
+79.00	15.12	79	30
+79.00	15.12	79	35
+79.00	15.12	79	35
+89.00	15.09	89	1
 89.00	15.09	89	15
+89.00	15.09	89	23
+89.00	15.09	89	27
+89.00	15.09	89	28
+89.00	15.09	89	29
+89.00	15.09	89	30
+89.00	15.09	89	32
+89.00	15.09	89	39
+89.00	15.09	89	40
+89.00	15.09	89	45
+89.00	15.09	89	7
+9.00	48.96	9	12
+9.00	48.96	9	15
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	20
+9.00	48.96	9	20
+9.00	48.96	9	21
+9.00	48.96	9	21
+9.00	48.96	9	26
+9.00	48.96	9	27
+9.00	48.96	9	34
+9.00	48.96	9	38
+9.00	48.96	9	41
+9.00	48.96	9	42
+9.00	48.96	9	45
+9.00	48.96	9	48
+9.00	48.96	9	49
+9.00	48.96	9	5
+9.00	48.96	9	7
+9.00	48.96	9	7
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1051,7 +1261,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -1077,7 +1287,7 @@ STAGE PLANS:
                 TableScan
                   alias: t2_small
                   filterExpr: dec is not null (type: boolean)
-                  Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
                       vectorizationSchemaColumns: [0:dec:decimal(14,0), 1:value_dec:decimal(14,0), 2:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
@@ -1087,7 +1297,7 @@ STAGE PLANS:
                         native: true
                         predicateExpression: SelectColumnIsNotNull(col 0:decimal(14,0))
                     predicate: dec is not null (type: boolean)
-                    Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: dec (type: decimal(14,0))
                       outputColumnNames: _col0
@@ -1095,7 +1305,7 @@ STAGE PLANS:
                           className: VectorSelectOperator
                           native: true
                           projectedOutputColumnNums: [0]
-                      Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                       Spark HashTable Sink Operator
                         Spark Hash Table Sink Vectorization:
                             className: VectorSparkHashTableSinkOperator
@@ -1215,7 +1425,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
 89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1226,7 +1541,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -1252,7 +1567,7 @@ STAGE PLANS:
                 TableScan
                   alias: t2_small
                   filterExpr: dec is not null (type: boolean)
-                  Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
                       vectorizationSchemaColumns: [0:dec:decimal(14,0), 1:value_dec:decimal(14,0), 2:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
@@ -1262,7 +1577,7 @@ STAGE PLANS:
                         native: true
                         predicateExpression: SelectColumnIsNotNull(col 0:decimal(14,0))
                     predicate: dec is not null (type: boolean)
-                    Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: dec (type: decimal(14,0)), value_dec (type: decimal(14,0))
                       outputColumnNames: _col0, _col1
@@ -1270,7 +1585,7 @@ STAGE PLANS:
                           className: VectorSelectOperator
                           native: true
                           projectedOutputColumnNums: [0, 1]
-                      Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                       Spark HashTable Sink Operator
                         Spark Hash Table Sink Vectorization:
                             className: VectorSparkHashTableSinkOperator
@@ -1390,7 +1705,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	33.66	14	10
+14.00	33.66	14	22
+14.00	33.66	14	34
+14.00	33.66	14	39
+14.00	33.66	14	42
+14.00	33.66	14	45
+14.00	33.66	14	46
+14.00	33.66	14	49
+14.00	33.66	14	5
+17.00	14.26	17	1
+17.00	14.26	17	14
+17.00	14.26	17	16
+17.00	14.26	17	19
+17.00	14.26	17	2
+17.00	14.26	17	22
+17.00	14.26	17	29
+17.00	14.26	17	3
+17.00	14.26	17	4
+17.00	14.26	17	44
+45.00	23.55	45	1
+45.00	23.55	45	2
+45.00	23.55	45	22
+45.00	23.55	45	24
+45.00	23.55	45	42
+6.00	29.78	6	16
+6.00	29.78	6	28
+6.00	29.78	6	30
+6.00	29.78	6	34
+6.00	29.78	6	36
+6.00	29.78	6	44
+62.00	21.02	62	15
+62.00	21.02	62	15
+62.00	21.02	62	21
+62.00	21.02	62	21
+62.00	21.02	62	22
+62.00	21.02	62	25
+62.00	21.02	62	29
+62.00	21.02	62	3
+62.00	21.02	62	34
+62.00	21.02	62	47
+62.00	21.02	62	47
+62.00	21.02	62	49
+64.00	37.76	64	0
+64.00	37.76	64	10
+64.00	37.76	64	10
+64.00	37.76	64	13
+64.00	37.76	64	23
+64.00	37.76	64	25
+64.00	37.76	64	26
+64.00	37.76	64	27
+64.00	37.76	64	27
+64.00	37.76	64	30
+64.00	37.76	64	32
+64.00	37.76	64	34
+64.00	37.76	64	35
+64.00	37.76	64	38
+64.00	37.76	64	40
+64.00	37.76	64	43
+64.00	37.76	64	5
+64.00	37.76	64	50
+70.00	24.59	70	2
+70.00	24.59	70	25
+70.00	24.59	70	27
+70.00	24.59	70	28
+70.00	24.59	70	3
+70.00	24.59	70	32
+70.00	24.59	70	44
+79.00	15.12	79	1
+79.00	15.12	79	15
+79.00	15.12	79	25
+79.00	15.12	79	30
+79.00	15.12	79	35
+79.00	15.12	79	35
+89.00	15.09	89	1
 89.00	15.09	89	15
+89.00	15.09	89	23
+89.00	15.09	89	27
+89.00	15.09	89	28
+89.00	15.09	89	29
+89.00	15.09	89	30
+89.00	15.09	89	32
+89.00	15.09	89	39
+89.00	15.09	89	40
+89.00	15.09	89	45
+89.00	15.09	89	7
+9.00	48.96	9	12
+9.00	48.96	9	15
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	20
+9.00	48.96	9	20
+9.00	48.96	9	21
+9.00	48.96	9	21
+9.00	48.96	9	26
+9.00	48.96	9	27
+9.00	48.96	9	34
+9.00	48.96	9	38
+9.00	48.96	9	41
+9.00	48.96	9	42
+9.00	48.96	9	45
+9.00	48.96	9	48
+9.00	48.96	9	49
+9.00	48.96	9	5
+9.00	48.96	9	7
+9.00	48.96	9	7
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1401,4 +1821,4 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/vector_decimal_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_5.q.out b/ql/src/test/results/clientpositive/vector_decimal_5.q.out
index f3e6b72..a2e114b 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_5.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_5.q.out
@@ -171,42 +171,42 @@ POSTHOOK: query: SELECT cast(key as decimal) FROM DECIMAL_5
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_5
 #### A masked pattern was here ####
--440000000
+-4400
 NULL
 0
 0
-10000000
-1000000
-100000
-10000
-1000
-20000000
-2000000
-200000
+100
+10
+1
 0
-20000
-2000
-30000
-33000
-33300
--30000
--33000
--33300
-100000
-200000
-314000
--112000
--112000
--112200
-112000
-112200
-12400000
-12520000
--125549000
-314000
-314000
-314000
-100000
+0
+200
+20
+2
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+2
+3
+-1
+-1
+-1
+1
+1
+124
+125
+-1255
+3
+3
+3
+1
 NULL
 NULL
 PREHOOK: query: SELECT cast(key as decimal(6,3)) FROM DECIMAL_5
@@ -221,38 +221,38 @@ NULL
 NULL
 0.000
 0.000
-NULL
-NULL
 100.000
 10.000
 1.000
-NULL
-NULL
+0.100
+0.010
 200.000
-0.000
 20.000
 2.000
-30.000
-33.000
-33.300
--30.000
--33.000
--33.300
-100.000
-200.000
-314.000
--112.000
--112.000
--112.200
-112.000
-112.200
-NULL
-NULL
+0.000
+0.200
+0.020
+0.300
+0.330
+0.333
+-0.300
+-0.330
+-0.333
+1.000
+2.000
+3.140
+-1.120
+-1.120
+-1.122
+1.120
+1.122
+124.000
+125.200
 NULL
-314.000
-314.000
-314.000
-100.000
+3.140
+3.140
+3.140
+1.000
 NULL
 NULL
 PREHOOK: query: DROP TABLE DECIMAL_5_txt

http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out b/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
index 76bed46..0f090bf 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
@@ -663,14 +663,14 @@ STAGE PLANS:
           TableScan
             alias: t2_small
             filterExpr: dec is not null (type: boolean)
-            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: dec (type: decimal(14,0))
                 outputColumnNames: _col0
-                Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: decimal(16,2))
@@ -762,7 +762,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
 89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -773,7 +878,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -801,14 +906,14 @@ STAGE PLANS:
           TableScan
             alias: t2_small
             filterExpr: dec is not null (type: boolean)
-            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: dec (type: decimal(14,0)), value_dec (type: decimal(14,0))
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: decimal(16,2))
@@ -900,7 +1005,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	33.66	14	10
+14.00	33.66	14	22
+14.00	33.66	14	34
+14.00	33.66	14	39
+14.00	33.66	14	42
+14.00	33.66	14	45
+14.00	33.66	14	46
+14.00	33.66	14	49
+14.00	33.66	14	5
+17.00	14.26	17	1
+17.00	14.26	17	14
+17.00	14.26	17	16
+17.00	14.26	17	19
+17.00	14.26	17	2
+17.00	14.26	17	22
+17.00	14.26	17	29
+17.00	14.26	17	3
+17.00	14.26	17	4
+17.00	14.26	17	44
+45.00	23.55	45	1
+45.00	23.55	45	2
+45.00	23.55	45	22
+45.00	23.55	45	24
+45.00	23.55	45	42
+6.00	29.78	6	16
+6.00	29.78	6	28
+6.00	29.78	6	30
+6.00	29.78	6	34
+6.00	29.78	6	36
+6.00	29.78	6	44
+62.00	21.02	62	15
+62.00	21.02	62	15
+62.00	21.02	62	21
+62.00	21.02	62	21
+62.00	21.02	62	22
+62.00	21.02	62	25
+62.00	21.02	62	29
+62.00	21.02	62	3
+62.00	21.02	62	34
+62.00	21.02	62	47
+62.00	21.02	62	47
+62.00	21.02	62	49
+64.00	37.76	64	0
+64.00	37.76	64	10
+64.00	37.76	64	10
+64.00	37.76	64	13
+64.00	37.76	64	23
+64.00	37.76	64	25
+64.00	37.76	64	26
+64.00	37.76	64	27
+64.00	37.76	64	27
+64.00	37.76	64	30
+64.00	37.76	64	32
+64.00	37.76	64	34
+64.00	37.76	64	35
+64.00	37.76	64	38
+64.00	37.76	64	40
+64.00	37.76	64	43
+64.00	37.76	64	5
+64.00	37.76	64	50
+70.00	24.59	70	2
+70.00	24.59	70	25
+70.00	24.59	70	27
+70.00	24.59	70	28
+70.00	24.59	70	3
+70.00	24.59	70	32
+70.00	24.59	70	44
+79.00	15.12	79	1
+79.00	15.12	79	15
+79.00	15.12	79	25
+79.00	15.12	79	30
+79.00	15.12	79	35
+79.00	15.12	79	35
+89.00	15.09	89	1
 89.00	15.09	89	15
+89.00	15.09	89	23
+89.00	15.09	89	27
+89.00	15.09	89	28
+89.00	15.09	89	29
+89.00	15.09	89	30
+89.00	15.09	89	32
+89.00	15.09	89	39
+89.00	15.09	89	40
+89.00	15.09	89	45
+89.00	15.09	89	7
+9.00	48.96	9	12
+9.00	48.96	9	15
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	20
+9.00	48.96	9	20
+9.00	48.96	9	21
+9.00	48.96	9	21
+9.00	48.96	9	26
+9.00	48.96	9	27
+9.00	48.96	9	34
+9.00	48.96	9	38
+9.00	48.96	9	41
+9.00	48.96	9	42
+9.00	48.96	9	45
+9.00	48.96	9	48
+9.00	48.96	9	49
+9.00	48.96	9	5
+9.00	48.96	9	7
+9.00	48.96	9	7
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -911,7 +1121,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -939,14 +1149,14 @@ STAGE PLANS:
           TableScan
             alias: t2_small
             filterExpr: dec is not null (type: boolean)
-            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: dec (type: decimal(14,0))
                 outputColumnNames: _col0
-                Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: decimal(16,2))
@@ -1039,7 +1249,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+14.00	14
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+17.00	17
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+45.00	45
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+6.00	6
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+62.00	62
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+64.00	64
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+70.00	70
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+79.00	79
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
 89.00	89
+89.00	89
+89.00	89
+89.00	89
+89.00	89
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
+9.00	9
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1050,7 +1365,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -1078,14 +1393,14 @@ STAGE PLANS:
           TableScan
             alias: t2_small
             filterExpr: dec is not null (type: boolean)
-            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: dec (type: decimal(14,0)), value_dec (type: decimal(14,0))
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1049 Data size: 4966 Basic stats: COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: decimal(16,2))
@@ -1178,7 +1493,112 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+14.00	33.66	14	10
+14.00	33.66	14	22
+14.00	33.66	14	34
+14.00	33.66	14	39
+14.00	33.66	14	42
+14.00	33.66	14	45
+14.00	33.66	14	46
+14.00	33.66	14	49
+14.00	33.66	14	5
+17.00	14.26	17	1
+17.00	14.26	17	14
+17.00	14.26	17	16
+17.00	14.26	17	19
+17.00	14.26	17	2
+17.00	14.26	17	22
+17.00	14.26	17	29
+17.00	14.26	17	3
+17.00	14.26	17	4
+17.00	14.26	17	44
+45.00	23.55	45	1
+45.00	23.55	45	2
+45.00	23.55	45	22
+45.00	23.55	45	24
+45.00	23.55	45	42
+6.00	29.78	6	16
+6.00	29.78	6	28
+6.00	29.78	6	30
+6.00	29.78	6	34
+6.00	29.78	6	36
+6.00	29.78	6	44
+62.00	21.02	62	15
+62.00	21.02	62	15
+62.00	21.02	62	21
+62.00	21.02	62	21
+62.00	21.02	62	22
+62.00	21.02	62	25
+62.00	21.02	62	29
+62.00	21.02	62	3
+62.00	21.02	62	34
+62.00	21.02	62	47
+62.00	21.02	62	47
+62.00	21.02	62	49
+64.00	37.76	64	0
+64.00	37.76	64	10
+64.00	37.76	64	10
+64.00	37.76	64	13
+64.00	37.76	64	23
+64.00	37.76	64	25
+64.00	37.76	64	26
+64.00	37.76	64	27
+64.00	37.76	64	27
+64.00	37.76	64	30
+64.00	37.76	64	32
+64.00	37.76	64	34
+64.00	37.76	64	35
+64.00	37.76	64	38
+64.00	37.76	64	40
+64.00	37.76	64	43
+64.00	37.76	64	5
+64.00	37.76	64	50
+70.00	24.59	70	2
+70.00	24.59	70	25
+70.00	24.59	70	27
+70.00	24.59	70	28
+70.00	24.59	70	3
+70.00	24.59	70	32
+70.00	24.59	70	44
+79.00	15.12	79	1
+79.00	15.12	79	15
+79.00	15.12	79	25
+79.00	15.12	79	30
+79.00	15.12	79	35
+79.00	15.12	79	35
+89.00	15.09	89	1
 89.00	15.09	89	15
+89.00	15.09	89	23
+89.00	15.09	89	27
+89.00	15.09	89	28
+89.00	15.09	89	29
+89.00	15.09	89	30
+89.00	15.09	89	32
+89.00	15.09	89	39
+89.00	15.09	89	40
+89.00	15.09	89	45
+89.00	15.09	89	7
+9.00	48.96	9	12
+9.00	48.96	9	15
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	2
+9.00	48.96	9	20
+9.00	48.96	9	20
+9.00	48.96	9	21
+9.00	48.96	9	21
+9.00	48.96	9	26
+9.00	48.96	9	27
+9.00	48.96	9	34
+9.00	48.96	9	38
+9.00	48.96	9	41
+9.00	48.96	9	42
+9.00	48.96	9	45
+9.00	48.96	9	48
+9.00	48.96	9	49
+9.00	48.96	9	5
+9.00	48.96	9	7
+9.00	48.96	9	7
 PREHOOK: query: select count(*) from (select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)) as t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_small
@@ -1189,4 +1609,4 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
-1
+106


[15/20] hive git commit: HIVE-19970: Replication dump has a NPE when table is empty (Mahesh Kumar Behera, reviewed by Peter Vary, Sankar Hariappan)

Posted by se...@apache.org.
HIVE-19970: Replication dump has a NPE when table is empty (Mahesh Kumar Behera, reviewed by Peter Vary, Sankar Hariappan)


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

Branch: refs/heads/master-txnstats
Commit: 1c33fea890bc01a85eb336caf5d73a85652f91a3
Parents: 80c3bb5
Author: Sankar Hariappan <sa...@apache.org>
Authored: Sun Jul 1 09:48:09 2018 +0530
Committer: Sankar Hariappan <sa...@apache.org>
Committed: Sun Jul 1 10:01:32 2018 +0530

----------------------------------------------------------------------
 .../hive/ql/parse/TestReplicationScenarios.java | 42 ++++++++++++++++
 .../TestReplicationScenariosAcidTables.java     | 52 +++++++++++++++++++-
 ...TestReplicationScenariosAcrossInstances.java | 42 +++-------------
 .../hadoop/hive/ql/parse/WarehouseInstance.java |  7 ++-
 .../org/apache/hadoop/hive/ql/ErrorMsg.java     |  3 +-
 .../hadoop/hive/ql/exec/repl/ReplDumpTask.java  |  4 ++
 .../exec/repl/bootstrap/load/LoadDatabase.java  |  2 +-
 .../hive/ql/exec/repl/util/ReplUtils.java       |  6 +--
 .../ql/parse/repl/dump/PartitionExport.java     | 24 ++++++---
 .../hadoop/hive/ql/parse/repl/dump/Utils.java   |  8 ++-
 .../ql/parse/repl/dump/io/FileOperations.java   |  7 +++
 .../hadoop/hive/metastore/HiveAlterHandler.java |  7 +--
 12 files changed, 149 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
index 689c859..46c623d 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
@@ -91,6 +91,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.apache.hadoop.hive.metastore.ReplChangeManager.SOURCE_OF_REPLICATION;
+import org.junit.Assert;
 
 public class TestReplicationScenarios {
 
@@ -3186,6 +3187,47 @@ public class TestReplicationScenarios {
   }
 
   @Test
+  public void testDumpWithTableDirMissing() throws IOException {
+    String dbName = createDB(testName.getMethodName(), driver);
+    run("CREATE TABLE " + dbName + ".normal(a int)", driver);
+    run("INSERT INTO " + dbName + ".normal values (1)", driver);
+
+    Path path = new Path(System.getProperty("test.warehouse.dir", ""));
+    path = new Path(path, dbName.toLowerCase() + ".db");
+    path = new Path(path, "normal");
+    FileSystem fs = path.getFileSystem(hconf);
+    fs.delete(path);
+
+    advanceDumpDir();
+    CommandProcessorResponse ret = driver.run("REPL DUMP " + dbName);
+    Assert.assertEquals(ret.getResponseCode(), ErrorMsg.FILE_NOT_FOUND.getErrorCode());
+
+    run("DROP TABLE " + dbName + ".normal", driver);
+    run("drop database " + dbName, true, driver);
+  }
+
+  @Test
+  public void testDumpWithPartitionDirMissing() throws IOException {
+    String dbName = createDB(testName.getMethodName(), driver);
+    run("CREATE TABLE " + dbName + ".normal(a int) PARTITIONED BY (part int)", driver);
+    run("INSERT INTO " + dbName + ".normal partition (part= 124) values (1)", driver);
+
+    Path path = new Path(System.getProperty("test.warehouse.dir",""));
+    path = new Path(path, dbName.toLowerCase()+".db");
+    path = new Path(path, "normal");
+    path = new Path(path, "part=124");
+    FileSystem fs = path.getFileSystem(hconf);
+    fs.delete(path);
+
+    advanceDumpDir();
+    CommandProcessorResponse ret = driver.run("REPL DUMP " + dbName);
+    Assert.assertEquals(ret.getResponseCode(), ErrorMsg.FILE_NOT_FOUND.getErrorCode());
+
+    run("DROP TABLE " + dbName + ".normal", driver);
+    run("drop database " + dbName, true, driver);
+  }
+
+  @Test
   public void testDumpNonReplDatabase() throws IOException {
     String dbName = createDBNonRepl(testName.getMethodName(), driver);
     verifyFail("REPL DUMP " + dbName, driver);

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcidTables.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcidTables.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcidTables.java
index 4892486..86c0405 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcidTables.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcidTables.java
@@ -32,6 +32,10 @@ import org.apache.hadoop.hive.metastore.InjectableBehaviourObjectStore;
 import org.apache.hadoop.hive.metastore.InjectableBehaviourObjectStore.CallerArguments;
 import org.apache.hadoop.hive.metastore.InjectableBehaviourObjectStore.BehaviourInjection;
 import static org.apache.hadoop.hive.metastore.ReplChangeManager.SOURCE_OF_REPLICATION;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.ErrorMsg;
+import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
 import org.junit.rules.TestName;
 import org.junit.rules.TestRule;
 import org.slf4j.Logger;
@@ -63,10 +67,11 @@ public class TestReplicationScenariosAcidTables {
   protected static final Logger LOG = LoggerFactory.getLogger(TestReplicationScenarios.class);
   private static WarehouseInstance primary, replica, replicaNonAcid;
   private String primaryDbName, replicatedDbName;
+  private static HiveConf conf;
 
   @BeforeClass
   public static void classLevelSetup() throws Exception {
-    Configuration conf = new Configuration();
+    conf = new HiveConf(TestReplicationScenariosAcidTables.class);
     conf.set("dfs.client.use.datanode.hostname", "true");
     conf.set("hadoop.proxyuser." + Utils.getUGI().getShortUserName() + ".hosts", "*");
     MiniDFSCluster miniDFSCluster =
@@ -432,4 +437,49 @@ public class TestReplicationScenariosAcidTables {
             .run("select name from t2 order by name")
             .verifyResults(Arrays.asList("bob", "carl"));
   }
+
+  @Test
+  public void testDumpAcidTableWithPartitionDirMissing() throws Throwable {
+    String dbName = testName.getMethodName();
+    primary.run("CREATE DATABASE " + dbName + " WITH DBPROPERTIES ( '" +
+            SOURCE_OF_REPLICATION + "' = '1,2,3')")
+    .run("CREATE TABLE " + dbName + ".normal (a int) PARTITIONED BY (part int)" +
+            " STORED AS ORC TBLPROPERTIES ('transactional'='true')")
+    .run("INSERT INTO " + dbName + ".normal partition (part= 124) values (1)");
+
+    Path path = new Path(primary.warehouseRoot, dbName.toLowerCase()+".db");
+    path = new Path(path, "normal");
+    path = new Path(path, "part=124");
+    FileSystem fs = path.getFileSystem(conf);
+    fs.delete(path);
+
+    CommandProcessorResponse ret = primary.runCommand("REPL DUMP " + dbName +
+            " with ('hive.repl.dump.include.acid.tables' = 'true')");
+    Assert.assertEquals(ret.getResponseCode(), ErrorMsg.FILE_NOT_FOUND.getErrorCode());
+
+    primary.run("DROP TABLE " + dbName + ".normal");
+    primary.run("drop database " + dbName);
+  }
+
+  @Test
+  public void testDumpAcidTableWithTableDirMissing() throws Throwable {
+    String dbName = testName.getMethodName();
+    primary.run("CREATE DATABASE " + dbName + " WITH DBPROPERTIES ( '" +
+            SOURCE_OF_REPLICATION + "' = '1,2,3')")
+            .run("CREATE TABLE " + dbName + ".normal (a int) " +
+                    " STORED AS ORC TBLPROPERTIES ('transactional'='true')")
+            .run("INSERT INTO " + dbName + ".normal values (1)");
+
+    Path path = new Path(primary.warehouseRoot, dbName.toLowerCase()+".db");
+    path = new Path(path, "normal");
+    FileSystem fs = path.getFileSystem(conf);
+    fs.delete(path);
+
+    CommandProcessorResponse ret = primary.runCommand("REPL DUMP " + dbName +
+            " with ('hive.repl.dump.include.acid.tables' = 'true')");
+    Assert.assertEquals(ret.getResponseCode(), ErrorMsg.FILE_NOT_FOUND.getErrorCode());
+
+    primary.run("DROP TABLE " + dbName + ".normal");
+    primary.run("drop database " + dbName);
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcrossInstances.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcrossInstances.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcrossInstances.java
index d0608cf..08f0130 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcrossInstances.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenariosAcrossInstances.java
@@ -68,6 +68,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.apache.hadoop.hive.metastore.ReplChangeManager.SOURCE_OF_REPLICATION;
+import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
+import org.apache.hadoop.hive.ql.ErrorMsg;
+import org.junit.Assert;
 
 public class TestReplicationScenariosAcrossInstances {
   @Rule
@@ -879,41 +882,6 @@ public class TestReplicationScenariosAcrossInstances {
   }
 
   @Test
-  public void testIfCkptSetForObjectsByBootstrapReplLoad() throws Throwable {
-    WarehouseInstance.Tuple tuple = primary
-            .run("use " + primaryDbName)
-            .run("create table t1 (id int)")
-            .run("insert into table t1 values (10)")
-            .run("create table t2 (place string) partitioned by (country string)")
-            .run("insert into table t2 partition(country='india') values ('bangalore')")
-            .run("insert into table t2 partition(country='uk') values ('london')")
-            .run("insert into table t2 partition(country='us') values ('sfo')")
-            .dump(primaryDbName, null);
-
-    replica.load(replicatedDbName, tuple.dumpLocation)
-            .run("use " + replicatedDbName)
-            .run("repl status " + replicatedDbName)
-            .verifyResult(tuple.lastReplicationId)
-            .run("show tables")
-            .verifyResults(new String[] { "t1", "t2" })
-            .run("select country from t2")
-            .verifyResults(Arrays.asList("india", "uk", "us"));
-
-    Database db = replica.getDatabase(replicatedDbName);
-    verifyIfCkptSet(db.getParameters(), tuple.dumpLocation);
-    Table t1 = replica.getTable(replicatedDbName, "t1");
-    verifyIfCkptSet(t1.getParameters(), tuple.dumpLocation);
-    Table t2 = replica.getTable(replicatedDbName, "t2");
-    verifyIfCkptSet(t2.getParameters(), tuple.dumpLocation);
-    Partition india = replica.getPartition(replicatedDbName, "t2", Collections.singletonList("india"));
-    verifyIfCkptSet(india.getParameters(), tuple.dumpLocation);
-    Partition us = replica.getPartition(replicatedDbName, "t2", Collections.singletonList("us"));
-    verifyIfCkptSet(us.getParameters(), tuple.dumpLocation);
-    Partition uk = replica.getPartition(replicatedDbName, "t2", Collections.singletonList("uk"));
-    verifyIfCkptSet(uk.getParameters(), tuple.dumpLocation);
-  }
-
-  @Test
   public void testIncrementalDumpMultiIteration() throws Throwable {
     WarehouseInstance.Tuple bootstrapTuple = primary.dump(primaryDbName, null);
 
@@ -1182,7 +1150,9 @@ public class TestReplicationScenariosAcrossInstances {
     assertEquals(0, replica.getForeignKeyList(replicatedDbName, "t2").size());
 
     // Retry with different dump should fail.
-    replica.loadFailure(replicatedDbName, tuple2.dumpLocation);
+    CommandProcessorResponse ret = replica.runCommand("REPL LOAD " + replicatedDbName +
+            " FROM '" + tuple2.dumpLocation + "'");
+    Assert.assertEquals(ret.getResponseCode(), ErrorMsg.REPL_BOOTSTRAP_LOAD_PATH_NOT_VALID.getErrorCode());
 
     // Verify if create table is not called on table t1 but called for t2 and t3.
     // Also, allow constraint creation only on t1 and t3. Foreign key creation on t2 fails.

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/WarehouseInstance.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/WarehouseInstance.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/WarehouseInstance.java
index fc812ad..f666df1 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/WarehouseInstance.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/WarehouseInstance.java
@@ -77,6 +77,7 @@ public class WarehouseInstance implements Closeable {
   HiveConf hiveConf;
   MiniDFSCluster miniDFSCluster;
   private HiveMetaStoreClient client;
+  public final Path warehouseRoot;
 
   private static int uniqueIdentifier = 0;
 
@@ -90,7 +91,7 @@ public class WarehouseInstance implements Closeable {
     assert miniDFSCluster.isDataNodeUp();
     DistributedFileSystem fs = miniDFSCluster.getFileSystem();
 
-    Path warehouseRoot = mkDir(fs, "/warehouse" + uniqueIdentifier);
+    warehouseRoot = mkDir(fs, "/warehouse" + uniqueIdentifier);
     if (StringUtils.isNotEmpty(keyNameForEncryptedZone)) {
       fs.createEncryptionZone(warehouseRoot, keyNameForEncryptedZone);
     }
@@ -199,6 +200,10 @@ public class WarehouseInstance implements Closeable {
     return this;
   }
 
+  public CommandProcessorResponse runCommand(String command) throws Throwable {
+    return driver.run(command);
+  }
+
   WarehouseInstance runFailure(String command) throws Throwable {
     CommandProcessorResponse ret = driver.run(command);
     if (ret.getException() == null) {

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
index 90d6b8f..b2c9daa 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
@@ -502,7 +502,8 @@ public enum ErrorMsg {
   //if the error message is changed for REPL_EVENTS_MISSING_IN_METASTORE, then need modification in getNextNotification
   //method in HiveMetaStoreClient
   REPL_EVENTS_MISSING_IN_METASTORE(20016, "Notification events are missing in the meta store."),
-  REPL_BOOTSTRAP_LOAD_PATH_NOT_VALID(20017, "Target database is bootstrapped from some other path."),
+  REPL_BOOTSTRAP_LOAD_PATH_NOT_VALID(20017, "Load path {0} not valid as target database is bootstrapped " +
+          "from some other path : {1}."),
   REPL_FILE_MISSING_FROM_SRC_AND_CM_PATH(20018, "File is missing from both source and cm path."),
   REPL_LOAD_PATH_NOT_FOUND(20019, "Load path does not exist."),
   REPL_DATABASE_IS_NOT_SOURCE_OF_REPLICATION(20020,

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java
index 7e5f805..e48657c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java
@@ -121,6 +121,10 @@ public class ReplDumpTask extends Task<ReplDumpWork> implements Serializable {
         lastReplId = incrementalDump(dumpRoot, dmd, cmRoot);
       }
       prepareReturnValues(Arrays.asList(dumpRoot.toUri().toString(), String.valueOf(lastReplId)), dumpSchema);
+    } catch (RuntimeException e) {
+      LOG.error("failed", e);
+      setException(e);
+      return ErrorMsg.getErrorMsg(e.getMessage()).getErrorCode();
     } catch (Exception e) {
       LOG.error("failed", e);
       setException(e);

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/LoadDatabase.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/LoadDatabase.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/LoadDatabase.java
index 054153c..0fd305a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/LoadDatabase.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/LoadDatabase.java
@@ -79,7 +79,7 @@ public class LoadDatabase {
       }
       return tracker;
     } catch (Exception e) {
-      throw new SemanticException(e);
+      throw new SemanticException(e.getMessage(), e);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/util/ReplUtils.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/util/ReplUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/util/ReplUtils.java
index 618be1d..b1f731f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/util/ReplUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/util/ReplUtils.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hive.ql.exec.repl.util;
 
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
+import org.apache.hadoop.hive.ql.ErrorMsg;
 import org.apache.hadoop.hive.ql.exec.Task;
 import org.apache.hadoop.hive.ql.exec.TaskFactory;
 import org.apache.hadoop.hive.ql.exec.repl.ReplStateLogWork;
@@ -115,9 +116,8 @@ public class ReplUtils {
       if (props.get(REPL_CHECKPOINT_KEY).equals(dumpRoot)) {
         return true;
       }
-      throw new InvalidOperationException("REPL LOAD with Dump: " + dumpRoot
-              + " is not allowed as the target DB: " + dbName
-              + " is already bootstrap loaded by another Dump " + props.get(REPL_CHECKPOINT_KEY));
+      throw new InvalidOperationException(ErrorMsg.REPL_BOOTSTRAP_LOAD_PATH_NOT_VALID.format(dumpRoot,
+              props.get(REPL_CHECKPOINT_KEY)));
     }
     return false;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/PartitionExport.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/PartitionExport.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/PartitionExport.java
index d73fc4f..9e24799 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/PartitionExport.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/PartitionExport.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.ql.parse.repl.dump;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
 import org.apache.hadoop.hive.ql.metadata.Partition;
 import org.apache.hadoop.hive.ql.metadata.PartitionIterable;
 import org.apache.hadoop.hive.ql.parse.ReplicationSpec;
@@ -29,6 +30,7 @@ import org.apache.hadoop.hive.ql.session.SessionState;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
@@ -36,6 +38,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.Future;
 
 import static org.apache.hadoop.hive.ql.parse.repl.dump.TableExport.Paths;
 
@@ -70,10 +73,11 @@ class PartitionExport {
     this.callersSession = SessionState.get();
   }
 
-  void write(final ReplicationSpec forReplicationSpec) throws InterruptedException {
+  void write(final ReplicationSpec forReplicationSpec) throws InterruptedException, HiveException {
+    List<Future<?>> futures = new LinkedList<>();
     ExecutorService producer = Executors.newFixedThreadPool(1,
         new ThreadFactoryBuilder().setNameFormat("partition-submitter-thread-%d").build());
-    producer.submit(() -> {
+    futures.add(producer.submit(() -> {
       SessionState.setCurrentSessionState(callersSession);
       for (Partition partition : partitionIterable) {
         try {
@@ -83,7 +87,7 @@ class PartitionExport {
               "Error while queuing up the partitions for export of data files", e);
         }
       }
-    });
+    }));
     producer.shutdown();
 
     ThreadFactory namingThreadFactory =
@@ -102,7 +106,7 @@ class PartitionExport {
         continue;
       }
       LOG.debug("scheduling partition dump {}", partition.getName());
-      consumer.submit(() -> {
+      futures.add(consumer.submit(() -> {
         String partitionName = partition.getName();
         String threadName = Thread.currentThread().getName();
         LOG.debug("Thread: {}, start partition dump {}", threadName, partitionName);
@@ -115,11 +119,19 @@ class PartitionExport {
                   .export(forReplicationSpec);
           LOG.debug("Thread: {}, finish partition dump {}", threadName, partitionName);
         } catch (Exception e) {
-          throw new RuntimeException("Error while export of data files", e);
+          throw new RuntimeException(e.getMessage(), e);
         }
-      });
+      }));
     }
     consumer.shutdown();
+    for (Future<?> future : futures) {
+      try {
+        future.get();
+      } catch (Exception e) {
+        LOG.error("failed", e.getCause());
+        throw new HiveException(e.getCause().getMessage(), e.getCause());
+      }
+    }
     // may be drive this via configuration as well.
     consumer.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/Utils.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/Utils.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/Utils.java
index e356607..976104c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/Utils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/Utils.java
@@ -22,6 +22,7 @@ import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.NotificationEvent;
+import org.apache.hadoop.hive.ql.ErrorMsg;
 import org.apache.hadoop.hive.ql.exec.Utilities;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.metadata.Hive;
@@ -37,6 +38,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.DataOutputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
@@ -204,7 +206,11 @@ public class Utils {
   static List<Path> getDataPathList(Path fromPath, ReplicationSpec replicationSpec, HiveConf conf)
           throws IOException {
     if (replicationSpec.isTransactionalTableDump()) {
-      return AcidUtils.getValidDataPaths(fromPath, conf, replicationSpec.getValidWriteIdList());
+      try {
+        return AcidUtils.getValidDataPaths(fromPath, conf, replicationSpec.getValidWriteIdList());
+      } catch (FileNotFoundException e) {
+        throw new IOException(ErrorMsg.FILE_NOT_FOUND.format(e.getMessage()), e);
+      }
     } else {
       return Collections.singletonList(fromPath);
     }

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/io/FileOperations.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/io/FileOperations.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/io/FileOperations.java
index 58eae38..e8eaae6 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/io/FileOperations.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/dump/io/FileOperations.java
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hive.ql.parse.repl.dump.io;
 
 import java.io.BufferedWriter;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.util.ArrayList;
@@ -46,6 +47,8 @@ import org.apache.hadoop.hive.shims.Utils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.hadoop.hive.ql.ErrorMsg.FILE_NOT_FOUND;
+
 //TODO: this object is created once to call one method and then immediately destroyed.
 //So it's basically just a roundabout way to pass arguments to a static method. Simplify?
 public class FileOperations {
@@ -156,6 +159,10 @@ public class FileOperations {
         }
         done = true;
       } catch (IOException e) {
+        if (e instanceof FileNotFoundException) {
+          logger.error("exporting data files in dir : " + dataPathList + " to " + exportRootDataDir + " failed");
+          throw new FileNotFoundException(FILE_NOT_FOUND.format(e.getMessage()));
+        }
         repeat++;
         logger.info("writeFilesList failed", e);
         if (repeat >= FileUtils.MAX_IO_ERROR_RETRY) {

http://git-wip-us.apache.org/repos/asf/hive/blob/1c33fea8/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
index c2da6d3..93ac74c 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
@@ -125,13 +125,10 @@ public class HiveAlterHandler implements AlterHandler {
 
     Table oldt = null;
 
-    List<TransactionalMetaStoreEventListener> transactionalListeners = null;
-    List<MetaStoreEventListener> listeners = null;
+    List<TransactionalMetaStoreEventListener> transactionalListeners = handler.getTransactionalListeners();
+    List<MetaStoreEventListener> listeners = handler.getListeners();
     Map<String, String> txnAlterTableEventResponses = Collections.emptyMap();
 
-    transactionalListeners = handler.getTransactionalListeners();
-    listeners = handler.getListeners();
-
     try {
       boolean rename = false;
       List<Partition> parts;


[12/20] hive git commit: HIVE-20004: Wrong scale used by ConvertDecimal64ToDecimal results in incorrect results (Prasanth Jayachandran reviewed by Matt McCline)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/6acd74c9/data/files/table_19.dat
----------------------------------------------------------------------
diff --git a/data/files/table_19.dat b/data/files/table_19.dat
new file mode 100644
index 0000000..86f7b63
--- /dev/null
+++ b/data/files/table_19.dat
@@ -0,0 +1,1080 @@
+-284.632284968484191.69963.81998-02-21 00:00:00\N-478-73False-12.72False6.25795395556-365False776-483.307419909957396-471
+-36.27495865\N\N554.62021-02-01 00:00:00False169-51True-60.87\N551.696288054-821True915867.129487407330376-631
+-170.908184536-848740.64-182.62009-10-19 00:00:00False-620-78False26.72False152.2237288057True662562.788735375708-571-525
+-605.484991149-411438.87199.22019-12-13 00:00:00False537-22\N-19.04False-947.316070033-400True-515-587.463332792-158827796
+160.25830503139478.05-651.22016-06-17 00:00:00False939114False-5.52False533.906417894-434False-195-656.836493827-877-54-348
+-957.69147272-4-855.31-852.22021-07-10 00:00:00False-64-15True79.44False\N62False429121.253155951645806339
+446.301904908-964-101.27\N2004-09-14 00:00:00False-16515False-24.71False267.40835299289True-943-562.31133308-614-212-614
+493.189643039-456-848.44-35.31998-03-20 00:00:00True-663-85True78.24False-194.688291157-946True24347.313138177-932126337
+296.152069033-45443.53-140.12010-05-09 00:00:00True-3857\N-28.28True-778.281680076-909True-20-189.688514645238\N876
+846.119239296-371\N-863.1\NFalse-12660True24.65True-5.58927897421940False-545410.648100143-51825217
+-445.734392302-501-426.05848.81997-11-27 00:00:00False-717-87False99.65False-470.337092701-991True367-492.902981482-23612554
+-156.717580003-19313.06-704.2\NFalse-516-59\N93.9\N-535.060570701563True-720575.176072247344-745-708
+459.9087339373534.98-765.12005-08-07 00:00:00False-399-38True-50.92False850.704799475973True-366-302.491630388-485\N-2
+-838.676854292-826785.52-747.11993-06-05 00:00:00True\N66False-64.36True437.312582796783True417338.091590329-439883-267
+-956.80389307-375309.78514.1\NTrue-3377True-69.76False-281.138016677367\N\N-155.559467523-598-487124
+190.392312837431292.78-996.21999-07-31 00:00:00\N-388113False32.95False90.4084850053-529True943387.893708336-762-199-374
+-351.135974791-65835.8498.81997-05-16 00:00:00False-23287\N82.3False385.233339039-166True700-440.341397501-274-771641
+-577.783870837-685101.69711999-11-14 00:00:00False-96782False-10.57True\N-365True-929120.441227675677-422\N
+\N\N217.626622008-08-27 00:00:00True-157-99False27.32False-319.166075195807False-68-939.312873655876-604802
+-731.474124396-256132.28\N2020-12-15 00:00:00False834110False\NTrue16.278175758\NFalse248-812.899721237-865953-733
+-453.824008944735443.58842.4\NTrue139-31False\NFalse-751.38060988-603False635624.585061865-429220818
+295.480969299651\N266.71991-02-12 00:00:00True-447\NTrue\NTrue681.414948979\NTrue-68593.1594048879-291325\N
+\N766466.77-96.92018-11-11 00:00:00False-411\NFalse36.64True-830.291022146285False825363.91517507619\N871
+435.635826467-935\N225.51990-05-09 00:00:00False44169False\NTrue449.92203292-734True-967574.548836125-432-942305
+\N582-510.53-26.22019-02-05 00:00:00True-18587False-36.34False-430.782086302648False-786774.359793452-41-776132
+\N484\N-319.22021-05-25 00:00:00True47614True37.33False765.071251432334\N-858\N413818\N
+-281.534222325-426-772.38739.2\N\N-7521False-26.34True-384.518383773759True-572-34.4798503512960\N801
+-321.418654412-717-590.68-368.92003-10-09 00:00:00False-7534True-38.88False-607.17503577634True928-462.335396261-223770169
+3.85262306486-795758.94188.12015-09-27 00:00:00True411\NTrue96.82True-989.897045416-87False256-446.55874792-834407354
+-645.632849969532-855.35-432.62001-02-26 00:00:00True429\NTrue-18.67False-408.300753928\NFalse-46-847.071969662-377419-157
+-814.931025183571220.7-3592006-02-13 00:00:00False800-73True62.14False467.084612652\NFalse644-713.026008672602-366-101
+\N862\N-299.32010-12-22 00:00:00True-346102True-46.03True236.809464006-720False-538-748.130553624-677304913
+951.334923488-138-732.01367.12023-03-27 00:00:00True718-3False\NTrue973.070086894-824False785-309.59173850376251\N
+-371.131516829\N-746.45-25.62003-05-02 00:00:00True-535-41\N20.45False-177.597022899324False-178\N-321-439-697
+-280.246908826-560416.82-196.92018-02-21 00:00:00False172-64False\N\N-933.824810698225False-780378.475380333692-352-467
+\N-284-549.62-910.52000-10-12 00:00:00True-406-126True-46.73True\N-395False-939803.166047339536-156-671
+-930.508393114-3228.78-617.72015-06-23 00:00:00True39569True72\N261.157197159512False-235-332.577185162-951-662937
+\N485-264.23-118.92017-08-29 00:00:00True-233-98False-46.89True620.563939224-115True223163.011876222703-237734
+112.170222651925118.36209.11991-04-25 00:00:00False-62749True-66.93\N-569.310232588\NFalse331\N710-122-17
+-663.274995402437-978.36\N2013-03-02 00:00:00False-244-100True-92.29False755.090274777663True-558\N-829-173449
+-14.0434720941-37356.48535.62019-03-22 00:00:00\N\N\NFalse-94.26False-567.756124575-177False-319\N\N-149905
+-270.58448384817-246.47133.81997-05-25 00:00:00True-37539\N-11.01True-782.089164316-36False-3749.13904954239-258-791-759
+136.571068992326122.88-801.81993-09-22 00:00:00True-85629True37.84False\N493False745-391.416105441308-945739
+101.476955157-703-678.47-247.92024-06-09 00:00:00False132-84True-12.25True-949.016870999-372True303237.39626495910\N528
+885.275598825447315.65539.71997-10-06 00:00:00True-64741True\NTrue191.866099282-750True935-18.6707614264-896-634545
+341.381697044-519-520.2-969.6\NTrue55874True-55.4True\N606\N685-104.232957885-791862911
+-13.657347505866898.4-412.22024-03-17 00:00:00True-861-120True95.19True668.558188035781False-18425.857960993680-352425
+-269.890955036166-118.825632018-08-28 00:00:00True189101False-18.58False-747.164481581-833True-30904.776034808273171651
+921.903386517-319\N21.52003-10-27 00:00:00False35582False\NFalse630.081695846231\N357-135.382857746360-259-156
+256.220696295-344326.9252.92018-07-02 00:00:00True384-93True46.46True66.3200410377-346True251162.768285118-808599-803
+740.49290039-734-219.5666.52027-04-13 00:00:00True-731-103True-24.92True-664.37313619\NTrue-354\N157\N\N
+500.386234377\N967.21\N2016-05-30 00:00:00False-96875True-32.59True760.194811899-618False-704-195.053539039-854487-156
+-100.108338901359-664.6779.91992-07-06 00:00:00True743\NFalse93.69\N380.563719434-413True-670-317.995749301319-517\N
+\N-516-959.89-672.61998-09-29 00:00:00False531-42False29.17True297.307102999126False-986-103.649814617-873-746328
+459.08773485-296205.42866.72007-01-24 00:00:00False-163116False\NFalse-268.971409628-196True572-519.530736745\N403-715
+-805.042573623892950.45554.22019-06-29 00:00:00False13659True75.8True558.459371163389True786828.066830306-180-403-730
+-335.58770261867\N-1862018-08-20 00:00:00False-31676True8.94False\N224\N-588218.740307016-773-25\N
+-540.57437336-198\N-660.32028-10-14 00:00:00True\N-18True53.06\N77.3469958985-262\N916-83.534010721\N669141
+\N-287733.69-360.52022-01-14 00:00:00\N548\NFalse4.62\N801.969054678\N\N371-569.382034812-828913367
+166.899815894\N159.72-665.82001-09-25 00:00:00True63041True66.22False-946.940538532-772True\N655.569256398-154-905\N
+16.2325001315-42-999.05986.82012-03-07 00:00:00True227-41True-29.39True\N-847True-484680.722661934-225108-388
+533.525699071420625.18380.32005-12-11 00:00:00True-755-84True-96.28True-971.727846183967True235-627.289452712-961-453473
+425.585451937\N471.49\N2010-02-02 00:00:00False-293-123False\NFalse-87.6521945278-829\N287-749.270698019-476352997
+703.253514257231-904.38-928.61999-01-26 00:00:00True-366-69True-92.58True-307.483500552-815False115893.943472563\N747-342
+569.786686026948-994.45404.92025-12-25 00:00:00True723-23False19.22True827.835703631760False\N926.345350763-114\N807
+-177.568966662-538-944.05\N2029-10-05 00:00:00True\N-11True\N\N245.093664538133False699-872.761975562-537-272-234
+-415.820726408500719.29-521.52029-09-26 00:00:00True40-36False-53.56\N367.293977946-506True-706211.508360287-431\N-781
+231.397018694301128.1863.92018-05-28 00:00:00True432-128True72.66True-140.12370735-907False302482.748814212-896-470\N
+-725.095066006167-506.34-855.42001-02-10 00:00:00\N503\NTrue-86.03True-417.712887508809False-875114.85489236490-657276
+923.727230554198\N938.62013-11-30 00:00:00False-850113True28.41False-128.934514106547True-51282.454740042767623158
+-472.082655003-198270.11174.22025-12-21 00:00:00True348-52True-91.71False138.653607901-336True\N953.634404134955-440\N
+\N459-197.25275.82011-05-28 00:00:00\N-89-84True44.28False-764.67965547\NFalse-66-96.5112575336-757\N\N
+\N966-760.39-24.22013-12-19 00:00:00False-49462True21.98True-390.123528253-152True-576-37.8343512385-573\N-863
+988.23028358170501.27\N2006-06-15 00:00:00True99893False-54.22True59.9283195567-867True926995.365005851-630-410204
+73.5546451777-440438.37-825.51992-08-09 00:00:00False112-23False-87.76False607.501230747956True-137-503.764261326791968279
+265.945074511855397.71-145.42011-01-16 00:00:00\N59096True-27.53True-479.164474905963True-387-96.174382502-622\N\N
+-394.954818678-149-493.19559.42023-02-23 00:00:00True109-97True17.88False-793.057951112133False764-582.935304661590-85-59
+540.597105072679-948.28-875.51998-06-03 00:00:00True-473126True61.9False-975.45412388343True756769.092555436134755155
+-946.389742841-96932.22-956.32005-09-14 00:00:00False713115False84.26False-769.346877665538False\N\N966-91759
+-524.3282741-188\N-412.12022-01-09 00:00:00True-636-86False46.34\N42.4848646574185False729\N829622-21
+699.17478245-283119.36812.52022-07-12 00:00:00True942-109False67.88True-976.009050846-79False-517212.023941836-930279\N
+596.949579598-361-297.85-312.92026-05-14 00:00:00False520114False\N\N582.104603202\NFalse109-791.181528407-862686-87
+-827.504501049-239803.76810.72019-09-03 00:00:00False-904-9True-78.43False470.95160694-56False538\N219-942\N
+508.7189652205-920.18434.12001-09-18 00:00:00True-262-87False-6.68False449.639561154353True-347-544.884259168536525-557
+-284.279278405\N-380.16888.92002-12-13 00:00:00False-33089True-29.77\N749.859527682-806True816340.913093785753-212\N
+-737.784065359-237-443.88322.12010-07-06 00:00:00\N-183-61False-39.43True845.453675166909True-664-359.327045519-778-363-178
+-234.500696641996-90.63-726.32016-04-23 00:00:00False-656-27\N\NFalse-526.44995598449False-799940.70099266768-685\N
+755.105200122-11075.46-672.92024-02-29 00:00:00\N167-40True62.43True750.344044003764False894-846.142445801-223549-56
+\N-549499.78-860.31999-12-28 00:00:00True394-127True80.41True152.771932109292False429-863.337135596461-976-484
+347.353889382-218885.73781.21993-07-18 00:00:00\N-66448True30.81True-328.531337011100False-641-606.220325925262-529-637
+-271.874507-875-960.54-529.52009-09-24 00:00:00False-47126True-51.63True617.500599763\NTrue928-564.632507093-285\N-190
+\N-344-955.11489.3\NFalse-508-98True-56.63True816.556836395710True937-473.075391842608188\N
+659.173666224-85646.55\N1998-12-12 00:00:00False-64961False83.61\N\N557False-560837.53494009205108706
+-764.080409809458-631.48\N\NFalse-920-94False5.83True524.791288798\NFalse-305112.857716053-748-685\N
+410.61238008-172715.28-724.42021-01-09 00:00:00True17\N\N8.08True146.657952576-588False-890-462.503379141218-634\N
+-158.494199092427615.61-536.32027-02-14 00:00:00False184-31True-95.14False710.392907041751False612-393.838599385-19\N-11
+-285.127429911116561.76-544.82005-05-13 00:00:00False874104False40.28False433.471150859-909\N-871632.398239459-329-167369
+-488.416802674852552239.32010-04-21 00:00:00False-88351False-52.56True\N-144True-999-11.8007602158578754-902
+-49.1012071554\N126933.42026-07-14 00:00:00True-858-11False-68.64False-597.366299825\N\N513-129.713152258737\N256
+-502.245707155993-55.58201.11993-12-04 00:00:00True540-43True-39.76True\N-63False\N271.20983379847732\N
+562.471744482420119.65-4972013-10-24 00:00:00False-918-83False13.65False-788.328892456\N\N169\N-23-464-878
+263.04199515448931.74764.92002-02-01 00:00:00True-48249True-37.46True-8.67671069881-841True-139-931.839730001-679658147
+-229.065345753548375.93-894.22015-05-25 00:00:00False29757True-86.95True275.853490966-195True-256-530.701314046-816-490217
+735.538903628933-717.52-566.41993-04-03 00:00:00True-320-11True11.94False692.116625121-933False763753.480698993-577-929199
+511.64049196965-683.12479.32003-03-15 00:00:00False-143124\N86.17True-292.716075112-840\N-521-960.132642708-921-76713
+-980.971362105336-872.83297.92004-06-03 00:00:00True5695True-52.64True-451.572011183572True-319853.071256578254-983-934
+826.045203607476272.01-922.62016-01-19 00:00:00True53395False20.96False945.021738695408True-257950.418166959296-378-201
+512.350157045191-215.49-956.52003-05-18 00:00:00False133-75True32.04False-447.580900183655True275-598.223469913-688\N-650
+-315.025081166882-580.1527.32003-09-24 00:00:00True-45120False7.74True-237.491532907-938False-424770.888977167-808202
+821.002875493471362.79713.72023-11-01 00:00:00False-634\NFalse-79.85True-70.8912424746-592False563214.338865711408714159
+\N25\N708.12020-06-19 00:00:00True-52433True-29.51False699.179623144921True851605.094305253\N-850\N
+932.515161493-564\N143.12029-04-11 00:00:00True-55223True18.96False-605.659288296322False-330\N824498\N
+-45.5459861308384-74.19-621.9\N\N646-73False-73.69True-887.139276469821False123\N-263423-122
+925.410930002-532384.11725.42021-10-25 00:00:00False\N-125False-55.84False-37.6619437976-686False-292551.934860058452380-904
+\N-980975.318741991-03-15 00:00:00True-398-1True28.22False154.729955493\NTrue617-31.2327036348540-814870
+-269.343291004-825382.01-265.62021-05-15 00:00:00True886-7False97.99True176.271920122337True-577933.619837375785-707940
+-202.25799696-198-730.2885.92004-10-30 00:00:00False-190-33False-72.21False-860.980245797807False\N213.653306536506-953-189
+-85.7001777416-247342.2-753.52011-12-16 00:00:00False-155-48False-30.05False\N-875False315\N-113173322
+-32.6617894004850\N836.82002-09-27 00:00:00True-41097False\NFalse-36.9980580816-526\N470937.632680875-354289-821
+323.744655123-801-674.54-75.52026-07-09 00:00:00False\N32True-17.63False782.527504638-884False895-966.051620309520519113
+-643.277077598353695.66-791.12019-02-19 00:00:00False764-30True-80.37True\N-230True-505-595.989656068-381946315
+-839.862008957-75-811.83-5.92008-12-05 00:00:00True76158True-29.45True-183.39223431262\N612-562.809954523\N595-117
+-222.931474416366400.99-559.82016-08-11 00:00:00True-90689False7.68True-705.101615262558True-946428.589802882265361-809
+852.165159856-680-328.35\N2025-01-30 00:00:00False\N43False13.76False-217.977477089708False-473-263.127326684\N-586646
+-112.106405883-950797.51\N2026-06-23 00:00:00False-138-31False39.61False-929.44770508140True-41080.2053139441427662248
+-648.029308118-915133.15-325.52003-01-06 00:00:00False-85432False-59.24False-524.098820956575True705144.220579017-986-350831
+-977.120734612615-585.48753.32011-01-20 00:00:00False-963-64False-79.45True-529.337569739724True-441\N\N-484408
+305.29646662-410-758.22174.61992-05-30 00:00:00False-19818False-92.21True\N221False-92-560.79510033-468403-347
+925.860529654527-298.93-8342018-12-22 00:00:00False69102False-22.5False3.94566975124135True592-668.432416763917439360
+375.409755181729-784.36-2731996-10-24 00:00:00True-7061True-9.35True272.917584482168False913590.82437894470882-320
+747.271517725-704184.64939.62006-07-13 00:00:00False371-13False-72.78False63.1405030001181False750705.063830782608278472
+656.626937413-140-990.49-322.72016-03-29 00:00:00True394-76True69.8False-68.1045933922-897True-493-998.634510532-608-558\N
+-648.569303769-208-85.24-38.22027-03-09 00:00:00True273109True4.5True482.267889952677False332520.135090147-703-307-198
+535.336038485331-744.38-378.92013-06-10 00:00:00False800124True-76.16False14.9006799259-414False368923.693212397-331452484
+533.28402596148-555.44882.92028-05-09 00:00:00False-51849False-62.31True905.677746924-311False711483.476276193-139170274
+-23.7844835519928454.78142.52005-06-01 00:00:00True\N-23False60.68True-242.802881068\NTrue899728.714199208431-716252
+698.62668154-619113.22\N1996-08-06 00:00:00False267-126True88.47False899.601731725-172False801-445.571729761828127-193
+571.016089277306239.94-187.12003-11-17 00:00:00True44728True\NFalse336.904544522\NTrue-453314.595861479259784-557
+914.493968201255413.95977.22013-05-14 00:00:00False-836-86\N-66\N\N684\N6352.81550310210850344
+-334.68160843\N-719.91286.52011-01-24 00:00:00True-316-45False-40.92True-864.758376678436True-866-332.38014559753257794
+\N-139700.63264.82022-07-15 00:00:00True825101True84.97True-123.24045457717True606650.82511116928-733560
+-208.761790078\N\N875.72005-05-14 00:00:00True-7047True29.29\N-926.800691022599False540373.203694867-511592-141
+211.451037682751801.87-254.12010-01-28 00:00:00True-63-12True\NFalse-8.07928347035-31True-73810.671217928\N\N402
+33.2089998125-442\N-929.7\NTrue-97554True-96.81True476.152805523-40True-374487.270642838\N-311-839
+510.804116866-653-579.13-535.32008-01-30 00:00:00False88877\N-31.21False676.913228111-892False-46869.494915722891-896-771
+112.67070534292664.15575.42022-07-23 00:00:00\N565116True73.06False547.659650637-102False-697-162.8247367159-277\N
+-54.4689590619-123465.65-658.7\NFalse253-60False-37.98True-476.378315361-570True965952.819261494-28964775
+981.375651125-3949.75-126.82006-07-08 00:00:00False26-70\N-22.83False-825.455806767171True\N-473.010256136667-340-736
+-317.938429024928805.04714.72001-06-03 00:00:00True-543106True43.94True609.673872601-271True-211293.999001799228752962
+464.322788761576894.32\N\NFalse-371-63True64.26False561.17580973351False-707515.864019132-279\N-853
+64.7123622159-64-159.35-890.42028-11-21 00:00:00True559113True56.8False-35.9365311388-637True656-51.874594589-616-293769
+229.499193764914-144.09422.5\NTrue-712-54True-13.74True-979.348776911111\N305-899.718059387-395-830268
+159.564040855-850-507.13534.61998-10-16 00:00:00True-3507True-98.09\N-181.996408414944True315868.739422614-175625-522
+81.833913702994-359.15-899.7\NTrue-5092\N-89.97False\N-694False556-338.13879329601-794-936
+-508.009354484-318-309.72492.7\NTrue197-62False-14.41False-42.9095782092552False-891480.77685293-58025241
+463.470573218-128-228.66-9912022-12-11 00:00:00\N454-11False-64.01\N-92.398260127-868True701-957.830243276-718-914546
+365.11400543323731.8215.82002-05-01 00:00:00False-618107False45.09True-982.660869046900\N798-503.333291197643-881-642
+-221.559204591980727.44-719.52002-03-12 00:00:00True412-7False17.82True672.284546514393True-879\N-709809-791
+-95.8309513966-136-975.9-391.71994-07-06 00:00:00True725-47\N52.72True428.179830189-942True595776.428084101113471610
+902.531326769837889.56824.22020-01-07 00:00:00True-11060True95.49True415.629237462-318True-430503.823083058\N-620-473
+910.300217447147-159.63-4682007-04-04 00:00:00False\N\NTrue-89.04True609.586091571827False-642-69.9084688074-601-509505
+-382.687022752157\N-296.62018-07-13 00:00:00True7448True42.05False162.643583268-492False-572952.070426376509-483480
+-35.7397635271768-220.224082000-02-27 00:00:00True736\NTrue\NFalse-735.077892603-305False40748.761926536-991-440\N
+618.895812116-774-193.57419.52003-08-13 00:00:00\N554103\N-77.87True655.132134738835False-529-741.420408972913-48878
+474.27351528\N-909.32657.22027-05-26 00:00:00False623118False29.94True\N8True\N-219.004553316282-180-442
+836.347208426-979-131.39231.5\NTrue203-111False-31.21True609.157220222648False959725.885236552710244378
+612.292207191-662-21.72-212.72028-03-06 00:00:00True-502\NTrue57.56True-510.989552409-810True433-554.462100392-56-162600
+807.726275223-916574.92172.52029-09-05 00:00:00True89-90True-29.84False200.527815622-164False981727.907344518-485739-431
+8.12495253815441-118.95-764.31995-03-19 00:00:00True-100031True39.46True479.943270428-357True66430.315478626\N646568
+-340.0163536364513.51572.72011-12-23 00:00:00False-872110False-6.8\N-860.679833784-738True-151-953.089826349\N100328
+68.8574950223-115-218.9799.62019-12-24 00:00:00True559\N\N-43.07True-859.676131185\NTrue933\N-922-362-186
+-782.10519914-404561.37\N1999-11-30 00:00:00\N\N-7\N79.48False475.019818753-546False-33843.671834888-478-469272
+458.22174853233591.8820.52001-07-15 00:00:00True-904-81True36.15True-622.802917329965False542622.126412314-812209-680
+-89.9021994556902263.2-8272010-12-13 00:00:00False782-91False-55.93False992.397212398481True-525-511.154507512-937739110
+914.725474952856-975.33\N2004-09-05 00:00:00\N-948-3True-79.03False902.34614206818\N-600573.6292014971000901-219
+\N-4110.69\N2026-02-21 00:00:00True-887\NFalse93.12False706.347193299791True-424-646.048310986-124-598285
+-491.790826289826243.62-911.22003-08-03 00:00:00False651105True-34.28\N-105.963267793-304False\N-556.108061959-370\N723
+-698.207171551-834-280.45\N2004-09-20 00:00:00True124-9False92.67False612.735185787417False153470.05507237-521\N249
+-396.866478233-296907.79\N\NFalse198\NTrue-6.76True20.3460037966-201False569779.094691167-543398601
+70.7835110256576-360.82993.52019-02-24 00:00:00True82661True-99.66True-898.557863419853False-215\N-614307260
+-606.232214562-618-396.43449.81997-09-29 00:00:00True514-34False-54.79True-674.795212478-698False896417.379516201-770-390613
+\N246-40.92-309.32003-12-18 00:00:00False825\NFalse67.24False-772.450532191-539False391-655.018240453-194977-484
+\N712-91.57-675.12029-02-10 00:00:00True21311False-72.45\N785.028313941-461False-809-567.76573191-616-906-843
+60.2534595485-37513.93-733.31992-01-19 00:00:00False594\NTrue-27.24False850.717096047286True-892425.180560003-740954-918
+\N-187\N862.52009-11-30 00:00:00True17656False-5.69True581.521510135423False14838.0105347222-622-944\N
+-873.395275301-817-374.68-568.61999-10-08 00:00:00True\N58True-61.63False890.135446564-166True-46252.405807099-938698-319
+273.331917428612268.29-117.82012-10-21 00:00:00False-471-108\N-44.33True831.41606033852\N-2755.8735995565-73442964
+-500.955951344-192337.37-63.82024-08-03 00:00:00\N-329-29False47.82True-369.060229444-625True-545890.34563869\N871388
+547.288532255689-532.85-74.62021-05-08 00:00:00True-479-26True-80.56True-808.688990782201False790984.26972476844651889
+-736.980786384654-515.79484.12028-09-03 00:00:00True48917False-57.83\N394.474541427745False179577.870028413831-42-616
+349.467465101-196449.57-362.62010-04-09 00:00:00False-328-11False-68.37True-301.98015977725True-846951.093997632-4933582
+\N852-510.09-259.51992-05-15 00:00:00True-326-122True33.52True-238.230407732640False981-80.5571351019-411746-129
+614.231222329-269-825.74-848.72015-07-23 00:00:00True211-79False-60.08True-354.533686264566True-495341.8682723909633-863
+-972.6489532543-4.63-835.82019-08-06 00:00:00False-40341True-22.63False-272.02636514-128False72218.949263532-617887-793
+-295.430560405209-246.69183.72000-10-19 00:00:00False\N76False70.69True467.93223778544True221254.07700132-214-259-334
+-154.131823348-841515.62349.82027-01-05 00:00:00False-652\NTrue29.98True-573.740269801213True-401641.537056903716931514
+-190.006875748539-996.78788.32016-09-14 00:00:00True-37246False-27.95True-659.589633989-716False-14743.9096248276775-258491
+-761.496471268133-287.39-428.22020-01-17 00:00:00True-121123False\NFalse173.464148287-677True921\N-808-502828
+399.871524571-682-823.5-138.31994-12-10 00:00:00False-299-29False45.76True-518.650551478626\N-307-315.885657266-21-165-910
+-727.78480437843695.74-748.52012-09-17 00:00:00True532114True11True-201.428248702713True-287-498.706934694-185\N641
+834.144378521346-370.36688.42027-11-21 00:00:00True\N2True-72.41False-315.984266953342False912-464.375288573-369388\N
+-88.5797425273191956.73\N2026-06-05 00:00:00True853\NTrue-73.59False-778.078416327\NFalse161861.947762817-417607-317
+379.79790846195-286.63420.81990-02-16 00:00:00False-18739False-77.46False-407.407859946673False480-86.6075434067-919-477900
+510.936021373697-869.96232.42015-07-09 00:00:00False87350False2.38False-122.01775113605False460782.086383844\N-455227
+808.194846258493-85.49-4242003-06-03 00:00:00False-24938False64.49True284.946539805-191True167-170.250372732\N75\N
+844.575938013489-557.61620.32004-01-17 00:00:00True326-34False-25.16True-871.470579198-474True14438.229109362-754450159
+966.047651917\N-0.26\N1993-06-08 00:00:00\N-279-94False42.31False-158.974850193731True-812657.160644534-678135\N
+341.869590718215-728.01353.72015-09-12 00:00:00True-645-49True-65.23True\N881False-552687.893754936-452-8-662
+-708.240111009-438394.43-9012016-04-14 00:00:00\N880-82True\NTrue47.3742605999647False-52-942.782649419603-106-466
+-650.554463369-85657.35-555.92020-11-07 00:00:00True62867True-82.46False639.079362194229False677307.004825721682987-391
+793.552305307959691.39586.21997-12-23 00:00:00True247-59False32.95\N-971.92109262\NTrue-607-881.701867647-789-908-210
+-731.986431966319679.76284.62024-07-11 00:00:00True556-13True-53.33False-287.69662520247False-992-883.360242048612950422
+\N-664-480.81-43.32021-02-14 00:00:00True461-114False-37.36True280.512124189358True-536361.625717423-14544-423
+-894.21625661-182-553.88-159.71992-04-07 00:00:00True371\N\N97.59False\N\NFalse389554.498728246-508-109-220
+570.213014742-770733.88-43.8\NFalse-13879False-51.16False-662.003745003882False\N205.134631237238306-553
+-298.370246842-750228.93\N2002-12-27 00:00:00False12-79False-36.28False-805.422791813\NTrue-963869.861416792-619-151-235
+-587.40380339832-384.24-257.82029-07-31 00:00:00True-210-118False-24.54True\N276False-934-314.251586908912882-374
+654.16184691-380\N890.91994-01-11 00:00:00False-329\NTrue-9.65False806.090903881-777False631-545.809477419918-704-251
+116.261961373106452.01\N1999-09-08 00:00:00False480\NTrue\NTrue-803.437213927-333False125-634.632353087-374-843192
+-470.679939521734713.36-31.12021-10-10 00:00:00False-32-93True-58.04True-56.5449234333966False-541-558.330658851-83251-523
+758.762010665-597497.32-466.3\NFalse-782\N\N35.64False161.724697299305False-763-721.89939477822-458-349
+-51.8310467482-815-605.86996.42004-05-03 00:00:00False-161115\N-87.21False-692.457883042-791False-89663.943198934140801-548
+-882.614595208749-46.1852.4\NFalse690-109False\NFalse-70.3354114151620False-309-713.937248466-3\N-561
+-16.1578069499\N\N712.92023-09-27 00:00:00False913-116False-51.71False\N561True-664218.122300258706416-725
+-259.50165219116811.14-511.32003-03-30 00:00:00False-222-23\N57.46True-764.596115488\NFalse-376101.231806887972964-991
+-305.838646037750661.11-867.11993-05-06 00:00:00\N-51080False-97.37True329.38213546-143False-415713.944355197-91548783
+\N772122.7848.12028-10-19 00:00:00True-414116True-33.96True-773.328324337354False-224-650.705515969444721208
+-278.257999249995-24.37-265.12009-01-17 00:00:00True770121True-72.32False\N-212False-437-661.181860956-526\N-282
+581.002329125\N-326.16576.22028-05-09 00:00:00False966-80True\NFalse-453.373630123-848False-29-219.44028256965155916
+721.04675914-289496.77724.42002-09-16 00:00:00False-865-112\N\NFalse297.489286328-566False-441-129.285997332-325\N485
+901.700533402-313-370.81-317.12003-04-01 00:00:00True-285-10False-53.93True-244.222943358145True-295391.687827527490895-741
+128.047137824-692847.09-707.42002-04-12 00:00:00True52910True83.98False415.505283225875False-406-781.5707548055-753-884
+155.920459532-351533.49-824.82001-11-17 00:00:00False-657-108True7.64False-968.402541402-812True865368.166254035529515-191
+368.076144629106\N831.32025-08-04 00:00:00\N57-86True77.19True-259.958981851634True-864672.868064861-457-115903
+581.159867546840-252.27604.62000-08-23 00:00:00False111-106\N-94.9True-920.23131608\NFalse63833.051022758-689-897705
+\N-856-511.2768.92002-09-25 00:00:00\N-423-49True82.29True403.475543972-519True453-64.4014680849\N600907
+886.2338105482277.51-315.52009-04-17 00:00:00False194\NTrue58.24True614.643340092\NTrue\N-503.609120573-60483-892
+870.479628365827295.53-129.11991-09-05 00:00:00True93527False-86.23\N\N964True16819.2580943007-47755\N
+-292.514492094515\N920.11997-07-28 00:00:00False772-111False12.23False-17.3359020456511False-589715.201394052\N-912813
+-847.94324908-751-746.789312002-03-15 00:00:00True-799-62True27.02True310.456734809424True49\N215\N484
+-149.180816796-189-992.36-618.4\NTrue891-72False-74.66True\N820True41479.1792632628-654518521
+-140.837492802618-346.7350.7\NTrue-134\NTrue-15.68\N789.908204627142False-209525.402313553194\N613
+-824.74605143-504189.97302019-05-07 00:00:00True-13-53True98.65True359.427304868257False648-603.384942233397-762-437
+-679.04547860680363.89-939.4\NFalse-44159\N-55.39True646.193740198-776False-735902.710251285-101-509-610
+-239.919061702739\N-275.91990-09-15 00:00:00False56850False-50.84\N-920.854481726742True264-400.019263271384531\N
+671.69026515\N373.01821.81993-06-01 00:00:00False92397False88.24False551.636605469230True-810416.528368684566-148175
+-725.275481654\N-244.15860.61996-11-23 00:00:00True-602-62True-59.7True806.638794662-57False-352-366.035395407733243831
+357.2365781292-749.03\N2018-12-08 00:00:00True181123False59.92False-76.9700097938-596True802-755.301920613683-450648
+864.489146969-368381.55744.12028-04-06 00:00:00False-776True21.03False276.244665721729True862\N-856950-408
+\N669658.28-64.32026-06-14 00:00:00False-65-119False-70.11True-151.340453678445True-362-745.84673557914368\N
+741.346390369289-719.39-310.32000-09-15 00:00:00True-90884True\NTrue498.39216157-75\N\N-816.251397643-900-88899
+530.569814385647400.9630.52028-06-30 00:00:00False703-56True-97.86False780.453026702\NTrue246148.243857111\N699358
+852.36604903\N-870.5275.21998-01-16 00:00:00False67260True-56.18True\N-192False-921\N-675435-798
+-696.108229138959577.11\N2002-05-05 00:00:00True\N103True-72.18True66.5966400876-961\N265\N977-200500
+-397.676518442-769-233.46-194.12001-10-13 00:00:00True-866\NFalse-36.26False509.924563869-870False871695.680125203-325918-282
+652.526492799-52-603.1513.12001-01-31 00:00:00False-83917False-4.92False836.666222741\NFalse-519-424.012587703-632-304-816
+220.52813498-522808.87953.81996-06-02 00:00:00True-65132True-34.58False50.2480919728-871True-319366.536749535-985558204
+-186.459347949-276-999.71533.41999-08-27 00:00:00True\N124False62.28False-817.776794305673True276896.693641026466\N-291
+404.146722381-704706.45565.81996-12-26 00:00:00True-694-118False-9.16False151.746816263-431True\N702.607730379921282-320
+-983.689515696-9-576.54\N2007-08-21 00:00:00False-64027True-66.4False-604.465281854862False-325\N-801138\N
+565.854334001185205.94150.12001-10-19 00:00:00\N-36241True-6.36False\N\NFalse-424-303.256337937\N274-21
+-706.103430712\N530.45-530.82003-08-08 00:00:00False-367122True36.89False862.850809606630True-218-625.956302182250-756-75
+368.345191731\N-472.2-570.52003-11-29 00:00:00False850120False90.72False\N-161False673325.014106397-957801-267
+806.68953596835\N-568.32018-08-04 00:00:00True-506\NFalse2.62False-749.622406082316True-346854.486267869-434-548894
+507.857643952907-274.1\N2003-02-14 00:00:00True-392-81True-94.78False\N906True\N585.494412058360\N\N
+\N-59692.63-255.92021-06-12 00:00:00False844109False-62.38False226.629176275-401\N-32343.9240860396\N393348
+-381.430885724-102-627.73645.32010-04-05 00:00:00False\N57False-56.89False-605.644777689951False64-500.492711975-751-145-209
+\N970668.91261.6\NFalse665-47False20False-753.639309381444True109-457.319603508153310-470
+45.767207561936\N676.21992-05-20 00:00:00True-19911True-17.87True525.759977561-128True330-990.163774199-1007287
+437.225632936575-745.2785.52023-01-01 00:00:00False34449True97.25True-267.251657393845True-370644.429542829-815-823\N
+452.512643837\N560.95174.42024-06-28 00:00:00False28588True5.74False\N-855True527-679.228153941-157531-428
+-551.66458531\N778.03-34.92000-11-07 00:00:00True-834101True99.54False815.37410097459True42-871.611940888-890876-10
+-414.29892181488-602.1989.42003-11-15 00:00:00\N63070False-32.52False-81.0867714349201True-360-907.428092204-589235-175
+18.497903318726-539.96608.41999-07-29 00:00:00False312-32True19.06True508.194426536\NFalse480-872.49909262859\N572
+401.74750863-600626.0382.22028-04-08 00:00:00False238110False\NFalse-9.00855274969494False-838\N33237666
+-914.310729817-825510.43829.31994-07-03 00:00:00\N83387False-3.99True392.766963921-36False-721342.96857953-948-75618
+560.00998339-342428.72-806.82018-02-16 00:00:00True572-51True-1.45True-999.675157296-102False501842.755688932\N-239-545
+486.215527365-161-872.58-298.72022-05-03 00:00:00True869118True\NTrue-364.940143412200False-40869.274258899375-14-366
+291.879618019908-939.9469.22020-10-28 00:00:00True56674True54.59False-530.874120395\NTrue666605.189572385-20183375
+25.4028904582842-10.05357.52028-07-16 00:00:00\N-565-60False-8.24False380.875978437774False736-901.821311013272560848
+831.890482286-928949.62-621.62003-06-22 00:00:00False719-77False93.58True-401.726100131996False-614945.666624215619-13545
+-172.241515767418-394.81\N2004-03-07 00:00:00True9162True1.32True-694.787943874975True975-487.455130989371-902116
+-692.891112974-471-601.44627.5\NTrue-80520False-12.42True159.46379253-951True897-451.301217649-240446612
+-728.186761514703710.89-575.31994-03-12 00:00:00False309-88False93.23False-1.20428874831-71False676\N194173-459
+711.183580178-471-500.4-596.72004-08-07 00:00:00\N29564True22.73False569.726049207821True712435.197626356843809-189
+\N-260816.86-555.4\NTrue-29525True-21.42True173.675849244\NFalse\N-352.332358598651187-158
+368.208604659\N785.51941999-06-21 00:00:00False965-27False-27.57False621.748194872-776True855-798.17667835524087-820
+-640.36978231-509-472.4701.71992-03-26 00:00:00False-689\NFalse50.6False995.404950175\NTrue835-363.326438026-348584-801
+-481.948710337389496.8801.81990-03-28 00:00:00False969\NTrue-76.64False-926.440906549-983True-62-188.389182348-723245693
+402.519131426\N-774.93-7652023-01-21 00:00:00True-361-40False72.08\N-842.675597571\NTrue-2535.6827543502794-822457
+\N939-905.84901.3\NTrue-87118False50.63False767.946099225640True404308.329087343\N52-444
+403.30062084759645.53893.12015-07-07 00:00:00True-944-39False\NTrue-524.488782694-290False93-244.182691364257176473
+467.727393929-591248.02-430.12014-02-05 00:00:00True40-89False-81.63True-677.034922231-416True591121.519387192\N-808\N
+574.881645267261\N-783.22002-05-14 00:00:00True-15516\N1.35\N-220.585891885737False-529-87.0487271034621\N-950
+-170.510314376460971.33-531.62029-03-18 00:00:00True-295-80\N-28.58False881.78442621-558False221-627.394273135-634-45825
+\N-696\N-716.52005-04-22 00:00:00True-540-46True70.35True-823.501883556541True679797.334286253197209562
+949.546335911382632.38-152.52005-03-31 00:00:00True11389False-71.57False917.208759021373True-232-855.564920746651681-481
+-328.452972727372918.31865.21994-03-24 00:00:00True\N-97True-13.4False\N654True165430.159567374349797-533
+\N-85895.42\N2007-01-18 00:00:00False574-106True-15.81True-666.49652544502False-301293.781093305776581-238
+\N-414\N-147.32014-09-01 00:00:00False-344-5True38.47False-776.39116212-10True-217444.000639491\N\N644
+-686.289654425418\N7182018-09-10 00:00:00False764-30False-1.41False\N-256False-148670.475902948-326-616189
+389.273856344-405721.49862020-12-18 00:00:00True559\NFalse31.96False-281.508881306463False574\N-766207573
+-255.472661493\N\N-614.12027-07-22 00:00:00True\N44False-33.87False959.06146693-475True38877.791863711570\N824
+\N-10838.68-133.41996-08-30 00:00:00True-554109False1.91True415.528893672\NTrue-41\N\N53-829
+164.349734293-349-715.1129.22024-02-06 00:00:00False309108True83.63True926.564415178-890False-38767.9040076395821324-526
+-852.535818917\N-292.52289.32001-12-02 00:00:00True\N68False-86.31False970.882226574-382True725923.002830326-247149-952
+951.56072691-614\N-1942000-12-21 00:00:00False9614True-90.64True-203.604561283266False968981.771677274-318-756526
+327.208529895-282\N-176.22022-05-24 00:00:00True695-80False23.94\N521.653941677\NFalse-28-841.002456927-264-431830
+-338.072991204-242\N207.72028-01-10 00:00:00True-156-33True-62.54True-279.046858383996True809-902.07446001\N-516\N
+100.124012294280\N442.51996-03-25 00:00:00False\N-94False31.18False48.9874927921-897True-149193.42707749191-796-697
+947.84344303-98-600.08505.62006-04-24 00:00:00True-297\N\N-76.68False62.9318202047285True-51692.2554290879-541-968948
+-893.914447415-347-240.44128.92006-09-20 00:00:00False7297True37.52True-789.031184227-580\N\N-786.284232204650963-579
+-96.3950092984935-90.45-968.42010-12-04 00:00:00False-79770True21.43True720.779285678-716\N956511.834750231912163-952
+404.47324337285-294.71-645.92021-12-20 00:00:00True\N-64False-14.48False\N-594False449305.735588525-611-433\N
+-645.175216647536768.67-224.52007-06-24 00:00:00True-177-119False-81.97False288.226199603509True-980522.564281739618-484-155
+-845.771233209\N-93.55-619.72015-01-10 00:00:00False-161-65False-37.14False615.94952079419False-71-417.571543541612973\N
+\N-799-486.98-483.5\NTrue\N81False50.08False-861.116641282312True560801.189875283541668402
+\N\N542.67703.62000-06-14 00:00:00True891\NTrue-84.36True-253.540017547\NTrue-340-359.392636142-850648187
+-783.031036086196746.38-18.91998-07-14 00:00:00False-621121True-93.56False628.598155398\NFalse454746.272345457443-843477
+676.70096179165214.34-124.81998-02-13 00:00:00False-13748False97.97False112.493125545869True-259-146.040140452-309383-818
+-661.547675763-8179.06639.82009-09-20 00:00:00True-536106False-71.73True-803.290223012-244False-686438.942953338821\N241
+-408.669499484822785.71292.12003-10-13 00:00:00True-956True62.91True-206.706333103-765True178431.932958277-419-660-774
+-910.999885538-268-221.88295.91998-04-18 00:00:00False\N\NFalse-68.49\N757.667423946-899True\N-906.633353662-519\N-369
+974.757981617-73918.84142.91995-11-28 00:00:00False90267True18.67True\N\NFalse-135\N141-908420
+150.966590094276767.42\N2009-03-18 00:00:00False-536-16False-37.36False-461.55848979-393False-885797.777104154-297\N43
+-326.809458815-20-706.69298.72027-08-19 00:00:00False61873False-50.6True-906.908813501113True-668344.004175909-668715827
+5.9269484329-8948.47-99.81999-03-17 00:00:00True20-78\N-84.23True66.089668764367True-595-344.749786948910-787\N
+746.237188649832491.24-841.82006-08-23 00:00:00True-40190True-15.73True-337.86572405834True-644983.853124692-958\N862
+512.38269274-68568.32\N\NTrue-174-65False-94.82True639.90661069954True\N78.0550991626132-87406
+\N-276\N3282021-06-28 00:00:00True-82421True2.46True971.611647133-160False-621423.061435782-520279991
+-764.082112648509307.6-714.42018-12-16 00:00:00False-578-73False-66.69True57.758910218767False-211704.06229265-960779-309
+413.31744100571185.48793.32006-10-18 00:00:00True\N87True-80.57True-557.419137493-977True586-874.751431216926-480-142
+75.9586382605-826305.91564.52026-06-10 00:00:00True52065True-79.5False828.291969967816False-62579.79679481306-229-681
+-518.262938358-410-46.64-935.42003-09-11 00:00:00True-742\NTrue-0.86False\N-142False823315.071024914\N-132-15
+586.068686493-696670.9761.42003-08-06 00:00:00\N-26-91False-11.09\N354.661209533-297False-598-86.190438159786649-409
+\N-722388.02-451.62003-09-14 00:00:00True976\NTrue39.68True-783.80608310430False-1-822.02821223519-625-903
+45.9573703803-766726.41-553.92028-07-05 00:00:00True544-75True45.59False15.955085276782False-468823.274341238\N781-465
+665.571252161131-634.07525.51997-02-15 00:00:00False-26052True-34.07True-538.125223725-620\N-67-119.742743512-806-401-999
+-854.598074312\N614.26860.92003-03-18 00:00:00False45596\N1.63False488.688540442-290False-506-700.756777771-29081-869
+233.365498366\N650.28925.21999-06-30 00:00:00False60879True-84.84False-775.18433560535False182-971.3122649325\N762
+-835.981248899-670-583.99-374.4\NFalse-8599True-98.47False491.286466704-272False-247973.85012842121174424
+-51.8245772656-210\N-942.61997-06-23 00:00:00True-232-16False55.75True-93.1753615056748False694-754.050837416199410180
+-694.147592321-941-880.82\N1995-11-18 00:00:00False12861True80.66True902.314817876114\N\N602.460061874853-639246
+-273.079581523-333-949.3944.42014-02-09 00:00:00False\N88True-98.29True456.137637532-211True-119-744.8703345824830660
+-326.615908632-320-105.58-185\NFalse-240100True52.06False-75.8091856858766False643-137.36996559-602183-850
+972.179627998-797\N-781.72015-10-20 00:00:00True\N-116False-63.16False-730.931329279899True-992817.051536908840907765
+908.055142349142\N-756.72025-04-04 00:00:00False45994False-28.94True148.746413377833True957-959.125454933-616567870
+86.952193681-825401.39-585.5\NTrue-76\NTrue-85.14True-333.26940399318False553-419.169251266166-116418
+680.236003713-428542.83636.42002-05-10 00:00:00True383-36False-99.21False-491.170537072741True-579508.364697565286741-296
+-183.022294469-121-826-764.72025-12-12 00:00:00False-728-90False69.68False-848.767669293-452\N820-363.390815604-868148367
+-934.993761356703-120.819782011-09-11 00:00:00\N-733\NTrue3.34False\N-477False-781-885.879600437-26\N636
+889.665000698716799.09-753.72027-04-19 00:00:00True-61-16False5.36False16.5042244629562True512987.012105515\N-143229
+-45.9781745893540\N225.31991-11-13 00:00:00True-92022True-39.34False447.513431888-987False262-125.87170779853-765-57
+467.095020329576-932.34-386.22007-04-19 00:00:00False66138True-0.65True762.109184094281True-930342.961562755-481-635-742
+427.500076097694499.19-106.41996-12-01 00:00:00True-2160False74.32True-910.746414731381False102450.62258713909\N762
+-974.20192209869742.82-944.41994-01-26 00:00:00\N-99372True\NTrue136.849128416665True-102\N713693-435
+830.022146548237254.75-8881991-03-10 00:00:00False29153False6.09\N354.381490365-532False96-6.3501135003-235420400
+27.4322759594\N560.42733.11994-04-15 00:00:00True-81791\N50.59False-812.28424485-691\N992280.330006253-6214107
+571.808240756530\N7951995-08-08 00:00:00False\N-127True77.54True-496.762994707901True-924-727.436583332\N-46-102
+-102.090773728-596828.79-702.72003-05-12 00:00:00True-59360False96.14False558.884370696-331True-52699.008166526\N-759551
+264.550228065626-210.64-558.32018-11-10 00:00:00False622-29True16.07True843.902804222\NTrue762-993.69643792408-955448
+253.123761523745921.2145.92027-02-18 00:00:00False-48040True-8.53False\N-541False634-633.518526183-94825\N
+-342.499447454666-448.63-652.22016-07-18 00:00:00\N-204\NTrue13.02False509.382370817711\N806561.51605501131582131
+-258.891450093-951\N323.31995-11-06 00:00:00\N167114True-52.8True\N799True523944.267025837-194566799
+800.965985673620812.48-4971996-02-12 00:00:00False97870True79True-175.825101082235False\N-893.810669155-256148-596
+925.513990565110741.5908.52003-05-12 00:00:00True684-39True9.24False219.579198546-238False200-892.07660475-435-790135
+736.098549723571517.76-575.92022-08-06 00:00:00True780-60False-70.64False744.419221796297False-322-550.287147146-220462-68
+-249.71565866330609.74515.22004-07-12 00:00:00False341\NFalse1.61False-885.783920188-803True898161.535691782-516527-948
+-871.35318379\N464.33953.62022-11-14 00:00:00True-305\NFalse-81.63True213.305993808-583False822-954.69168975-20498-838
+-209.260488122\N-621.94288.91994-03-23 00:00:00False-487-64True8.87False-777.3828023265\N788380.096547893319\N-970
+\N112-428.56802.71990-07-27 00:00:00False-918-30False-44.9False-353.72948548841True96640.4225733449-525-48\N
+35.4669218573-280-143.86-722.4\NFalse-610-62False-18.54True364.914901371489\N-834-572.975752896\N-139335
+307.59595879-931999.88-841.51998-10-03 00:00:00True-922-68False-29.74True-239.395232185-37False873-34.9514611757-24-76-532
+446.58342663\N-23.423642006-08-18 00:00:00False7534False31.6True-483.354481702-554False483-217.214862738-779-817708
+\N634\N-9232010-07-16 00:00:00False42356False-39.06\N99.6542599697157True-121616.215861162-597-298710
+-109.512591069849932.99-674.52004-04-22 00:00:00True-49923False39.05True-553.564226073-547False256287.908600593212-38632
+-817.268157854141-813.5920.51998-10-04 00:00:00True280\NTrue-31.93False-845.319087064-468True935\N\N-653-597
+\N818963.4989.32014-06-06 00:00:00\N\N-25False\NTrue896.855028417639True395954.278543057-852-901-822
+625.11301954-154354.4925.52017-04-25 00:00:00False-138-50True-11.67False409.804006512-415True\N351.26936643583150833
+714.923772079-386879.66578.62013-04-11 00:00:00False595-105\N31.37False-490.84800195674False61906.018932139\N-370\N
+\N23384.8-337\NFalse-12156False79.34False897.291060674140True555601.994118852-898-471769
+\N-542-985.27-491\NTrue-6572True\NFalse-788.842095298-495False-928-571.723998691\N291-9
+-240.958018598-766853.27-333.82003-03-26 00:00:00True-55725\N-32.93True171.599681044-940True\N-645.027919357-271626-500
+373.176844773-168-694.11325.8\NTrue789\NFalse-65.98True-99.169926795550False313-54.1157897178\N428\N
+224.540043103-275-692.968522012-12-18 00:00:00True32060True71.07False-572.258270583878True612\N\N612-882
+\N-424-617.52825.31996-03-29 00:00:00False542-115False-99.64True485.701231118859True117328.723585902-44780172
+-831.175090941-403-286.34275.81993-01-05 00:00:00True716-110False92.61True991.60055347-386False878300.348982702229917276
+-124.545219246-696905.6\N2012-06-19 00:00:00True-841-90False41.09True676.586736384-266False\N915.195316377-83885338
+423.321246836327641.38-814.11998-12-26 00:00:00\N-340106False67.66False-525.157769964\NTrue68-32.5022755814-587817-638
+\N-341968.44-560.12000-06-29 00:00:00False82297True89.64False-847.954774843-149True313-518.575355321559\N-606
+-745.653614978-322\N230.7\N\N-37399False-23.01True173.832478306174True589\N660320-565
+-418.354022062839-935.92-994.32015-05-11 00:00:00True-780119True-94.21True972.038332081767True362208.240252374348-669320
+505.097705393298-229.35\N\NTrue75768True-33.39True183.762706646888True11723.196218414773-447-670
+-114.364256312-620610.22412.62014-05-01 00:00:00False-70069\N96.69False-163.739224664-879\N-490443.552447288-563128760
+-527.064728939-153437.39968.12021-12-12 00:00:00True40988True-77.97True-209.901364468-562False328885.385534833\N-700464
+-556.835702482-543-628.8331.31998-12-13 00:00:00True-320-29True28.62False-732.603221075552False141330.790725952728-514-721
+160.613306768-187-724.67-308.31994-07-09 00:00:00True887-45False58.37False-533.971620858820True185-864.219802158-53921-683
+\N639-534.02-616.52006-02-15 00:00:00False-729-64True3.2True381.718278932458False-282525.240897345714-207\N
+143.74227425-589-975.97401.42008-05-06 00:00:00True-64564True-51.97True239.989438646201True-428172.634727035-330-151-198
+-60.7891380867-148138.07970.62018-11-05 00:00:00False-8213False93.03False176.173503966-980False\N-863.957894506703811197
+-956.205074079812-523.79-972.71994-02-27 00:00:00\N-917-47False-77.71True17.6152550895967False-126-155.430906174-497219864
+-709.108921788-983607.32573.22020-03-30 00:00:00True53467\N-18.16False-636.310732842-940False363-842.290285878-434-54930
+372.514780806725257.82\N2020-01-01 00:00:00True867-61True77.73False\N-862True857\N629-380-495
+655.677700989-31144.23-738.42022-03-09 00:00:00True-839-12False55.5False71.4405151024\NFalse56895.943119399-391-173623
+634.236619141-672\N637.52017-04-18 00:00:00False-512-114False33.04False374.688309757-406\N\N-838.976740574518-180-428
+-742.219513725781-164.01\N1993-03-01 00:00:00False758-43False41.81True-129.022341455507False-407-228.445331449415-892398
+-405.80189731975231.6\N2002-10-04 00:00:00False784104True\NTrue620.88195023690True-538363.380748013551-922-7
+-300.474980029341647.41132.82016-08-01 00:00:00True782-65True83.35False387.65381614-102\N161-513.712565377819-503-973
+256.8327809225953.32786.62016-06-29 00:00:00False442\NTrue-3.02True85.9301652664-275False-867-442.028871834\N431211
+294.129749969-303-498.17475.72000-12-31 00:00:00True-659112False\NFalse980.560573507567True-42130.528632672701-511317
+-307.075355108-257363.94-304.62011-05-14 00:00:00True555-8False67.28True246.241213777-4\N-984-161.77304928745\N816
+\N427\N-2202008-02-06 00:00:00False763-54\N40.69True-692.65901382-830\N-609-916.037499598393\N-796
+103.516070963\N\N\N2013-07-11 00:00:00True-58116True-15.38False-262.483313463\NTrue213256.704744792-167632926
+-601.739518873256-254.12-406.61998-03-07 00:00:00True-964-114True-86.33True-499.606837405-664True-571963.73070346931808\N
+161.767801416992-151.28594.22003-03-05 00:00:00True-59680True14.78False413.937785255976True557-279.897478412-46\N-419
+496.246115476375897.17-753.22027-12-14 00:00:00\N-699-58False82.35\N597.504335577\NTrue585904.493502617-337481494
+372.653848415916149.27\N1990-11-26 00:00:00False587-84\N14.36False-559.953936256680True\N-126.3615479384-839-466
+578.238365329-427\N-892.42006-09-01 00:00:00True389114True-84.74\N-669.600739632-906True-450-622.376996854-176-500\N
+283.572168899923616.21-25.52028-05-19 00:00:00False-39782True42.6\N382.221895996\NTrue-829-664.069063032\N380-764
+-258.248692063-618-664.74695.22027-07-26 00:00:00True-37720False-27.4False802.078414867\NTrue59784.958024919271-704696
+\N\N-290.1-652.72025-08-04 00:00:00True\N-47True-27.62True-840.634701994-661True-893\N862-991-338
+-273.20386237314794.04-62007-04-13 00:00:00False\N\NTrue6.85False-198.603428278-668True-989\N-234-512-313
+920.642754278814501.83275.72015-12-12 00:00:00True-44820False-98.5False-936.892533554-263False-711-129.23468319-252-770-67
+248.497887394-489839.19-624.82018-01-07 00:00:00True-66742True43.4False-173.661868322242False703-41.7701914741-857-40891
+-978.036265578-464-604.99277.21992-09-22 00:00:00False217\N\N-54.95False-558.115767547-859\N-882-997.018269181-856600-740
+397.848469433878-690.67\N2022-09-10 00:00:00True-30462\N-93.79\N816.22469221-745\N664\N-272\N707
+-830.963584302154405.71-196.51999-03-14 00:00:00True943-3False-65.59False2.72636244898-947True917-929.691849924707720922
+-544.690345014607\N-742.12019-07-13 00:00:00True-8487False\NFalse-467.436526182-44False-235-944.1902913-492-659-503
+239.653512203-840513.49180.41992-03-05 00:00:00True975-54True91.63False209.269803472\NTrue\N-618.431696727117-537-317
+-50.9458876192-256-496.59\N2017-02-23 00:00:00False-759115True58.75False660.74268755-288False-760-493.407975923-655-797358
+431.188312357898-845.21-473.92028-04-09 00:00:00False784-73True-79.57True401.806012291-529False305567.866014406603669-451
+-976.705628158-101-180.02113.12013-11-18 00:00:00False636-40False-44.85True-934.009705274\NFalse-107-305.839739218587-491955
+507.378531208\N-130.08116.71997-11-19 00:00:00True\N-94True-90.43True-435.785770353-574False414-63.4696418859-411-465-803
+-312.182153787620546.93-897.31998-08-24 00:00:00\N46390False-7.32True-595.055397786-356False-725936.089258602\N\N-86
+-682.526921148\N-435.02-3212016-04-14 00:00:00True\N8True21.63True-973.14016408773False779-861.347188766\N-602\N
+324.158466951768946.25-634.32023-12-11 00:00:00True358-14False-23.96True-402.39427827-436False360122.255687515441-236572
+-287.624781518-704-554.74630.92025-04-08 00:00:00True617-77True-60.3False-346.214926885811False-824972.15985405246-415-711
+-284.991576134854-304.68-8512006-07-24 00:00:00True582\NFalse-28.64False851.682185076-272True616213.847586263952-799798
+504.353728645630-653.09843.71994-06-19 00:00:00True-608-74True-80.47True508.74386573137False\N-663.591000271-512-297-144
+-559.504780274773\N-43.21998-07-21 00:00:00False93346\N-0.12False603.86257157106False246635.619707731543680\N
+367.764327679966338.49-398.32021-12-08 00:00:00True619\NFalse-86.72False982.315592405461False467-184.172361619328-7012
+-970.895141731444-453.16548.62004-03-26 00:00:00False-59763True-36.25\N836.030275087759False-541-342.563765886-408-984993
+909.348659409-193-404.74\N\NTrue-83317True47.2True803.818266902464True-620-892.351713399734446-63
+-42.423163429867670.34-796.12005-05-14 00:00:00False-792-44False\NFalse\N-505True234661.581973503935608\N
+449.312622477395\N382.12029-02-03 00:00:00False70354True44.43\N-282.953586064383False-308183.932416236-127-133-28
+-392.466588093-645-93.18929.72002-02-27 00:00:00True-45056\N-64.46True514.992135107\N\N-239-585.902492358-255-22-388
+-271.371484459922-576.23-3452029-12-16 00:00:00False514\N\N80.46True700.30088149407False-434\N840-53-220
+480.266163074256906.11-281.61990-07-20 00:00:00False-879\NTrue97.49False7.60861551358-95\N-112585.016305425158-928-196
+\N-237331.35-978.42008-02-03 00:00:00\N-8-23False68.79True-926.72309682-568True-841-957.378304994343-300-565
+-151.061462891\N-356.95-812.72020-11-11 00:00:00False-144\NTrue-36.89False73.7903539791423True-604773.706569185286-99784
+\N906\N\N2020-05-23 00:00:00False557-28False\NFalse21.9762295299668False-604769.392775895-233829638
+\N-299802.04908.12028-12-03 00:00:00False-113-94True82.42False88.4551867075661False9931.2319777274-626104-414
+\N-394-893.05361.42018-11-08 00:00:00False-53237True47.7True650.716593202206\N285766.71126102-898536653
+954.768165282-278198.19-642.12015-03-04 00:00:00True52655True-15.42True218.06768489180True-115588.822916674-821497-995
+913.82361015-500-602.66722.21997-09-30 00:00:00False\N\NTrue35.9False118.13692984-81True\N-765.315855878-450284-164
+497.544229631\N581.56462.32004-09-12 00:00:00True79877True\NFalse-374.257469654874True-761-829.132658097-950-228-687
+-709.867799973\N433.8604.61996-08-13 00:00:00False-876-55True73.8True-219.274081066228True-785915.091485482-633336839
+-670.015993548166-81.81381.21996-08-11 00:00:00False412-89True-63.34False183.153918683741False-491-33.6961782575-258-974-502
+\N228-624.18686.91998-05-26 00:00:00False-56072True-47.99False-883.962742544\NTrue-877763.796082156-283-647192
+\N\N915.02-883.6\NFalse-875-103True10.98False164.696881676708True-482-865.721032552355\N435
+191.740754814969-119.77-543.42020-05-31 00:00:00True-311\NTrue37.27True30.0672148321\NFalse470-86.0026648024-853\N200
+572.437167824436\N-145.11995-01-20 00:00:00True457-125False13.79False636.499297266186True-680605.819660124-326233-269
+811.270202457-930-475.3671.32012-08-21 00:00:00True-907\NTrue-79.78False737.72640513328False-303-392.334048376-464457-601
+864.148220623-637903.36225.31995-08-29 00:00:00False307111\N88.35False272.209697175-190False889-578.653561311-945-678-885
+233.619399463-215547.21-838.41992-12-24 00:00:00True73432True-16True840.516851688-152False50-459.501650387336712-138
+734.809485216476-626.11-740.72028-10-13 00:00:00True573False\NTrue-853.479237232517True608354.462111312639-114-67
+-679.148654961744166.12-253.42000-07-01 00:00:00False9156False37.93False382.11157884506True-838481.727824216690492-673
+-883.315054396-59474.59-566.22029-03-15 00:00:00False-928-88False65.51True144.373177081-120True105-50.2024864334\N-347-469
+-431.819692743\N560.81564.41997-10-22 00:00:00True\N\NTrue-13.44True-51.5046665052472False-575-125.456375759\N757297
+653.582113453-93844.128222024-11-24 00:00:00False23984True-74.31True-806.441482898-641True154658.27971415-652869431
+-179.098115113-738-690.39\N2018-11-28 00:00:00False-39-59False-0.53False994.844650299826False-395\N99257\N
+-952.508446524-793923.58\N2010-07-07 00:00:00False57296False1.83True315.703239424848False743-734.195428169-326-557801
+-862.770463116\N-976.05351.12026-07-26 00:00:00False285-93False\NFalse18.1262712721-703False46561.512549794-546692-860
+-641.354036243-385-38.78980.62013-08-23 00:00:00False825-7True\NFalse939.620034627-203\N516\N659752141
+606.476163031-841-14.29629.82009-03-15 00:00:00\N8029False-8.02True-193.616232585-921\N135-491.079960108\N530670
+-188.359357964286-300.09332.12019-07-30 00:00:00True-87693True-85False622.854256895-454True\N-990.012681682812-244\N
+677.737724585181-762.75-235.9\NTrue37693True-88.01\N831.088922329-204False25423.9386011169-654-757207
+620.927392379\N942.37-9992011-08-20 00:00:00True-18878True\NFalse308.219332693-340True978-322.720777707-822279-691
+623.077048237-329298.9-751.62021-04-19 00:00:00True-99853False60True-35.8844280746-908False349622.4827987939866709
+158.654190918961-107.66-609.62024-01-16 00:00:00True944-121True84.09False-693.976019231336False-665987.820760427-277\N-941
+255.099882692-743-979.34354.92010-03-08 00:00:00False-300-125False-89.13False681.37225208433True-71-426.920212422\N\N579
+-638.137187879-913\N-220.52017-01-18 00:00:00True10681True-67.86False\N-798False354116.495582132813-65-385
+35.2514696108165387.8337.42008-05-29 00:00:00False\N58False-87.06False132.352111731\NTrue578563.284549601-91223\N
+606.184299007-362872.5-860.12026-04-05 00:00:00True-240-48True\N\N-470.99102464-220True125224.99783130274\N756
+551.08747845410751.023172006-07-18 00:00:00False-372-44False70.1False883.225004837387True54-477.147685705-3-310932
+-750.476785681-597-943.12-209.42012-10-11 00:00:00\N47431True52.33True901.348116803-291True710814.051283149802166539
+686.864925997672-841.55886.62000-12-25 00:00:00True-712-85False-39.69False-982.503883004817\N-556-889.99882855898762635
+\N\N\N\N2026-08-03 00:00:00True578-7False46.68False683.797042043675False810657.633577231258-954306
+-945.741945336712434.67-846.42012-12-06 00:00:00True754-107False\NFalse724.135357849372True-19-444.535662083-765766\N
+\N973\N241.72025-07-01 00:00:00False194-56False\NTrue-750.452424292-361False-733-780.785039234156\N686
+\N695-592.63-60.92023-01-31 00:00:00True-867-111False46.19False-45.5172892822\NTrue216174.217717451-556-651809
+\N-311-685.72-933.8\N\N620-116True-83.65True\N-596False\N-724.80061019359\N-510
+-783.707716572-377551.35-580.52023-11-09 00:00:00True-19450True67.21False795.793167798699True-721-537.835434808814-376261
+\N-19-181.11705.22008-12-11 00:00:00False\N-122False30.07False945.929015581\NFalse676\N215354359
+10.59943967977-282.99-933.12005-11-23 00:00:00\N228\NFalse0.24\N438.732261984276\N-638325.22563853757741633
+184.226296389\N-499.88-585.82026-05-10 00:00:00False-93-57True78.63False112.694006055919True545\N-518381-827
+264.183183228700-705.35632023-08-04 00:00:00False659-116\N-35.93True\N76False367\N\N596602
+187.38421447167-766.57879.62009-04-13 00:00:00True26972True86.03True-54.510827776795False-412536.34732233494982792
+\N-927347.67-904.61994-10-28 00:00:00\N245\N\N-19.73True\N-574False74-954.606310719-336802949
+-936.653430974735480.49151.81996-06-06 00:00:00True774116False\NFalse729.639606034\NFalse-402141.922975523195824323
+394.987307114595-922.88569.82010-12-22 00:00:00True-459125False97.4\N-462.300764167-863False-765-647.558990557576-366737
+149.116833991560-956.18280.72029-05-06 00:00:00False773\NTrue-32.49True-658.17657112154True757-293.096538824-422251443
+558.16921311256086.38-139.42020-03-02 00:00:00\N-235\NFalse93.31True898.29466839750False-112110.452460043\N\N694
+-833.811138627318204.646481997-01-07 00:00:00False666-115False-44.87True607.735663346363False354-18.1288488425-502518507
+-478.731764828-885952.57492025-11-17 00:00:00False290-25True-53.07True118.166115259861True140226.137633416969-615-134
+\N176-883.17-318.12002-09-23 00:00:00\N-222-110True-86.53False619.110881303-619False686-103.860301817540287-50
+269.369412414-783-789.8\N1993-06-19 00:00:00True-67043True18.1True569.475935981757False-100113.423731154-267352-727
+913.47495502263\N-961.52014-04-17 00:00:00True-32259True-38.55True-236.406994719-302True-964-70.9638954218-941706536
+123.898888677498804.629052015-06-23 00:00:00\N63423True-37.02True356.424379714-241\N-829707.778367573-98-44751
+-679.792112058-938370.6475.12009-07-12 00:00:00\N-71683False-1.93False-307.351416104274False49-49.0897239648-657-178324
+\N873-722.69-308.12017-05-17 00:00:00True366-1False-20.62True873.388199973-617False331\N-633-844-407
+-570.192355151\N-229.83-186.32000-08-23 00:00:00False5696False18.41False-92.6388440432\NFalse-922-672.739335808573-546-335
+-384.602471738999-994.75-748.82010-04-29 00:00:00True80976True29.91False49.3080100143388True-169341.342188074507-700245
+629.608497282-559-216.88-871.82004-04-11 00:00:00True521-17False-42.6True711.302855721201True-199-76.5437542424880751-380
+826.035516659823-274.15346.61993-04-18 00:00:00False-496-106False-31.47True241.667594191-392False453-772.937669907-340\N707
+233.568527215\N-561.01492.42015-11-16 00:00:00False444False-80.05False\N682\N-91194.178185829\N780756
+75.6134791253746-947.99624.12000-07-16 00:00:00False-964-56True-7.16False894.965820704-9True-530-773.709619334-709816467
+-668.822094819686-424.07450.41990-03-28 00:00:00True3993True-59.26True-283.467975096320True-108-674.739572368-593344834
+-466.36672009796-941.3-745.92000-11-19 00:00:00False\N-76False72.8\N-511.96423307-850True-795-184.561682955233-713450
+445.921397901839-977.1971.82022-08-13 00:00:00True-483\NFalse-11.25False776.541354945-610True-303-514.655200115189-122-532
+-331.940507635-763304.0235.4\NFalse7307True47.5False31.254955107926True-710432.948977973-211-266-408
+-824.74903106403\N475.51996-02-09 00:00:00True250-68True-82.77True407.747813675-164False-509\N-998792-213
+764.200677703-632906.41-211.11992-05-18 00:00:00True443-51False55.73False263.930603056518False-58681.7799705192823-617-226
+171.94482659420-455.56-1812021-09-07 00:00:00\N-69646True59.82False687.87585836-159True68111.2011670379765-7571
+\N-311590.171852016-02-13 00:00:00True902126True\NTrue923.867457134-82False-114121.298734763137-308-354
+-940.262017851\N985.12-572.31994-04-22 00:00:00\N-661-64False84.39False-856.10174173742\N\N870.497705143-34-46658
+997.699213742-331\N348.42012-05-28 00:00:00True411-120True93.16False-922.410717349-102True788295.611481834\N-354441
+456.249737256-419-297.36-987.12015-11-05 00:00:00\N-220119True8.11False487.327971305560True217\N-654-681-485
+-319.494358482510-512.13\N2011-12-05 00:00:00True-540-77True-28.99\N964.538483562503True411-295.226419524-15445613
+-88.5788515112251594.481822021-08-30 00:00:00\N18735False-82.62False156.7052291885True595\N-881-30-679
+-89.6572547706-635436.88-230.21991-06-08 00:00:00False-94149True26.84True942.3483091528False149-75.3079276887929-59981
+-773.101939376-866918.34-428.61997-06-22 00:00:00True-54714True71.73True939.304737495218True-32041.7966350683-427\N-812
+449.978088903493480.51366.31992-03-20 00:00:00True37270False-21.45False\N-46True631-835.236930766-989-442179
+-207.43251380341474.1886.72009-04-12 00:00:00True\N-91False63.98True-970.972773333511True-155-576.527543693-371329334
+784.597241686-191144.06-295.32003-08-20 00:00:00False37442True80.22\N62.0450991893828True-145894.857356165-627179633
+\N513541.09130.72027-12-14 00:00:00\N-563-4False-69.86False516.15788438373False770-406.140049407771807693
+\N\N684.765491999-08-10 00:00:00False-72840False47.78False-934.70733144142False\N182.189696219-136892959
+\N-341\N-936.42029-01-26 00:00:00True771-104\N0.76True-515.332166327\N\N-933-203.274540385252-590-771
+147.18268623\N-911.53984.22014-07-01 00:00:00\N-454True32.95\N-327.415938191726True-984951.913650492269997426
+422.358742724-123-616.81862.71995-08-16 00:00:00True234\NFalse\NFalse-876.433849045671True-208884.46927113280-656-203
+366.191283431-812857.9-351.32027-04-19 00:00:00False215\NFalse90.89False-32.9026324941171\N562\N-878\N-296
+-607.666028477\N844.8115.72004-02-22 00:00:00True568-8True94.86True-371.348594853-920False-80447.4830265668-16652175
+-988.900940661361326.12\N1991-11-24 00:00:00\N-294-114False\NTrue935.753136107481False-81448.1318491628-459-615-19
+-889.345220501-856164.9-741.8\NTrue-274-67False-5.15True195.059054502819False693-241.600560565-45215585
+-259.582739107159-489.02-691.82017-07-30 00:00:00False-290-20True-15.59False112.966217221846True-432-228.49827566890617113
+\N342748.4127.42029-01-07 00:00:00True\N33\N72.07False-496.340048115206\N-44-164.541302757-447-630\N
+-450.06371536359912.69-701.92004-07-23 00:00:00False-79821False-61.74True953.095424194-908True-130-23.8910592891808842-152
+-460.807578636703\N-823.1\NFalse818107False-39.76\N-724.185431515860False-682-561.801275663-584920981
+-522.889346052-761-537.6113.41992-04-09 00:00:00False-183-103True-69.28True-533.469016375872\N158-989.906210877-263\N-313
+-166.035470693-746204.53436.62013-11-05 00:00:00False482-101\N-85.58False-769.137384242-502True-975-699.819561562-361907934
+-593.982622944314277.02968.82002-04-25 00:00:00False41053False-90.35True282.015516387-116False-549-641.842673152-395-571-851
+-868.32562057675703.71-276.3\NFalse-742\N\N-17.75False-835.239131876741True380206.415037682-252-261-656
+-646.585411354-460199.14373.72009-04-02 00:00:00True87-121\N-96.46False290.835179384-960True71-401.654060797518\N
+87.87368721-497-964.36-953.82007-04-18 00:00:00True-858-85False81.91False284.269456645429False619-84.2697029499-813451508
+724.367295609288-487.47586.52014-11-16 00:00:00\N-523-56True-31.23True300.945070952339False308-190.363992465605\N-241
+\N747688.4636.51999-06-08 00:00:00False522-3True-28.12True924.013953869850True\N147.990058459756290-212
+-54.304398410875-925.72-119.42012-05-18 00:00:00True713123True-36.94True535.924620097\NTrue-37652.869076526-146-476-938
+-294.910583876-956-955.55399.1\NFalse769-12True\NTrue-449.733911866565\N481158.571421771-710-947\N
+\N-476830.28-652.42013-09-11 00:00:00True62992\N\NFalse167.487155695-60True760\N967843-949
+-52.756422178\N\N-941.91996-05-04 00:00:00True82591True-89.78False-636.484329087-320True432-955.543646171-437804919
+-12.3624281444398-288.36\N2007-11-08 00:00:00True464-28True-2.52\N-696.926282143\NTrue\N-551.920906374422-706-979
+-487.686067891-329-67.29299.72028-02-22 00:00:00False282-76True78.19False-452.788982968-622True-307-800.579135529923-180674
+-268.274449376173169.63191.22024-03-13 00:00:00True-4871False-51.99True-712.625236404\NTrue-274\N-69909226
+141.095637487-250-762.03-75.4\N\N974-73True-89.55False270.185829887-143False203\N\N288-397
+-650.549893876\N-148.05735.42003-01-12 00:00:00True41432\N28.66True-812.972038329-62True893889.76526446924\N-740
+505.681834362134-558.744792023-07-17 00:00:00False335\NFalse-97.78\N806.474723721-299True\N702.470753128-506350\N
+640.367874986-329\N\N\NFalse-897-23True14.19False-962.441660747-216False287695.478556658438-3851
+314.98258998673-442.63-319.31996-09-12 00:00:00False321-20\N-72.62True-845.540934494-543False-305-764.897422377-528149879
+934.38754992853922.64-4032025-05-26 00:00:00False770-82True\NTrue-464.007307423-417True252-679.604147367-652-156853
+-832.251142901-936-915.8351.71995-01-31 00:00:00False4534False-36.53False-221.201227502-191True180-793.193963181-840177-433
+-961.57009877-463\N-379.41999-08-29 00:00:00\N-579-91False37.25True506.365797482199False\N748.08499374-866-59-463
+\N-529697.07-748.42019-07-31 00:00:00False-77-68False98.13False42.4931014616605False-851721.782053115-610305913
+-674.152080674458\N-386.72011-01-19 00:00:00False93289False40.46True415.602592118-336\N-545-267.969283297-222631-992
+-162.93617363215759.17185.52026-12-06 00:00:00False-61241False85.79False973.070590346-216True939-531.23667293-140771-256
+395.536059514-678-356.24-18.92017-05-12 00:00:00True967-22True2.84True301.48187618-264\N408-748.307807823731-474-45
+-531.4948252267-764.4-784.81998-03-05 00:00:00False-215-78True\N\N179.859907798\NFalse-133583.909187461-23\N\N
+-9.06955202412-135150.08-497.32025-03-27 00:00:00False\N-41False-37.26False-216.309246375-534False586-753.020882195-142-889430
+\N35220.2\N2004-02-05 00:00:00False\N91False89.91False195.103417707-58False-281-180.887089984962-494-734
+254.244641998801810.84-827.42005-09-29 00:00:00True-243-74False91.3False41.8075998215-345False870\N-197-114-952
+-485.745010564492110.546902000-11-11 00:00:00\N420-49False84.96False-668.974866883713False-852\N241-680610
+-607.329526112-130492.32-704.52021-03-13 00:00:00False\N\N\N-94.53True26.433037125299False-783-38.783954213656544\N
+82.5242042184-805560.984002021-09-23 00:00:00False13180True-93False82.8322243917597False694789.051606804-539943-689
+669.628788622998-750.14-45.41997-06-27 00:00:00True415-35\N-47.85True845.214231277-89True\N198.471760752470-530-353
+\N\N117.45-619.12019-03-14 00:00:00True-93212True-24.6True-391.250959752-479True-621868.590218576\N747\N
+-371.599032787\N309.58-760.12017-05-31 00:00:00False-840111False56.4True-362.692623623274False716341.829138446988-8171
+-653.497163255-830-505.11-314.42002-06-03 00:00:00False228101False-79.26False119.028727873999True687-393.053392283-23545-685
+-498.38456185-532-637.63-808.42011-12-07 00:00:00True-25626False-76.64\N326.814799931\NFalse-122567.515341394-773-191976
+-906.106702172\N-433.32784.82011-03-01 00:00:00True\N66False46.56True819.876374498933\N126770.146368085916-115155
+-783.725831613714-536.97134.92002-01-04 00:00:00\N-98283\N\NTrue724.468327584-944True570\N406-445350
+-700.297359908-563166.5-1041998-04-06 00:00:00False75212False25.67True-911.987317039123False670-213.066128698496-418196
+-528.186935031-784-585.71-517.8\NFalse247-49False-8.76True358.097992793-593True-770-511.544289378267725525
+\N-509-191.76601.22006-12-17 00:00:00False453-26False-78.89True574.273350265622False43105.85024165-543775\N
+-111.387618034514\N\N1994-05-24 00:00:00True-621100False85.46False948.7290857246True830-605.863266258780-956-186
+784.93045493221\N142.72019-12-20 00:00:00False458-11\N-56.04True-710.924203559-186True179259.141702733869-383-358
+190.93322083485-919.2-182.7\NFalse-996-58False29.45False42.3063434605-58True-391-996.861594727-348835-436
+\N\N476.3-762.82019-03-17 00:00:00True-24971True-93.42False102.494987645-205False612-343.917899851378-278841
+\N\N-70.22756.52017-06-24 00:00:00True\N-85False-9.46False\N662False-709181.63902615598487978
+273.549260252940581.63-574.5\N\N234-118True-32.11False-133.972616932249False\N-419.2875324-86-210-414
+\N-396-114.27-1.52017-11-18 00:00:00True17238True62.97False392.937327724\NFalse364\N-541710372
+216.288246102176854.69-373.42007-06-18 00:00:00True-4547False-89.17False704.129919528-41True\N-577.42647392-225\N65
+\N-401-881.68168.9\NTrue234112False-87.86True\N\NFalse269677.026484224-479-460-704
+-601.614051536-109796.87790.42015-05-27 00:00:00False-967\NFalse70.05False995.313722226917False296-422.210975157176763269
+\N843\N-1.82023-10-03 00:00:00True-802-123False-50.4True529.610059984-761\N680598.441872453431-285788
+746.569516313794-164.93-504.61992-09-16 00:00:00True-66884True52.09\N-305.986414342-25False852698.16554099-414-798-77
+216.46031563506-35.08-520.12005-05-14 00:00:00True998-43True-78.88False-265.16004807418False\N-827.595070045804-428-935
+99.5569471514\N-18.84-989.12003-07-20 00:00:00False-6438False-25.81False853.819149727860\N744-638.485221861209922-404
+-433.527399342-111737.26-853.82014-01-01 00:00:00False-503-84False93.05True138.250657672-150\N186-647.556856466\N-826-609
+-471.585239841-987-757.441262009-03-23 00:00:00True56983False7.55True-264.618705761\NFalse-217\N\N130\N
+-441.694638789-754-586.98-266.82015-06-18 00:00:00False-388\NTrue99.18False-516.473867186-237True-185413.884135922488479\N
+-975.244295603159-621.44450.91993-09-06 00:00:00False\N-65True91.64True-590.962900894-209False-807932.931247942-316-168-233
+566.291747594-745\N-79.92014-01-28 00:00:00False\N33True-57.72True\N-512False-56-617.297674241-641-6519
+\N-288-937.62\N2001-05-15 00:00:00True-26-65True84.71True-336.286654348236\N-720407.395131444-422942-353
+-800.129326598-68119.01-939.72012-12-05 00:00:00False-637-16False8.87True-457.718507309781False\N-694.793672289830686860
+758.84597617239044.2135.22028-09-25 00:00:00False89-126False-60.79False579.174930377-605False-190\N56-938944
+318.711951867-289142.28-645.52021-09-17 00:00:00False\N30True-91.91False\N883True-319-531.949363753210-122-598
+724.084577057723-320.25-138.4\N\N751False-72.08False-239.703242416-975\N798-290.076525027-91275-971
+-453.825608098750174.488242003-04-08 00:00:00\N120114False52.43True-742.156933172775False-942534.312411505949137692
+-418.630069566730-312.38474.82009-02-23 00:00:00False\N82False\NTrue122.833810853643True\N-281.128674174219828721
+289.326146338861-580.63493.91992-08-01 00:00:00True-43631False28.41True234.747044556710True\N-627.975188812-98967628
+-61.7301036283-58532.66516.82009-06-03 00:00:00True294-118True-90.23False-60.1442124211-595False471197.707231968-418-829-636
+-554.661836535740490.567282025-09-14 00:00:00False758\N\N-28.69True-188.062467544564\N932418.831925932309-479-77
+-12.2254359138-595739.75\N2009-10-02 00:00:00False-570-128True29.22False117.344626297343True-504-954.87489257-78064-738
+447.845841867706-15.81\N2014-08-06 00:00:00False-123-23True-91.72True365.050285425-175False248269.618820387\N-885-412
+172.131037834591-241.738282013-11-24 00:00:00True-231-102True-26.22False-219.514106987-954False488-490.229747081\N339-814
+423.579968401-183-172.03-385.21999-12-26 00:00:00True-816-94False-87.23True-905.601896951-748False-895-856.676501387-107594470
+828.074079457375748.4354.52000-04-01 00:00:00False-169-116True-18.95False347.131322697208True-903858.622074858-59054-327
+641.889233802137-479.5641.61990-09-12 00:00:00True583-61False66.32False822.906356405-37True\N527.269102253709140199
+467.29055556692-661.62-758.41992-06-12 00:00:00False\N-63False77.96False986.057848848938False17-922.103072622\N-703
+166.721165742-658-371.32-6242013-09-03 00:00:00False-648-110False-97.25True\N80True333859.1749433766908-269
+\N31636613.32010-01-05 00:00:00False998-98False74.72False-549.718735745187True-754-417.348552501-814936112
+-857.359086422\N572.378871997-11-22 00:00:00True516\NTrue-11.41True\N-201True-307-898.946452782-759676313
+-907.934991021-309-468.4985.7\NTrue-4167True\NFalse\N565True633-250.130918719-578-143-122
+-137.700965595-94495.63247.71999-12-23 00:00:00False-242-61True-95.89True-547.539835581-521True-176-530.509527014-511\N630
+143.202902043459-973.29-795.22022-02-17 00:00:00False-879-55True74.34False242.253698318710\N-10538.1504640742-30-532-721
+-592.354516598-154-318.86825.72018-07-31 00:00:00True-223-128False-28.87True905.066788699-167True-831260.748672161306-126-791
+-505.465765199768100.29174.92028-08-25 00:00:00True-674-20True-20.31False992.734460311-257False\N167.630005205-216832-312
+452.60073027468-222.63824.52012-06-10 00:00:00False-3936False\NTrue-949.172740692-774True-157\N-4162\N
+-623.93100058-922102.99-478\NTrue5989True51.45False-94.4142706131845True-258942.296547594-260571-191
+-586.00082651-319239.96709.31994-02-20 00:00:00True46-68True\NFalse107.250271412394\N-361-597.86112932\N445-490
+852.13543633-416-441.27-0.82012-11-21 00:00:00False-100090False75.42True492.545093359-653True627152.413868745-892-462785
+-294.332033489-547-947.68-582.81995-05-19 00:00:00\N-831108False18.93False-530.855248155217True613470.777940631\N-97288
+726.536309412512-655.16449.22008-07-12 00:00:00True-373-65False-8.35False-126.393739508304True\N-921.601398301-841\N-776
+674.790271455475-145.79-387.12008-07-14 00:00:00\N-299\N\N10.09False864.441382909-964True35-845.19651710489985-415
+705.212610468932-713.21683.7\NFalse710\NFalse84.72True633.375261104458True-532-428.033912355-136450\N
+343.343439535-816-414.01251.12019-04-29 00:00:00True-857-23False1.52True-44.4467071694-26True-802-82.7427371687-464-386-621
+-173.313614697997682.05-271.2\N\N-126-38False41.31True-760.108368911346True-193108.711898387116-322409
+-852.679297163-285948.16-164.41993-04-05 00:00:00False489-54True-95.92True571.589535069-348\N376-704.060700555488-665-290
+-99.5957092263165236.33-751.21995-10-19 00:00:00False-8293True93.23False-429.466888774-904\N-407-431.308032775245-660235
+-253.395849239190-471.93-837.12024-01-25 00:00:00True\N\NFalse-92.61True972.49171587660False560713.373485783922-912-988
+\N\N\N\N1990-11-13 00:00:00False502-96False-12.95True-78.8960793402-349True712-49.0716225165-651364-549
+-825.429402982957668.05-370.9\NTrue-750-66False58.78False-250.847628748-688True918-43.1355837617-977-340-173
+86.0260253048-649-10.91303.52005-04-06 00:00:00False847-15True86.32False308.293858652-983False-99294.903116946965-436\N
+-239.622962725492281.19-362.62010-01-11 00:00:00False757105\N-60.05False-613.6770881\N\N-488136.49061895324-773-752
+933.908394861-258365.59-745.31996-05-16 00:00:00False-830-100True-40.78False933.657112831518\N-225-923.133169444\N238-553
+-784.989486122727-615.43\N2006-03-19 00:00:00False-17283True5.2True336.493686857507\N10-820.463436227791870-529
+780.390046034406\N816.22026-07-08 00:00:00True-884-125\N66.59\N805.260991357-230False\N375.696174434432666-44
+-93.9075774191-831403.57-840.82028-09-08 00:00:00\N-853\N\N-82.54True558.679527884522True-244\N-328-875794
+522.880978412-249-670.24703.5\NFalse-437-8False\NFalse-187.543298683-326True-188255.892685221557-671504
+-182.169888209-609369.19-591.31998-05-28 00:00:00False691-112True84.96False188.060384612-512True-783580.38740006645\N70
+-209.327283342548-610.71992.61992-01-23 00:00:00False\N82True-43.29True-909.390738422708True299-754.310143419282494775
+-41.0430118934\N-644.1\N2001-02-19 00:00:00True923-13False65.42True677.334440758447True610346.409836379975\N\N
+-908.604194745432323.06-644.32028-02-27 00:00:00False-58830False51.86True\N-499False381401.435968754-240-674-843
+504.509593823766112.494.12023-02-12 00:00:00\N-45052False23.89True208.70051110970True-577-560.959371971-960575-846
+383.185091248-717794.38\N1992-01-06 00:00:00False-46032\N83.88False-856.502934412\NFalse359971.282506341148381762
+-278.834181506\N\N-863.62009-09-03 00:00:00True-289-105True-11.05False775.824859992-601True-605755.527475921750-391429
+723.617530858-437218.83508.92024-09-20 00:00:00False17525True76.05True382.711800516-699False\N-369.673355785-541\N-116
+-622.59586455-978742.52376.42001-04-28 00:00:00True2114False-45.47False-829.045696887230\N621357.34839845341803383
+-148.634458127-356-332.33965.81990-12-02 00:00:00False-877125False87.04\N-306.557785464428False-432754.743556515863872691
+-614.648422319428111.97-9392029-11-11 00:00:00True-54539False41.99True949.888832347-202True571-11.5357240683-574-748-673
+-427.71805767616-338.23-481.42014-09-13 00:00:00True-925\N\N11.87False\N-125False\N-700.40923071184441-456
+429.406662022-50-89.02-827.32008-11-24 00:00:00False492-116True\NTrue\N184True606\N-177281438
+738.742822278-176121.13283.22018-08-09 00:00:00True-86444False84.73False326.90098374-93False205\N-202134-505
+392.084757744\N820.66\N2003-04-25 00:00:00\N

<TRUNCATED>

[19/20] hive git commit: HIVE-20034: Roll back MetaStore exception handling changes for backward compatibility (Peter Vary, reviewed by Sergey Shelukhin)

Posted by se...@apache.org.
HIVE-20034: Roll back MetaStore exception handling changes for backward compatibility (Peter Vary, reviewed by Sergey Shelukhin)


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

Branch: refs/heads/master-txnstats
Commit: 455b71e4a2a51838818b77786566297b1fabb233
Parents: 08eba3e
Author: Peter Vary <pv...@cloudera.com>
Authored: Sun Jul 1 22:27:37 2018 +0200
Committer: Peter Vary <pv...@cloudera.com>
Committed: Sun Jul 1 22:27:37 2018 +0200

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hive/metastore/HiveMetaStore.java    | 5 +++++
 .../metastore/client/TestTablesCreateDropAlterTruncate.java     | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/455b71e4/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
index 5819a26..1327fa2 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -1774,6 +1774,11 @@ public class HiveMetaStore extends ThriftHiveMetastore {
                                    List<SQLCheckConstraint> checkConstraints)
         throws AlreadyExistsException, MetaException,
         InvalidObjectException, NoSuchObjectException {
+      // To preserve backward compatibility throw MetaException in case of null database
+      if (tbl.getDbName() == null) {
+        throw new MetaException("Null database name is not allowed");
+      }
+
       if (!MetaStoreUtils.validateName(tbl.getTableName(), conf)) {
         throw new InvalidObjectException(tbl.getTableName()
             + " is not a valid object name");

http://git-wip-us.apache.org/repos/asf/hive/blob/455b71e4/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
index c40b42a..efa3e7c 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
@@ -367,7 +367,7 @@ public class TestTablesCreateDropAlterTruncate extends MetaStoreClientTest {
         createdTable.getSd().getLocation());
   }
 
-  @Test(expected = InvalidObjectException.class)
+  @Test(expected = MetaException.class)
   public void testCreateTableNullDatabase() throws Exception {
     Table table = testTables[0];
     table.setDbName(null);