HIVE-19108 : Vectorization and Parquet: Turning on vectorization in 
parquet_ppd_decimal.q causes Wrong Query Results (Haifeng Chen reviewed by Matt 
McCline and Vihang Karajgaonkar)


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

Branch: refs/heads/branch-3
Commit: 6936c9c2a14c34665c4e8f20f8fc3b8b2af6afaa
Parents: d33f79f
Author: Vihang Karajgaonkar <vih...@cloudera.com>
Authored: Thu May 10 08:25:53 2018 -0700
Committer: Vihang Karajgaonkar <vih...@cloudera.com>
Committed: Mon May 14 12:54:59 2018 -0700

----------------------------------------------------------------------
 .../vector/expressions/CastDecimalToFloat.java  |  43 ++
 .../apache/hadoop/hive/ql/udf/UDFToFloat.java   |   4 +-
 .../vector/expressions/TestVectorTypeCasts.java |  48 ++
 .../clientpositive/parquet_ppd_decimal.q        |   1 -
 .../vectorization_parquet_ppd_decimal.q         | 169 ++++
 .../clientpositive/llap/vector_decimal_1.q.out  |   2 +-
 .../clientpositive/llap/vector_decimal_2.q.out  | 108 +--
 .../llap/vector_decimal_expressions.q.out       |   4 +-
 .../clientpositive/vector_decimal_1.q.out       |   2 +-
 .../vector_decimal_expressions.q.out            |   4 +-
 .../vectorization_parquet_ppd_decimal.q.out     | 766 +++++++++++++++++++
 11 files changed, 1088 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToFloat.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToFloat.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToFloat.java
new file mode 100644
index 0000000..4ef5422
--- /dev/null
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToFloat.java
@@ -0,0 +1,43 @@
+/*
+ * 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.exec.vector.expressions;
+
+import org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector;
+import org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector;
+
+/**
+ * Cast a decimal to float based on decimal to double function.
+ *
+ */
+public class CastDecimalToFloat extends FuncDecimalToDouble {
+
+  private static final long serialVersionUID = 1L;
+
+  public CastDecimalToFloat() {
+    super();
+  }
+
+  public CastDecimalToFloat(int inputCol, int outputColumnNum) {
+    super(inputCol, outputColumnNum);
+  }
+
+  protected void func(DoubleColumnVector outV, DecimalColumnVector inV, int i) 
{
+    outV.vector[i] = inV.vector[i].floatValue();
+  }
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToFloat.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToFloat.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToFloat.java
index fd49d1f..2872ff2 100755
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToFloat.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToFloat.java
@@ -20,7 +20,7 @@ package org.apache.hadoop.hive.ql.udf;
 
 import org.apache.hadoop.hive.ql.exec.UDF;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizedExpressions;
-import org.apache.hadoop.hive.ql.exec.vector.expressions.CastDecimalToDouble;
+import org.apache.hadoop.hive.ql.exec.vector.expressions.CastDecimalToFloat;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.CastStringToFloat;
 import 
org.apache.hadoop.hive.ql.exec.vector.expressions.gen.CastLongToFloatViaLongToDouble;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.CastTimestampToDouble;
@@ -42,7 +42,7 @@ import org.apache.hadoop.io.Text;
  *
  */
 @VectorizedExpressions({CastTimestampToDouble.class, 
CastLongToFloatViaLongToDouble.class,
-    CastDecimalToDouble.class, CastStringToFloat.class})
+    CastDecimalToFloat.class, CastStringToFloat.class})
 public class UDFToFloat extends UDF {
   private final FloatWritable floatWritable = new FloatWritable();
 

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
----------------------------------------------------------------------
diff --git 
a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
 
b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
index 3f17d4c..8499da6 100644
--- 
a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
+++ 
b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
@@ -379,6 +379,54 @@ public class TestVectorTypeCasts {
   }
 
   @Test
+  public void testCastDecimalToFloat() throws HiveException {
+
+    final double eps = 0.00000000000001d; // tolerance to check float equality
+
+    double f1 = HiveDecimal.create("1.1").floatValue();
+    double f2 = HiveDecimal.create("-2.2").floatValue();
+    double f3 = HiveDecimal.create("9999999999999999.00").floatValue();
+
+    // test basic case
+    VectorizedRowBatch b = getBatchDecimalDouble();
+    VectorExpression expr = new CastDecimalToFloat(0, 1);
+    expr.evaluate(b);
+    DoubleColumnVector r = (DoubleColumnVector) b.cols[1];
+    assertEquals(f1, r.vector[0], eps);
+    assertEquals(f2, r.vector[1], eps);
+    assertEquals(f3, r.vector[2], eps);
+
+    // test with nulls in input
+    b = getBatchDecimalDouble();
+    b.cols[0].noNulls = false;
+    b.cols[0].isNull[1] = true;
+    expr.evaluate(b);
+    r = (DoubleColumnVector) b.cols[1];
+    assertFalse(r.noNulls);
+    assertTrue(r.isNull[1]);
+    assertFalse(r.isNull[0]);
+    assertEquals(f1, r.vector[0], eps);
+
+    // test repeating case
+    b = getBatchDecimalDouble();
+    b.cols[0].isRepeating = true;
+    expr.evaluate(b);
+    r = (DoubleColumnVector) b.cols[1];
+    assertTrue(r.isRepeating);
+    assertEquals(f1, r.vector[0], eps);
+
+    // test repeating nulls case
+    b = getBatchDecimalDouble();
+    b.cols[0].isRepeating = true;
+    b.cols[0].noNulls = false;
+    b.cols[0].isNull[0] = true;
+    expr.evaluate(b);
+    r = (DoubleColumnVector) b.cols[1];
+    assertTrue(r.isRepeating);
+    assertTrue(r.isNull[0]);
+  }
+
+  @Test
   public void testCastDecimalToString() throws HiveException {
     VectorizedRowBatch b = getBatchDecimalString();
     VectorExpression expr = new CastDecimalToString(0, 1);

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q 
b/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q
index ade49a3..812732b 100644
--- a/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q
+++ b/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q
@@ -1,4 +1,3 @@
--- Suppress vectorization due to known bug.  See HIVE-19108.
 set hive.vectorized.execution.enabled=false;
 set hive.test.vectorized.execution.enabled.override=disable;
 

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/queries/clientpositive/vectorization_parquet_ppd_decimal.q
----------------------------------------------------------------------
diff --git 
a/ql/src/test/queries/clientpositive/vectorization_parquet_ppd_decimal.q 
b/ql/src/test/queries/clientpositive/vectorization_parquet_ppd_decimal.q
new file mode 100644
index 0000000..4bc8f2f
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/vectorization_parquet_ppd_decimal.q
@@ -0,0 +1,169 @@
+--! qt:dataset:src1
+--! qt:dataset:src
+set hive.vectorized.execution.enabled=true;
+set hive.test.vectorized.execution.enabled.override=enable;
+
+SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
+SET mapred.min.split.size=1000;
+SET mapred.max.split.size=5000;
+set hive.llap.cache.allow.synthetic.fileid=true;
+
+create table newtypestbl(c char(10), v varchar(10), d decimal(5,3), da date) 
stored as parquet;
+
+insert overwrite table newtypestbl select * from (select cast("apple" as 
char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from 
src src1 union all select cast("hello" as char(10)), cast("world" as 
varchar(10)), 11.22, cast("1970-02-27" as date) from src src2 limit 10) 
uniontbl;
+
+-- decimal data types (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_EQUALS, IN, 
BETWEEN tests)
+select * from newtypestbl where d=0.22;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d=0.22;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d='0.22';
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d='0.22';
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d=cast('0.22' as float);
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d=cast('0.22' as float);
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d!=0.22;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d!=0.22;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d!='0.22';
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d!='0.22';
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d!=cast('0.22' as float);
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d!=cast('0.22' as float);
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<11.22;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<11.22;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<'11.22';
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<'11.22';
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<cast('11.22' as float);
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<cast('11.22' as float);
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<1;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<1;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<=11.22 sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<=11.22 sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<='11.22' sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<='11.22' sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<=cast('11.22' as float) sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<=cast('11.22' as float) sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<=cast('11.22' as decimal);
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<=cast('11.22' as decimal);
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<=11.22BD sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<=11.22BD sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d<=12 sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d<=12 sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d in ('0.22', '1.0');
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d in ('0.22', '1.0');
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d in ('0.22', '11.22') sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d in ('0.22', '11.22') sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d in ('0.9', '1.0');
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d in ('0.9', '1.0');
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d in ('0.9', 0.22);
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d in ('0.9', 0.22);
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d in ('0.9', 0.22, cast('11.22' as float)) 
sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d in ('0.9', 0.22, cast('11.22' as float)) 
sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d between 0 and 1;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d between 0 and 1;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d between 0 and 1000 sort by c;
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d between 0 and 1000 sort by c;
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d between 0 and '2.0';
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d between 0 and '2.0';
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d between 0 and cast(3 as float);
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d between 0 and cast(3 as float);
+
+set hive.optimize.index.filter=false;
+select * from newtypestbl where d between 1 and cast(30 as char(10));
+
+set hive.optimize.index.filter=true;
+select * from newtypestbl where d between 1 and cast(30 as char(10));

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/results/clientpositive/llap/vector_decimal_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_1.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_1.q.out
index 5107015..05c43fb 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_1.q.out
@@ -665,7 +665,7 @@ STAGE PLANS:
                         className: VectorSelectOperator
                         native: true
                         projectedOutputColumnNums: [4]
-                        selectExpressions: CastDecimalToDouble(col 
0:decimal(4,2)) -> 4:float
+                        selectExpressions: CastDecimalToFloat(col 
0:decimal(4,2)) -> 4:float
                     Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE 
Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col0 (type: float)

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/results/clientpositive/llap/vector_decimal_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_2.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_2.q.out
index bc596b3..bdb84bc 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_2.q.out
@@ -131,11 +131,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as boolean) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as boolean) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 true
 PREHOOK: query: explain vectorization detail
 select cast(t as tinyint) from decimal_2 order by t
@@ -247,11 +247,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as tinyint) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as tinyint) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 17
 PREHOOK: query: explain vectorization detail
 select cast(t as smallint) from decimal_2 order by t
@@ -363,11 +363,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as smallint) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as smallint) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 17
 PREHOOK: query: explain vectorization detail
 select cast(t as int) from decimal_2 order by t
@@ -479,11 +479,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as int) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as int) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 17
 PREHOOK: query: explain vectorization detail
 select cast(t as bigint) from decimal_2 order by t
@@ -595,11 +595,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as bigint) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as bigint) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 17
 PREHOOK: query: explain vectorization detail
 select cast(t as float) from decimal_2 order by t
@@ -638,7 +638,7 @@ STAGE PLANS:
                         className: VectorSelectOperator
                         native: true
                         projectedOutputColumnNums: [2]
-                        selectExpressions: CastDecimalToDouble(col 
0:decimal(18,9)) -> 2:float
+                        selectExpressions: CastDecimalToFloat(col 
0:decimal(18,9)) -> 2:float
                     Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col0 (type: float)
@@ -711,11 +711,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as float) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as float) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 17.29
 PREHOOK: query: explain vectorization detail
 select cast(t as double) from decimal_2 order by t
@@ -827,11 +827,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as double) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as double) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 17.29
 PREHOOK: query: explain vectorization detail
 select cast(t as string) from decimal_2 order by t
@@ -943,11 +943,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as string) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as string) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 17.29
 PREHOOK: query: insert overwrite table decimal_2
   select cast('3404045.5044003' as decimal(18,9)) from src tablesample (1 rows)
@@ -1070,11 +1070,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as boolean) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as boolean) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 true
 PREHOOK: query: explain vectorization detail
 select cast(t as tinyint) from decimal_2 order by t
@@ -1186,11 +1186,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as tinyint) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as tinyint) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 NULL
 PREHOOK: query: explain vectorization detail
 select cast(t as smallint) from decimal_2 order by t
@@ -1302,11 +1302,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as smallint) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as smallint) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 NULL
 PREHOOK: query: explain vectorization detail
 select cast(t as int) from decimal_2 order by t
@@ -1418,11 +1418,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as int) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as int) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3404045
 PREHOOK: query: explain vectorization detail
 select cast(t as bigint) from decimal_2 order by t
@@ -1534,11 +1534,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as bigint) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as bigint) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3404045
 PREHOOK: query: explain vectorization detail
 select cast(t as float) from decimal_2 order by t
@@ -1577,7 +1577,7 @@ STAGE PLANS:
                         className: VectorSelectOperator
                         native: true
                         projectedOutputColumnNums: [2]
-                        selectExpressions: CastDecimalToDouble(col 
0:decimal(18,9)) -> 2:float
+                        selectExpressions: CastDecimalToFloat(col 
0:decimal(18,9)) -> 2:float
                     Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col0 (type: float)
@@ -1650,11 +1650,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as float) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as float) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3404045.5
 PREHOOK: query: explain vectorization detail
 select cast(t as double) from decimal_2 order by t
@@ -1766,11 +1766,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as double) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as double) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3404045.5044003
 PREHOOK: query: explain vectorization detail
 select cast(t as string) from decimal_2 order by t
@@ -1882,11 +1882,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(t as string) from decimal_2 order by t
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(t as string) from decimal_2 order by t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3404045.5044003
 PREHOOK: query: explain vectorization detail
 select cast(3.14 as decimal(4,2)) as c from decimal_2 order by c
@@ -1961,11 +1961,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(3.14 as decimal(4,2)) as c from decimal_2 order by 
c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(3.14 as decimal(4,2)) as c from decimal_2 order 
by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3.14
 PREHOOK: query: explain vectorization detail
 select cast(cast(3.14 as float) as decimal(4,2)) as c from decimal_2 order by c
@@ -2040,11 +2040,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(cast(3.14 as float) as decimal(4,2)) as c from 
decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(cast(3.14 as float) as decimal(4,2)) as c from 
decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3.14
 PREHOOK: query: explain vectorization detail
 select cast(cast('2012-12-19 11:12:19.1234567' as timestamp) as decimal(30,8)) 
as c from decimal_2 order by c
@@ -2119,11 +2119,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(cast('2012-12-19 11:12:19.1234567' as timestamp) 
as decimal(30,8)) as c from decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(cast('2012-12-19 11:12:19.1234567' as timestamp) 
as decimal(30,8)) as c from decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 1355944339.12345670
 PREHOOK: query: explain vectorization detail
 select cast(true as decimal) as c from decimal_2 order by c
@@ -2268,11 +2268,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(true as decimal) as c from decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(true as decimal) as c from decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 1
 PREHOOK: query: explain vectorization detail
 select cast(3Y as decimal) as c from decimal_2 order by c
@@ -2347,11 +2347,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(3Y as decimal) as c from decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(3Y as decimal) as c from decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3
 PREHOOK: query: explain vectorization detail
 select cast(3S as decimal) as c from decimal_2 order by c
@@ -2426,11 +2426,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(3S as decimal) as c from decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(3S as decimal) as c from decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3
 PREHOOK: query: explain vectorization detail
 select cast(cast(3 as int) as decimal) as c from decimal_2 order by c
@@ -2505,11 +2505,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(cast(3 as int) as decimal) as c from decimal_2 
order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(cast(3 as int) as decimal) as c from decimal_2 
order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3
 PREHOOK: query: explain vectorization detail
 select cast(3L as decimal) as c from decimal_2 order by c
@@ -2584,11 +2584,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(3L as decimal) as c from decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(3L as decimal) as c from decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 3
 PREHOOK: query: explain vectorization detail
 select cast(0.99999999999999999999 as decimal(20,19)) as c from decimal_2 
order by c
@@ -2663,11 +2663,11 @@ STAGE PLANS:
 PREHOOK: query: select cast(0.99999999999999999999 as decimal(20,19)) as c 
from decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast(0.99999999999999999999 as decimal(20,19)) as c 
from decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 1.0000000000000000000
 PREHOOK: query: explain vectorization detail
 select cast('0.99999999999999999999' as decimal(20,20)) as c from decimal_2 
order by c
@@ -2742,11 +2742,11 @@ STAGE PLANS:
 PREHOOK: query: select cast('0.99999999999999999999' as decimal(20,20)) as c 
from decimal_2 order by c
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+PREHOOK: Output: hdfs://### HDFS PATH ###
 POSTHOOK: query: select cast('0.99999999999999999999' as decimal(20,20)) as c 
from decimal_2 order by c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_2
-#### A masked pattern was here ####
+POSTHOOK: Output: hdfs://### HDFS PATH ###
 0.99999999999999999999
 PREHOOK: query: drop table decimal_2
 PREHOOK: type: DROPTABLE

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
index 64433ea..2ddc05e 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
@@ -76,7 +76,7 @@ STAGE PLANS:
                           className: VectorSelectOperator
                           native: true
                           projectedOutputColumnNums: [4, 6, 8, 10, 11, 12, 13, 
14, 15, 16, 17, 18, 19, 20]
-                          selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(20,10), col 2:decimal(23,14)) -> 4:decimal(25,14), 
DecimalColSubtractDecimalColumn(col 1:decimal(20,10), col 
5:decimal(25,14))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(23,14)) -> 5:decimal(25,14)) -> 6:decimal(26,14), 
DecimalColDivideDecimalColumn(col 7:decimal(21,10), col 
2:decimal(23,14))(children: DecimalColAddDecimalScalar(col 1:decimal(20,10), 
val 2.34) -> 7:decimal(21,10)) -> 8:decimal(38,13), 
DecimalColMultiplyDecimalColumn(col 1:decimal(20,10), col 
9:decimal(27,17))(children: DecimalColDivideDecimalScalar(col 2:decimal(23,14), 
val 3.4) -> 9:decimal(27,17)) -> 10:decimal(38,17), 
DecimalColModuloDecimalScalar(col 1:decimal(20,10), val 10) -> 
11:decimal(12,10), CastDecimalToLong(col 1:decimal(20,10)) -> 12:int, 
CastDecimalToLong(col 2:decimal(23,14)) -> 13:smallint, CastDecimalToLong(col 
2:decimal(23,14)) -> 14:tinyint, CastDecimalToLong(col 1:decimal(20,10)) -> 
15:big
 int, CastDecimalToBoolean(col 1:decimal(20,10)) -> 16:boolean, 
CastDecimalToDouble(col 2:decimal(23,14)) -> 17:double, CastDecimalToDouble(col 
1:decimal(20,10)) -> 18:float, CastDecimalToString(col 2:decimal(23,14)) -> 
19:string, CastDecimalToTimestamp(col 1:decimal(20,10)) -> 20:timestamp
+                          selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(20,10), col 2:decimal(23,14)) -> 4:decimal(25,14), 
DecimalColSubtractDecimalColumn(col 1:decimal(20,10), col 
5:decimal(25,14))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(23,14)) -> 5:decimal(25,14)) -> 6:decimal(26,14), 
DecimalColDivideDecimalColumn(col 7:decimal(21,10), col 
2:decimal(23,14))(children: DecimalColAddDecimalScalar(col 1:decimal(20,10), 
val 2.34) -> 7:decimal(21,10)) -> 8:decimal(38,13), 
DecimalColMultiplyDecimalColumn(col 1:decimal(20,10), col 
9:decimal(27,17))(children: DecimalColDivideDecimalScalar(col 2:decimal(23,14), 
val 3.4) -> 9:decimal(27,17)) -> 10:decimal(38,17), 
DecimalColModuloDecimalScalar(col 1:decimal(20,10), val 10) -> 
11:decimal(12,10), CastDecimalToLong(col 1:decimal(20,10)) -> 12:int, 
CastDecimalToLong(col 2:decimal(23,14)) -> 13:smallint, CastDecimalToLong(col 
2:decimal(23,14)) -> 14:tinyint, CastDecimalToLong(col 1:decimal(20,10)) -> 
15:big
 int, CastDecimalToBoolean(col 1:decimal(20,10)) -> 16:boolean, 
CastDecimalToDouble(col 2:decimal(23,14)) -> 17:double, CastDecimalToFloat(col 
1:decimal(20,10)) -> 18:float, CastDecimalToString(col 2:decimal(23,14)) -> 
19:string, CastDecimalToTimestamp(col 1:decimal(20,10)) -> 20:timestamp
                       Statistics: Num rows: 455 Data size: 100294 Basic stats: 
COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: decimal(25,14)), _col1 
(type: decimal(26,14)), _col2 (type: decimal(38,13)), _col3 (type: 
decimal(38,17)), _col4 (type: decimal(12,10)), _col5 (type: int), _col6 (type: 
smallint), _col7 (type: tinyint), _col8 (type: bigint), _col9 (type: boolean), 
_col10 (type: double), _col11 (type: float), _col12 (type: string), _col13 
(type: timestamp)
@@ -249,7 +249,7 @@ STAGE PLANS:
                           className: VectorSelectOperator
                           native: true
                           projectedOutputColumnNums: [4, 6, 8, 10, 11, 12, 13, 
14, 15, 16, 17, 18, 19, 20]
-                          selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(10,3), col 2:decimal(7,2)) -> 4:decimal(11,3), 
DecimalColSubtractDecimalColumn(col 1:decimal(10,3), col 
5:decimal(9,2))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(7,2)) -> 5:decimal(9,2)) -> 6:decimal(11,3), 
DecimalColDivideDecimalColumn(col 7:decimal(11,3), col 
2:decimal(7,2))(children: DecimalColAddDecimalScalar(col 1:decimal(10,3), val 
2.34) -> 7:decimal(11,3)) -> 8:decimal(21,11), 
DecimalColMultiplyDecimalColumn(col 1:decimal(10,3), col 
9:decimal(12,6))(children: DecimalColDivideDecimalScalar(col 2:decimal(7,2), 
val 3.4) -> 9:decimal(12,6)) -> 10:decimal(23,9), 
DecimalColModuloDecimalScalar(col 1:decimal(10,3), val 10) -> 11:decimal(5,3), 
CastDecimalToLong(col 1:decimal(10,3)) -> 12:int, CastDecimalToLong(col 
2:decimal(7,2)) -> 13:smallint, CastDecimalToLong(col 2:decimal(7,2)) -> 
14:tinyint, CastDecimalToLong(col 1:decimal(10,3)) -> 15:bigint, 
CastDecimalToBoolean(col 1:
 decimal(10,3)) -> 16:boolean, CastDecimalToDouble(col 2:decimal(7,2)) -> 
17:double, CastDecimalToDouble(col 1:decimal(10,3)) -> 18:float, 
CastDecimalToString(col 2:decimal(7,2)) -> 19:string, 
CastDecimalToTimestamp(col 1:decimal(10,3)) -> 20:timestamp
+                          selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(10,3), col 2:decimal(7,2)) -> 4:decimal(11,3), 
DecimalColSubtractDecimalColumn(col 1:decimal(10,3), col 
5:decimal(9,2))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(7,2)) -> 5:decimal(9,2)) -> 6:decimal(11,3), 
DecimalColDivideDecimalColumn(col 7:decimal(11,3), col 
2:decimal(7,2))(children: DecimalColAddDecimalScalar(col 1:decimal(10,3), val 
2.34) -> 7:decimal(11,3)) -> 8:decimal(21,11), 
DecimalColMultiplyDecimalColumn(col 1:decimal(10,3), col 
9:decimal(12,6))(children: DecimalColDivideDecimalScalar(col 2:decimal(7,2), 
val 3.4) -> 9:decimal(12,6)) -> 10:decimal(23,9), 
DecimalColModuloDecimalScalar(col 1:decimal(10,3), val 10) -> 11:decimal(5,3), 
CastDecimalToLong(col 1:decimal(10,3)) -> 12:int, CastDecimalToLong(col 
2:decimal(7,2)) -> 13:smallint, CastDecimalToLong(col 2:decimal(7,2)) -> 
14:tinyint, CastDecimalToLong(col 1:decimal(10,3)) -> 15:bigint, 
CastDecimalToBoolean(col 1:
 decimal(10,3)) -> 16:boolean, CastDecimalToDouble(col 2:decimal(7,2)) -> 
17:double, CastDecimalToFloat(col 1:decimal(10,3)) -> 18:float, 
CastDecimalToString(col 2:decimal(7,2)) -> 19:string, 
CastDecimalToTimestamp(col 1:decimal(10,3)) -> 20:timestamp
                       Statistics: Num rows: 455 Data size: 100294 Basic stats: 
COMPLETE Column stats: NONE
                       Reduce Output Operator
                         key expressions: _col0 (type: decimal(11,3)), _col1 
(type: decimal(11,3)), _col2 (type: decimal(21,11)), _col3 (type: 
decimal(23,9)), _col4 (type: decimal(5,3)), _col5 (type: int), _col6 (type: 
smallint), _col7 (type: tinyint), _col8 (type: bigint), _col9 (type: boolean), 
_col10 (type: double), _col11 (type: float), _col12 (type: string), _col13 
(type: timestamp)

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/results/clientpositive/vector_decimal_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_1.q.out 
b/ql/src/test/results/clientpositive/vector_decimal_1.q.out
index d4d4705..80def64 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_1.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_1.q.out
@@ -529,7 +529,7 @@ STAGE PLANS:
                   className: VectorSelectOperator
                   native: true
                   projectedOutputColumnNums: [4]
-                  selectExpressions: CastDecimalToDouble(col 0:decimal(4,2)) 
-> 4:float
+                  selectExpressions: CastDecimalToFloat(col 0:decimal(4,2)) -> 
4:float
               Statistics: Num rows: 2 Data size: 336 Basic stats: COMPLETE 
Column stats: NONE
               Reduce Output Operator
                 key expressions: _col0 (type: float)

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out 
b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
index 2e4edc5..51ed896 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
@@ -70,7 +70,7 @@ STAGE PLANS:
                     className: VectorSelectOperator
                     native: true
                     projectedOutputColumnNums: [4, 6, 8, 10, 11, 12, 13, 14, 
15, 16, 17, 18, 19, 20]
-                    selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(20,10), col 2:decimal(23,14)) -> 4:decimal(25,14), 
DecimalColSubtractDecimalColumn(col 1:decimal(20,10), col 
5:decimal(25,14))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(23,14)) -> 5:decimal(25,14)) -> 6:decimal(26,14), 
DecimalColDivideDecimalColumn(col 7:decimal(21,10), col 
2:decimal(23,14))(children: DecimalColAddDecimalScalar(col 1:decimal(20,10), 
val 2.34) -> 7:decimal(21,10)) -> 8:decimal(38,13), 
DecimalColMultiplyDecimalColumn(col 1:decimal(20,10), col 
9:decimal(27,17))(children: DecimalColDivideDecimalScalar(col 2:decimal(23,14), 
val 3.4) -> 9:decimal(27,17)) -> 10:decimal(38,17), 
DecimalColModuloDecimalScalar(col 1:decimal(20,10), val 10) -> 
11:decimal(12,10), CastDecimalToLong(col 1:decimal(20,10)) -> 12:int, 
CastDecimalToLong(col 2:decimal(23,14)) -> 13:smallint, CastDecimalToLong(col 
2:decimal(23,14)) -> 14:tinyint, CastDecimalToLong(col 1:decimal(20,10)) -> 
15:bigint, C
 astDecimalToBoolean(col 1:decimal(20,10)) -> 16:boolean, 
CastDecimalToDouble(col 2:decimal(23,14)) -> 17:double, CastDecimalToDouble(col 
1:decimal(20,10)) -> 18:float, CastDecimalToString(col 2:decimal(23,14)) -> 
19:string, CastDecimalToTimestamp(col 1:decimal(20,10)) -> 20:timestamp
+                    selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(20,10), col 2:decimal(23,14)) -> 4:decimal(25,14), 
DecimalColSubtractDecimalColumn(col 1:decimal(20,10), col 
5:decimal(25,14))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(23,14)) -> 5:decimal(25,14)) -> 6:decimal(26,14), 
DecimalColDivideDecimalColumn(col 7:decimal(21,10), col 
2:decimal(23,14))(children: DecimalColAddDecimalScalar(col 1:decimal(20,10), 
val 2.34) -> 7:decimal(21,10)) -> 8:decimal(38,13), 
DecimalColMultiplyDecimalColumn(col 1:decimal(20,10), col 
9:decimal(27,17))(children: DecimalColDivideDecimalScalar(col 2:decimal(23,14), 
val 3.4) -> 9:decimal(27,17)) -> 10:decimal(38,17), 
DecimalColModuloDecimalScalar(col 1:decimal(20,10), val 10) -> 
11:decimal(12,10), CastDecimalToLong(col 1:decimal(20,10)) -> 12:int, 
CastDecimalToLong(col 2:decimal(23,14)) -> 13:smallint, CastDecimalToLong(col 
2:decimal(23,14)) -> 14:tinyint, CastDecimalToLong(col 1:decimal(20,10)) -> 
15:bigint, C
 astDecimalToBoolean(col 1:decimal(20,10)) -> 16:boolean, 
CastDecimalToDouble(col 2:decimal(23,14)) -> 17:double, CastDecimalToFloat(col 
1:decimal(20,10)) -> 18:float, CastDecimalToString(col 2:decimal(23,14)) -> 
19:string, CastDecimalToTimestamp(col 1:decimal(20,10)) -> 20:timestamp
                 Statistics: Num rows: 455 Data size: 78802 Basic stats: 
COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: decimal(25,14)), _col1 (type: 
decimal(26,14)), _col2 (type: decimal(38,13)), _col3 (type: decimal(38,17)), 
_col4 (type: decimal(12,10)), _col5 (type: int), _col6 (type: smallint), _col7 
(type: tinyint), _col8 (type: bigint), _col9 (type: boolean), _col10 (type: 
double), _col11 (type: float), _col12 (type: string), _col13 (type: timestamp)
@@ -214,7 +214,7 @@ STAGE PLANS:
                     className: VectorSelectOperator
                     native: true
                     projectedOutputColumnNums: [4, 6, 8, 10, 11, 12, 13, 14, 
15, 16, 17, 18, 19, 20]
-                    selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(10,3), col 2:decimal(7,2)) -> 4:decimal(11,3), 
DecimalColSubtractDecimalColumn(col 1:decimal(10,3), col 
5:decimal(9,2))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(7,2)) -> 5:decimal(9,2)) -> 6:decimal(11,3), 
DecimalColDivideDecimalColumn(col 7:decimal(11,3), col 
2:decimal(7,2))(children: DecimalColAddDecimalScalar(col 1:decimal(10,3), val 
2.34) -> 7:decimal(11,3)) -> 8:decimal(21,11), 
DecimalColMultiplyDecimalColumn(col 1:decimal(10,3), col 
9:decimal(12,6))(children: DecimalColDivideDecimalScalar(col 2:decimal(7,2), 
val 3.4) -> 9:decimal(12,6)) -> 10:decimal(23,9), 
DecimalColModuloDecimalScalar(col 1:decimal(10,3), val 10) -> 11:decimal(5,3), 
CastDecimalToLong(col 1:decimal(10,3)) -> 12:int, CastDecimalToLong(col 
2:decimal(7,2)) -> 13:smallint, CastDecimalToLong(col 2:decimal(7,2)) -> 
14:tinyint, CastDecimalToLong(col 1:decimal(10,3)) -> 15:bigint, 
CastDecimalToBoolean(col 1:decima
 l(10,3)) -> 16:boolean, CastDecimalToDouble(col 2:decimal(7,2)) -> 17:double, 
CastDecimalToDouble(col 1:decimal(10,3)) -> 18:float, CastDecimalToString(col 
2:decimal(7,2)) -> 19:string, CastDecimalToTimestamp(col 1:decimal(10,3)) -> 
20:timestamp
+                    selectExpressions: DecimalColAddDecimalColumn(col 
1:decimal(10,3), col 2:decimal(7,2)) -> 4:decimal(11,3), 
DecimalColSubtractDecimalColumn(col 1:decimal(10,3), col 
5:decimal(9,2))(children: DecimalScalarMultiplyDecimalColumn(val 2, col 
2:decimal(7,2)) -> 5:decimal(9,2)) -> 6:decimal(11,3), 
DecimalColDivideDecimalColumn(col 7:decimal(11,3), col 
2:decimal(7,2))(children: DecimalColAddDecimalScalar(col 1:decimal(10,3), val 
2.34) -> 7:decimal(11,3)) -> 8:decimal(21,11), 
DecimalColMultiplyDecimalColumn(col 1:decimal(10,3), col 
9:decimal(12,6))(children: DecimalColDivideDecimalScalar(col 2:decimal(7,2), 
val 3.4) -> 9:decimal(12,6)) -> 10:decimal(23,9), 
DecimalColModuloDecimalScalar(col 1:decimal(10,3), val 10) -> 11:decimal(5,3), 
CastDecimalToLong(col 1:decimal(10,3)) -> 12:int, CastDecimalToLong(col 
2:decimal(7,2)) -> 13:smallint, CastDecimalToLong(col 2:decimal(7,2)) -> 
14:tinyint, CastDecimalToLong(col 1:decimal(10,3)) -> 15:bigint, 
CastDecimalToBoolean(col 1:decima
 l(10,3)) -> 16:boolean, CastDecimalToDouble(col 2:decimal(7,2)) -> 17:double, 
CastDecimalToFloat(col 1:decimal(10,3)) -> 18:float, CastDecimalToString(col 
2:decimal(7,2)) -> 19:string, CastDecimalToTimestamp(col 1:decimal(10,3)) -> 
20:timestamp
                 Statistics: Num rows: 455 Data size: 78788 Basic stats: 
COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: decimal(11,3)), _col1 (type: 
decimal(11,3)), _col2 (type: decimal(21,11)), _col3 (type: decimal(23,9)), 
_col4 (type: decimal(5,3)), _col5 (type: int), _col6 (type: smallint), _col7 
(type: tinyint), _col8 (type: bigint), _col9 (type: boolean), _col10 (type: 
double), _col11 (type: float), _col12 (type: string), _col13 (type: timestamp)

http://git-wip-us.apache.org/repos/asf/hive/blob/6936c9c2/ql/src/test/results/clientpositive/vectorization_parquet_ppd_decimal.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/vectorization_parquet_ppd_decimal.q.out 
b/ql/src/test/results/clientpositive/vectorization_parquet_ppd_decimal.q.out
new file mode 100644
index 0000000..c2611fc
--- /dev/null
+++ b/ql/src/test/results/clientpositive/vectorization_parquet_ppd_decimal.q.out
@@ -0,0 +1,766 @@
+PREHOOK: query: create table newtypestbl(c char(10), v varchar(10), d 
decimal(5,3), da date) stored as parquet
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@newtypestbl
+POSTHOOK: query: create table newtypestbl(c char(10), v varchar(10), d 
decimal(5,3), da date) stored as parquet
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@newtypestbl
+PREHOOK: query: insert overwrite table newtypestbl select * from (select 
cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" 
as date) from src src1 union all select cast("hello" as char(10)), cast("world" 
as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2 limit 10) 
uniontbl
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@newtypestbl
+POSTHOOK: query: insert overwrite table newtypestbl select * from (select 
cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" 
as date) from src src1 union all select cast("hello" as char(10)), cast("world" 
as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2 limit 10) 
uniontbl
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@newtypestbl
+POSTHOOK: Lineage: newtypestbl.c EXPRESSION []
+POSTHOOK: Lineage: newtypestbl.d EXPRESSION []
+POSTHOOK: Lineage: newtypestbl.da EXPRESSION []
+POSTHOOK: Lineage: newtypestbl.v EXPRESSION []
+PREHOOK: query: select * from newtypestbl where d=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d='0.22'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d='0.22'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d='0.22'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d='0.22'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d!=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d!=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d!=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d!=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d!='0.22'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d!='0.22'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d!='0.22'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d!='0.22'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<11.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<11.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<11.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<11.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<'11.22'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<'11.22'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<'11.22'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<'11.22'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<=11.22 sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=11.22 sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<=11.22 sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=11.22 sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<='11.22' sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<='11.22' sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<='11.22' sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<='11.22' sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) sort 
by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) 
sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) sort 
by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) 
sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<=12 sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=12 sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d<=12 sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d<=12 sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort by 
c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort 
by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort by 
c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort 
by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d in ('0.9', '1.0')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.9', '1.0')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+PREHOOK: query: select * from newtypestbl where d in ('0.9', '1.0')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.9', '1.0')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+PREHOOK: query: select * from newtypestbl where d in ('0.9', 0.22)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d in ('0.9', 0.22)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, 
cast('11.22' as float)) sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, 
cast('11.22' as float)) sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, 
cast('11.22' as float)) sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, 
cast('11.22' as float)) sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d between 0 and 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d between 0 and 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d between 0 and '2.0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and '2.0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d between 0 and '2.0'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and '2.0'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d between 0 and cast(3 as 
float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and cast(3 as 
float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d between 0 and cast(3 as 
float)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 0 and cast(3 as 
float)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+apple          bee     0.220   1970-02-20
+PREHOOK: query: select * from newtypestbl where d between 1 and cast(30 as 
char(10))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 1 and cast(30 as 
char(10))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+PREHOOK: query: select * from newtypestbl where d between 1 and cast(30 as 
char(10))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+POSTHOOK: query: select * from newtypestbl where d between 1 and cast(30 as 
char(10))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@newtypestbl
+#### A masked pattern was here ####
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27
+hello          world   11.220  1970-02-27

Reply via email to