HIVE-11394: Enhance EXPLAIN display for vectorization (Matt McCline, reviewed 
by Gopal Vijayaraghavan)


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

Branch: refs/heads/hive-14535
Commit: f923db0b53acf8b7912d3f98a23deca509c9c6fb
Parents: f9843ac
Author: Matt McCline <mmccl...@hortonworks.com>
Authored: Thu Oct 13 03:49:52 2016 -0700
Committer: Matt McCline <mmccl...@hortonworks.com>
Committed: Thu Oct 13 03:49:52 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hive/common/util/DateUtils.java  |    20 +
 .../ColumnArithmeticColumn.txt                  |     7 +-
 .../ColumnArithmeticColumnDecimal.txt           |     5 +
 .../ColumnArithmeticColumnWithConvert.txt       |   173 -
 .../ColumnArithmeticScalar.txt                  |     5 +
 .../ColumnArithmeticScalarDecimal.txt           |     5 +
 .../ColumnArithmeticScalarWithConvert.txt       |   150 -
 .../ExpressionTemplates/ColumnCompareColumn.txt |     5 +
 .../ExpressionTemplates/ColumnCompareScalar.txt |     5 +
 .../ExpressionTemplates/ColumnDivideColumn.txt  |     5 +
 .../ColumnDivideColumnDecimal.txt               |     5 +
 .../ExpressionTemplates/ColumnDivideScalar.txt  |     5 +
 .../ColumnDivideScalarDecimal.txt               |     5 +
 .../ExpressionTemplates/ColumnUnaryFunc.txt     |     5 +
 .../ExpressionTemplates/ColumnUnaryMinus.txt    |     5 +
 ...eColumnArithmeticIntervalYearMonthColumn.txt |     5 +
 ...eColumnArithmeticIntervalYearMonthScalar.txt |     5 +
 .../DateColumnArithmeticTimestampColumn.txt     |     5 +
 .../DateColumnArithmeticTimestampScalar.txt     |     5 +
 ...eScalarArithmeticIntervalYearMonthColumn.txt |     5 +
 .../DateScalarArithmeticTimestampColumn.txt     |     5 +
 .../DecimalColumnUnaryFunc.txt                  |     5 +
 .../ExpressionTemplates/FilterColumnBetween.txt |     7 +-
 .../FilterColumnCompareColumn.txt               |     9 +-
 .../FilterColumnCompareScalar.txt               |     9 +-
 .../FilterDecimalColumnBetween.txt              |     5 +
 .../FilterDecimalColumnCompareDecimalColumn.txt |     5 +
 .../FilterDecimalColumnCompareDecimalScalar.txt |     5 +
 .../FilterDecimalScalarCompareDecimalColumn.txt |     5 +
 ...erLongDoubleColumnCompareTimestampColumn.txt |     5 +
 ...erLongDoubleScalarCompareTimestampColumn.txt |     5 +
 .../FilterScalarCompareColumn.txt               |     9 +-
 .../FilterStringColumnBetween.txt               |     9 +-
 ...tringGroupColumnCompareStringGroupColumn.txt |     5 +
 ...gGroupColumnCompareStringGroupScalarBase.txt |     7 +
 ...gGroupScalarCompareStringGroupColumnBase.txt |     8 +
 .../FilterTimestampColumnBetween.txt            |     5 +
 ...erTimestampColumnCompareLongDoubleColumn.txt |     5 +
 ...erTimestampColumnCompareLongDoubleScalar.txt |     5 +
 ...terTimestampColumnCompareTimestampColumn.txt |     5 +
 ...terTimestampColumnCompareTimestampScalar.txt |     5 +
 ...erTimestampScalarCompareLongDoubleColumn.txt |     5 +
 ...terTimestampScalarCompareTimestampColumn.txt |     5 +
 .../FilterTruncStringColumnBetween.txt          |    10 +-
 .../ExpressionTemplates/IfExprColumnScalar.txt  |     5 +
 .../ExpressionTemplates/IfExprScalarColumn.txt  |     5 +
 .../ExpressionTemplates/IfExprScalarScalar.txt  |     5 +
 ...ervalYearMonthColumnArithmeticDateColumn.txt |     5 +
 ...ervalYearMonthColumnArithmeticDateScalar.txt |     5 +
 ...YearMonthColumnArithmeticTimestampColumn.txt |     5 +
 ...YearMonthColumnArithmeticTimestampScalar.txt |     5 +
 ...ervalYearMonthScalarArithmeticDateColumn.txt |     5 +
 ...YearMonthScalarArithmeticTimestampColumn.txt |     5 +
 .../LongDoubleColumnCompareTimestampColumn.txt  |     5 +
 .../LongDoubleColumnCompareTimestampScalar.txt  |     4 +
 .../LongDoubleScalarCompareTimestampColumn.txt  |     5 +
 .../ScalarArithmeticColumn.txt                  |     5 +
 .../ScalarArithmeticColumnDecimal.txt           |     5 +
 .../ScalarArithmeticColumnWithConvert.txt       |   163 -
 .../ExpressionTemplates/ScalarCompareColumn.txt |     5 +
 .../ExpressionTemplates/ScalarDivideColumn.txt  |     5 +
 .../ScalarDivideColumnDecimal.txt               |     5 +
 ...tringGroupColumnCompareStringGroupColumn.txt |     5 +
 ...gGroupColumnCompareStringGroupScalarBase.txt |     6 +
 ...tringGroupColumnCompareTruncStringScalar.txt |     7 +
 ...gGroupScalarCompareStringGroupColumnBase.txt |     7 +
 .../TimestampColumnArithmeticDateColumn.txt     |     5 +
 .../TimestampColumnArithmeticDateScalar.txt     |     5 +
 ...pColumnArithmeticIntervalYearMonthColumn.txt |     5 +
 ...pColumnArithmeticIntervalYearMonthScalar.txt |     5 +
 ...TimestampColumnArithmeticTimestampColumn.txt |     5 +
 ...TimestampColumnArithmeticTimestampScalar.txt |     5 +
 .../TimestampColumnCompareLongDoubleColumn.txt  |     5 +
 .../TimestampColumnCompareLongDoubleScalar.txt  |     5 +
 .../TimestampColumnCompareTimestampColumn.txt   |     5 +
 .../TimestampColumnCompareTimestampScalar.txt   |     5 +
 .../TimestampScalarArithmeticDateColumn.txt     |     5 +
 ...pScalarArithmeticIntervalYearMonthColumn.txt |     5 +
 ...TimestampScalarArithmeticTimestampColumn.txt |     5 +
 .../TimestampScalarCompareTimestampColumn.txt   |     5 +
 ...runcStringScalarCompareStringGroupColumn.txt |     2 +
 .../UDAFTemplates/VectorUDAFAvg.txt             |     6 +
 .../UDAFTemplates/VectorUDAFMinMax.txt          |     6 +
 .../UDAFTemplates/VectorUDAFMinMaxDecimal.txt   |     6 +
 .../VectorUDAFMinMaxIntervalDayTime.txt         |     6 +
 .../UDAFTemplates/VectorUDAFMinMaxString.txt    |     6 +
 .../UDAFTemplates/VectorUDAFMinMaxTimestamp.txt |     6 +
 .../UDAFTemplates/VectorUDAFSum.txt             |     6 +
 .../UDAFTemplates/VectorUDAFVar.txt             |     6 +
 .../UDAFTemplates/VectorUDAFVarDecimal.txt      |     6 +
 .../apache/hadoop/hive/ql/exec/ExplainTask.java |   252 +-
 .../hadoop/hive/ql/exec/MapJoinOperator.java    |     2 +-
 .../hadoop/hive/ql/exec/OperatorFactory.java    |     5 +
 .../hadoop/hive/ql/exec/SelectOperator.java     |     1 -
 .../hive/ql/exec/persistence/MapJoinKey.java    |     9 +-
 .../hive/ql/exec/spark/HashTableLoader.java     |     2 +-
 .../ql/exec/vector/VectorColumnMapping.java     |    12 +-
 .../ql/exec/vector/VectorColumnOrderedMap.java  |    33 +-
 .../exec/vector/VectorColumnOutputMapping.java  |     7 +-
 .../exec/vector/VectorColumnSourceMapping.java  |     7 +-
 .../hive/ql/exec/vector/VectorCopyRow.java      |     3 +-
 .../ql/exec/vector/VectorFilterOperator.java    |     4 +-
 .../ql/exec/vector/VectorGroupByOperator.java   |    21 +-
 .../ql/exec/vector/VectorSelectOperator.java    |    33 +-
 .../ql/exec/vector/VectorizationContext.java    |    38 +-
 .../exec/vector/VectorizationContextRegion.java |     4 +-
 .../ql/exec/vector/VectorizedRowBatchCtx.java   |     3 +
 ...AbstractFilterStringColLikeStringScalar.java |     5 +
 .../CastBooleanToCharViaLongToChar.java         |     5 +
 .../CastBooleanToVarCharViaLongToVarChar.java   |     5 +
 .../exec/vector/expressions/CastDateToChar.java |     4 +
 .../vector/expressions/CastDateToVarChar.java   |     5 +
 .../vector/expressions/CastDecimalToChar.java   |     5 +
 .../expressions/CastDecimalToDecimal.java       |     5 +
 .../expressions/CastDecimalToVarChar.java       |     5 +
 .../expressions/CastDoubleToTimestamp.java      |     5 +
 .../exec/vector/expressions/CastLongToChar.java |     5 +
 .../exec/vector/expressions/CastLongToDate.java |     5 +
 .../vector/expressions/CastLongToTimestamp.java |     5 +
 .../vector/expressions/CastLongToVarChar.java   |     5 +
 .../CastMillisecondsLongToTimestamp.java        |     5 +
 .../expressions/CastStringGroupToChar.java      |     4 +
 .../expressions/CastStringGroupToVarChar.java   |     5 +
 .../vector/expressions/CastStringToDate.java    |     5 +
 .../vector/expressions/CastStringToDecimal.java |     5 +
 .../CastStringToIntervalDayTime.java            |     5 +
 .../CastStringToIntervalYearMonth.java          |     5 +
 .../expressions/CastTimestampToBoolean.java     |     7 +-
 .../expressions/CastTimestampToDouble.java      |     5 +
 .../vector/expressions/CastTimestampToLong.java |     7 +-
 .../ql/exec/vector/expressions/ColAndCol.java   |     5 +
 .../ql/exec/vector/expressions/ColOrCol.java    |     5 +
 .../expressions/ConstantVectorExpression.java   |    33 +
 .../expressions/DateColSubtractDateColumn.java  |     4 +
 .../expressions/DateColSubtractDateScalar.java  |     5 +
 .../DateScalarSubtractDateColumn.java           |     5 +
 .../vector/expressions/DecimalColumnInList.java |     7 +
 .../expressions/DecimalToStringUnaryUDF.java    |     5 +
 .../vector/expressions/DoubleColumnInList.java  |     7 +
 .../vector/expressions/FilterColAndScalar.java  |     5 +
 .../vector/expressions/FilterColOrScalar.java   |     5 +
 .../expressions/FilterDecimalColumnInList.java  |     7 +
 .../expressions/FilterDoubleColumnInList.java   |     6 +
 .../vector/expressions/FilterExprAndExpr.java   |     8 +
 .../vector/expressions/FilterExprOrExpr.java    |     6 +
 .../expressions/FilterLongColumnInList.java     |     7 +
 .../expressions/FilterScalarAndColumn.java      |     5 +
 .../expressions/FilterScalarOrColumn.java       |     5 +
 .../expressions/FilterStringColumnInList.java   |     7 +
 .../expressions/FilterStructColumnInList.java   |     9 +
 .../FilterTimestampColumnInList.java            |     7 +
 .../vector/expressions/FuncDecimalToDouble.java |     5 +
 .../vector/expressions/FuncDecimalToLong.java   |     5 +
 .../expressions/FuncDecimalToTimestamp.java     |     5 +
 .../vector/expressions/FuncDoubleToDecimal.java |     4 +
 .../vector/expressions/FuncLongToDecimal.java   |     4 +
 .../vector/expressions/FuncLongToString.java    |     4 +
 .../FuncRoundWithNumDigitsDecimalToDecimal.java |     4 +
 .../expressions/FuncTimestampToDecimal.java     |     5 +
 .../vector/expressions/FuncTimestampToLong.java |     5 +
 .../vector/expressions/IdentityExpression.java  |     5 +
 .../IfExprDoubleColumnDoubleColumn.java         |     5 +
 .../IfExprIntervalDayTimeColumnColumn.java      |     5 +
 .../IfExprIntervalDayTimeColumnScalar.java      |     5 +
 .../IfExprIntervalDayTimeScalarColumn.java      |     5 +
 .../IfExprIntervalDayTimeScalarScalar.java      |     5 +
 .../expressions/IfExprLongColumnLongColumn.java |     5 +
 ...fExprStringGroupColumnStringGroupColumn.java |     5 +
 .../IfExprStringGroupColumnStringScalar.java    |     7 +
 .../IfExprStringScalarStringGroupColumn.java    |     7 +
 .../IfExprStringScalarStringScalar.java         |     7 +
 .../IfExprTimestampColumnColumnBase.java        |     5 +
 .../IfExprTimestampColumnScalarBase.java        |     6 +
 .../IfExprTimestampScalarColumnBase.java        |     6 +
 .../IfExprTimestampScalarScalarBase.java        |     6 +
 .../ql/exec/vector/expressions/IsNotNull.java   |     5 +
 .../hive/ql/exec/vector/expressions/IsNull.java |     5 +
 .../expressions/LongColDivideLongColumn.java    |     5 +
 .../expressions/LongColDivideLongScalar.java    |     5 +
 .../expressions/LongColEqualLongColumn.java     |     5 +
 .../expressions/LongColEqualLongScalar.java     |     4 +
 .../LongColGreaterEqualLongColumn.java          |     5 +
 .../LongColGreaterEqualLongScalar.java          |     5 +
 .../expressions/LongColGreaterLongColumn.java   |     5 +
 .../expressions/LongColGreaterLongScalar.java   |     5 +
 .../expressions/LongColLessEqualLongColumn.java |     5 +
 .../expressions/LongColLessEqualLongScalar.java |     5 +
 .../expressions/LongColLessLongColumn.java      |     5 +
 .../expressions/LongColLessLongScalar.java      |     5 +
 .../expressions/LongColNotEqualLongColumn.java  |     5 +
 .../expressions/LongColNotEqualLongScalar.java  |     5 +
 .../vector/expressions/LongColumnInList.java    |     6 +
 .../expressions/LongScalarDivideLongColumn.java |     5 +
 .../expressions/LongScalarEqualLongColumn.java  |     4 +
 .../LongScalarGreaterEqualLongColumn.java       |     5 +
 .../LongScalarGreaterLongColumn.java            |     5 +
 .../LongScalarLessEqualLongColumn.java          |     4 +
 .../expressions/LongScalarLessLongColumn.java   |     5 +
 .../LongScalarNotEqualLongColumn.java           |     5 +
 .../expressions/LongToStringUnaryUDF.java       |     5 +
 .../expressions/MathFuncDoubleToDouble.java     |     7 +-
 .../expressions/MathFuncLongToDouble.java       |     5 +
 .../vector/expressions/MathFuncLongToLong.java  |     7 +-
 .../hive/ql/exec/vector/expressions/NotCol.java |     5 +
 .../expressions/PosModDoubleToDouble.java       |     5 +
 .../vector/expressions/PosModLongToLong.java    |     5 +
 .../RoundWithNumDigitsDoubleToDouble.java       |     5 +
 .../vector/expressions/SelectColumnIsFalse.java |     4 +
 .../expressions/SelectColumnIsNotNull.java      |     5 +
 .../vector/expressions/SelectColumnIsNull.java  |     5 +
 .../vector/expressions/SelectColumnIsTrue.java  |     5 +
 .../SelectStringColLikeStringScalar.java        |    10 +-
 .../vector/expressions/StringColumnInList.java  |     5 +
 .../StringGroupColConcatStringScalar.java       |     7 +
 .../expressions/StringGroupConcatColCol.java    |     5 +
 .../exec/vector/expressions/StringLength.java   |     4 +
 .../StringScalarConcatStringGroupCol.java       |     7 +
 .../expressions/StringSubstrColStart.java       |     5 +
 .../expressions/StringSubstrColStartLen.java    |     5 +
 .../exec/vector/expressions/StringUnaryUDF.java |     5 +
 .../expressions/StringUnaryUDFDirect.java       |     4 +
 .../vector/expressions/StructColumnInList.java  |     8 +
 .../expressions/TimestampColumnInList.java      |     6 +
 .../expressions/TimestampToStringUnaryUDF.java  |     4 +
 .../exec/vector/expressions/VectorCoalesce.java |     5 +
 .../ql/exec/vector/expressions/VectorElt.java   |     7 +
 .../vector/expressions/VectorExpression.java    |    44 +-
 .../expressions/VectorUDFDateAddColCol.java     |     5 +
 .../expressions/VectorUDFDateAddColScalar.java  |     5 +
 .../expressions/VectorUDFDateAddScalarCol.java  |     5 +
 .../expressions/VectorUDFDateDiffColCol.java    |     5 +
 .../expressions/VectorUDFDateDiffColScalar.java |     6 +
 .../expressions/VectorUDFDateDiffScalarCol.java |     5 +
 .../VectorUDFTimestampFieldDate.java            |    10 +
 .../VectorUDFTimestampFieldString.java          |     9 +
 .../VectorUDFTimestampFieldTimestamp.java       |     9 +
 .../aggregates/VectorAggregateExpression.java   |    19 +
 .../aggregates/VectorUDAFAvgDecimal.java        |     6 +
 .../aggregates/VectorUDAFAvgTimestamp.java      |     6 +
 .../expressions/aggregates/VectorUDAFCount.java |     6 +
 .../aggregates/VectorUDAFCountMerge.java        |     6 +
 .../aggregates/VectorUDAFCountStar.java         |     7 +
 .../aggregates/VectorUDAFStdPopTimestamp.java   |     6 +
 .../aggregates/VectorUDAFStdSampTimestamp.java  |     6 +
 .../aggregates/VectorUDAFSumDecimal.java        |     6 +
 .../aggregates/VectorUDAFVarPopTimestamp.java   |     6 +
 .../aggregates/VectorUDAFVarSampTimestamp.java  |     6 +
 .../mapjoin/VectorMapJoinCommonOperator.java    |   363 +-
 .../VectorMapJoinInnerBigOnlyLongOperator.java  |    11 +-
 ...ctorMapJoinInnerBigOnlyMultiKeyOperator.java |    15 +-
 ...VectorMapJoinInnerBigOnlyStringOperator.java |    11 +-
 .../mapjoin/VectorMapJoinInnerLongOperator.java |    11 +-
 .../VectorMapJoinInnerMultiKeyOperator.java     |    15 +-
 .../VectorMapJoinInnerStringOperator.java       |    11 +-
 .../VectorMapJoinLeftSemiLongOperator.java      |    11 +-
 .../VectorMapJoinLeftSemiMultiKeyOperator.java  |    15 +-
 .../VectorMapJoinLeftSemiStringOperator.java    |    11 +-
 .../mapjoin/VectorMapJoinOuterLongOperator.java |    11 +-
 .../VectorMapJoinOuterMultiKeyOperator.java     |    15 +-
 .../VectorMapJoinOuterStringOperator.java       |    11 +-
 .../fast/VectorMapJoinFastTableContainer.java   |     2 +-
 .../VectorMapJoinOptimizedCreateHashTable.java  |     2 +-
 .../VectorReduceSinkCommonOperator.java         |     2 +-
 .../ql/exec/vector/udf/VectorUDFAdaptor.java    |     5 +
 .../hive/ql/optimizer/physical/Vectorizer.java  |  1458 ++-
 .../ql/optimizer/physical/VectorizerReason.java |   123 +
 .../hive/ql/parse/ExplainConfiguration.java     |    39 +
 .../hive/ql/parse/ExplainSemanticAnalyzer.java  |    38 +-
 .../org/apache/hadoop/hive/ql/parse/HiveLexer.g |     5 +
 .../apache/hadoop/hive/ql/parse/HiveParser.g    |    28 +-
 .../hadoop/hive/ql/parse/IdentifiersParser.g    |     6 +
 .../hive/ql/plan/AbstractOperatorDesc.java      |    12 +
 .../hadoop/hive/ql/plan/AbstractVectorDesc.java |    14 +
 .../hadoop/hive/ql/plan/AppMasterEventDesc.java |    24 +
 .../apache/hadoop/hive/ql/plan/BaseWork.java    |   197 +-
 .../org/apache/hadoop/hive/ql/plan/Explain.java |    29 +
 .../apache/hadoop/hive/ql/plan/ExplainWork.java |    13 +
 .../apache/hadoop/hive/ql/plan/FetchWork.java   |    45 +-
 .../hadoop/hive/ql/plan/FileSinkDesc.java       |    17 +-
 .../apache/hadoop/hive/ql/plan/FilterDesc.java  |    28 +
 .../apache/hadoop/hive/ql/plan/GroupByDesc.java |    84 +-
 .../hadoop/hive/ql/plan/HashTableSinkDesc.java  |     1 +
 .../apache/hadoop/hive/ql/plan/LimitDesc.java   |    18 +
 .../apache/hadoop/hive/ql/plan/MapJoinDesc.java |   218 +-
 .../org/apache/hadoop/hive/ql/plan/MapWork.java |    99 +-
 .../hadoop/hive/ql/plan/MapredLocalWork.java    |     4 +-
 .../apache/hadoop/hive/ql/plan/MapredWork.java  |    11 +-
 .../ql/plan/OperatorExplainVectorization.java   |    85 +
 .../hadoop/hive/ql/plan/ReduceSinkDesc.java     |   119 +-
 .../apache/hadoop/hive/ql/plan/ReduceWork.java  |    92 +-
 .../apache/hadoop/hive/ql/plan/SelectDesc.java  |    35 +
 .../hive/ql/plan/SparkHashTableSinkDesc.java    |    25 +
 .../apache/hadoop/hive/ql/plan/SparkWork.java   |     6 +-
 .../hadoop/hive/ql/plan/TableScanDesc.java      |    26 +
 .../org/apache/hadoop/hive/ql/plan/TezWork.java |    11 +-
 .../hive/ql/plan/VectorAppMasterEventDesc.java  |    35 +
 .../apache/hadoop/hive/ql/plan/VectorDesc.java  |     5 +
 .../hadoop/hive/ql/plan/VectorFileSinkDesc.java |    35 +
 .../hadoop/hive/ql/plan/VectorFilterDesc.java   |    48 +
 .../hadoop/hive/ql/plan/VectorGroupByDesc.java  |    31 +
 .../hadoop/hive/ql/plan/VectorLimitDesc.java    |    35 +
 .../hadoop/hive/ql/plan/VectorMapJoinDesc.java  |   110 +
 .../hadoop/hive/ql/plan/VectorMapJoinInfo.java  |   169 +
 .../hive/ql/plan/VectorReduceSinkDesc.java      |    68 +
 .../hadoop/hive/ql/plan/VectorSMBJoinDesc.java  |    35 +
 .../hadoop/hive/ql/plan/VectorSelectDesc.java   |    56 +
 .../ql/plan/VectorSparkHashTableSinkDesc.java   |    35 +
 .../hive/ql/plan/VectorTableScanDesc.java       |    45 +
 .../hive/ql/plan/VectorizationCondition.java    |    76 +
 .../exec/vector/TestVectorFilterOperator.java   |    15 +-
 .../exec/vector/TestVectorGroupByOperator.java  |    90 +-
 .../exec/vector/TestVectorSelectOperator.java   |    16 +
 .../ql/optimizer/physical/TestVectorizer.java   |    16 +-
 .../clientpositive/schema_evol_orc_vec_part.q   |    20 +-
 .../schema_evol_orc_vec_part_all_complex.q      |     8 +-
 .../schema_evol_orc_vec_part_all_primitive.q    |    12 +-
 .../clientpositive/schema_evol_orc_vec_table.q  |    12 +-
 .../clientpositive/schema_evol_text_vec_part.q  |    20 +-
 .../schema_evol_text_vec_part_all_complex.q     |     8 +-
 .../schema_evol_text_vec_part_all_primitive.q   |    12 +-
 .../clientpositive/schema_evol_text_vec_table.q |    12 +-
 .../schema_evol_text_vecrow_part.q              |    20 +-
 .../schema_evol_text_vecrow_part_all_complex.q  |     8 +-
 ...schema_evol_text_vecrow_part_all_primitive.q |    12 +-
 .../schema_evol_text_vecrow_table.q             |    12 +-
 .../clientpositive/vector_adaptor_usage_mode.q  |    24 +-
 .../queries/clientpositive/vector_aggregate_9.q |     3 +-
 .../vector_aggregate_without_gby.q              |     4 +-
 .../clientpositive/vector_auto_smb_mapjoin_14.q |    30 +-
 .../clientpositive/vector_between_columns.q     |     4 +-
 .../queries/clientpositive/vector_between_in.q  |    25 +-
 .../clientpositive/vector_binary_join_groupby.q |     7 +-
 .../test/queries/clientpositive/vector_bround.q |     4 +-
 .../test/queries/clientpositive/vector_bucket.q |     3 +-
 .../clientpositive/vector_cast_constant.q       |     4 +-
 .../test/queries/clientpositive/vector_char_2.q |     6 +-
 .../test/queries/clientpositive/vector_char_4.q |     3 +-
 .../queries/clientpositive/vector_char_cast.q   |     2 +
 .../clientpositive/vector_char_mapjoin1.q       |     6 +-
 .../queries/clientpositive/vector_char_simple.q |     8 +-
 .../queries/clientpositive/vector_coalesce.q    |    13 +-
 .../queries/clientpositive/vector_coalesce_2.q  |     8 +-
 .../queries/clientpositive/vector_complex_all.q |     6 +-
 .../clientpositive/vector_complex_join.q        |     4 +-
 .../test/queries/clientpositive/vector_count.q  |     8 +-
 .../clientpositive/vector_count_distinct.q      |     3 +-
 .../queries/clientpositive/vector_data_types.q  |     5 +-
 .../test/queries/clientpositive/vector_date_1.q |     3 +-
 .../queries/clientpositive/vector_decimal_1.q   |     2 +-
 .../clientpositive/vector_decimal_10_0.q        |     2 +-
 .../queries/clientpositive/vector_decimal_2.q   |     2 +-
 .../queries/clientpositive/vector_decimal_3.q   |     2 +-
 .../queries/clientpositive/vector_decimal_4.q   |     2 +-
 .../queries/clientpositive/vector_decimal_5.q   |     2 +-
 .../queries/clientpositive/vector_decimal_6.q   |     2 +-
 .../clientpositive/vector_decimal_aggregate.q   |     6 +-
 .../clientpositive/vector_decimal_cast.q        |     3 +-
 .../clientpositive/vector_decimal_expressions.q |     3 +-
 .../clientpositive/vector_decimal_mapjoin.q     |     3 +-
 .../clientpositive/vector_decimal_math_funcs.q  |     4 +-
 .../clientpositive/vector_decimal_precision.q   |     4 +-
 .../clientpositive/vector_decimal_round.q       |    14 +-
 .../clientpositive/vector_decimal_round_2.q     |    10 +-
 .../clientpositive/vector_decimal_trailing.q    |     2 +-
 .../clientpositive/vector_decimal_udf2.q        |     6 +-
 .../queries/clientpositive/vector_distinct_2.q  |     3 +-
 ql/src/test/queries/clientpositive/vector_elt.q |     5 +-
 .../queries/clientpositive/vector_empty_where.q |     8 +-
 .../queries/clientpositive/vector_groupby4.q    |     2 +-
 .../queries/clientpositive/vector_groupby6.q    |     2 +-
 .../queries/clientpositive/vector_groupby_3.q   |     3 +-
 .../clientpositive/vector_groupby_mapjoin.q     |     4 +-
 .../clientpositive/vector_groupby_reduce.q      |     9 +-
 .../clientpositive/vector_grouping_sets.q       |     4 +-
 .../queries/clientpositive/vector_if_expr.q     |     4 +-
 .../clientpositive/vector_include_no_sel.q      |     3 +-
 .../queries/clientpositive/vector_inner_join.q  |    19 +-
 .../queries/clientpositive/vector_interval_1.q  |    19 +-
 .../queries/clientpositive/vector_interval_2.q  |    22 +-
 .../clientpositive/vector_interval_arithmetic.q |    16 +-
 .../clientpositive/vector_interval_mapjoin.q    |     3 +-
 .../test/queries/clientpositive/vector_join.q   |     1 +
 .../test/queries/clientpositive/vector_join30.q |    16 +-
 .../clientpositive/vector_join_part_col_char.q  |     3 +-
 .../clientpositive/vector_left_outer_join.q     |     4 +-
 .../clientpositive/vector_left_outer_join2.q    |    12 +-
 .../clientpositive/vector_leftsemi_mapjoin.q    |   361 +-
 .../clientpositive/vector_mapjoin_reduce.q      |     5 +-
 .../vector_mr_diff_schema_alias.q               |     3 +-
 .../clientpositive/vector_multi_insert.q        |     4 +-
 .../vector_non_constant_in_expr.q               |     2 +-
 .../vector_non_string_partition.q               |     5 +-
 .../clientpositive/vector_null_projection.q     |     4 +-
 .../clientpositive/vector_nullsafe_join.q       |    21 +-
 .../vector_number_compare_projection.q          |     4 +-
 ql/src/test/queries/clientpositive/vector_nvl.q |     9 +-
 .../queries/clientpositive/vector_orderby_5.q   |     3 +-
 .../queries/clientpositive/vector_outer_join0.q |     5 +-
 .../queries/clientpositive/vector_outer_join1.q |     7 +-
 .../queries/clientpositive/vector_outer_join2.q |     3 +-
 .../queries/clientpositive/vector_outer_join3.q |     7 +-
 .../queries/clientpositive/vector_outer_join4.q |     7 +-
 .../queries/clientpositive/vector_outer_join5.q |    21 +-
 .../queries/clientpositive/vector_outer_join6.q |     5 +-
 .../vector_partition_diff_num_cols.q            |    12 +-
 .../vector_partitioned_date_time.q              |    18 +-
 .../vector_partitioned_date_time_win.q          |    16 +-
 .../queries/clientpositive/vector_reduce1.q     |     3 +-
 .../queries/clientpositive/vector_reduce2.q     |     3 +-
 .../queries/clientpositive/vector_reduce3.q     |     3 +-
 .../vector_reduce_groupby_decimal.q             |     4 +-
 .../clientpositive/vector_string_concat.q       |     5 +-
 .../clientpositive/vector_string_decimal.q      |     2 +-
 .../queries/clientpositive/vector_struct_in.q   |    19 +-
 .../clientpositive/vector_tablesample_rows.q    |     8 +-
 .../test/queries/clientpositive/vector_udf2.q   |     2 +-
 .../test/queries/clientpositive/vector_udf3.q   |     3 +-
 .../queries/clientpositive/vector_varchar_4.q   |     3 +-
 .../clientpositive/vector_varchar_mapjoin1.q    |     6 +-
 .../clientpositive/vector_varchar_simple.q      |     8 +-
 .../clientpositive/vector_when_case_null.q      |     2 +-
 .../queries/clientpositive/vectorization_0.q    |    21 +-
 .../queries/clientpositive/vectorization_1.q    |     1 +
 .../queries/clientpositive/vectorization_10.q   |     1 +
 .../queries/clientpositive/vectorization_11.q   |     1 +
 .../queries/clientpositive/vectorization_12.q   |     1 +
 .../queries/clientpositive/vectorization_13.q   |     6 +-
 .../queries/clientpositive/vectorization_14.q   |     3 +-
 .../queries/clientpositive/vectorization_15.q   |     3 +-
 .../queries/clientpositive/vectorization_16.q   |     3 +-
 .../queries/clientpositive/vectorization_17.q   |     3 +-
 .../queries/clientpositive/vectorization_2.q    |     1 +
 .../queries/clientpositive/vectorization_3.q    |     1 +
 .../queries/clientpositive/vectorization_4.q    |     1 +
 .../queries/clientpositive/vectorization_5.q    |     1 +
 .../queries/clientpositive/vectorization_6.q    |     1 +
 .../queries/clientpositive/vectorization_7.q    |     6 +-
 .../queries/clientpositive/vectorization_8.q    |     6 +-
 .../queries/clientpositive/vectorization_9.q    |     3 +-
 .../clientpositive/vectorization_decimal_date.q |     4 +-
 .../queries/clientpositive/vectorization_div0.q |     7 +-
 .../clientpositive/vectorization_limit.q        |    16 +-
 .../clientpositive/vectorization_nested_udf.q   |     2 +
 .../queries/clientpositive/vectorization_not.q  |     2 +
 .../clientpositive/vectorization_offset_limit.q |     5 +-
 .../queries/clientpositive/vectorization_part.q |     2 +
 .../clientpositive/vectorization_part_project.q |     4 +-
 .../clientpositive/vectorization_part_varchar.q |     2 +
 .../clientpositive/vectorization_pushdown.q     |     4 +-
 .../vectorization_short_regress.q               |    54 +-
 .../clientpositive/vectorized_bucketmapjoin1.q  |     8 +-
 .../queries/clientpositive/vectorized_case.q    |     4 +-
 .../queries/clientpositive/vectorized_casts.q   |     2 +-
 .../queries/clientpositive/vectorized_context.q |     4 +-
 .../clientpositive/vectorized_date_funcs.q      |    11 +-
 .../clientpositive/vectorized_distinct_gby.q    |     5 +-
 .../vectorized_dynamic_partition_pruning.q      |    79 +-
 .../queries/clientpositive/vectorized_mapjoin.q |     3 +-
 .../clientpositive/vectorized_mapjoin2.q        |     2 +-
 .../clientpositive/vectorized_math_funcs.q      |     3 +-
 .../clientpositive/vectorized_nested_mapjoin.q  |     3 +-
 .../queries/clientpositive/vectorized_parquet.q |     4 +-
 .../clientpositive/vectorized_parquet_types.q   |     6 +-
 .../queries/clientpositive/vectorized_ptf.q     |    47 +-
 .../clientpositive/vectorized_shufflejoin.q     |     3 +-
 .../clientpositive/vectorized_string_funcs.q    |     3 +-
 .../clientpositive/vectorized_timestamp.q       |     8 +-
 .../clientpositive/vectorized_timestamp_funcs.q |    15 +-
 .../vectorized_timestamp_ints_casts.q           |     5 +-
 .../llap/schema_evol_orc_vec_part.q.out         |   666 +-
 .../schema_evol_orc_vec_part_all_complex.q.out  |   168 +-
 ...schema_evol_orc_vec_part_all_primitive.q.out |   370 +-
 .../llap/schema_evol_orc_vec_table.q.out        |   365 +-
 .../llap/schema_evol_text_vec_part.q.out        |   666 +-
 .../schema_evol_text_vec_part_all_complex.q.out |   168 +-
 ...chema_evol_text_vec_part_all_primitive.q.out |   370 +-
 .../llap/schema_evol_text_vec_table.q.out       |   365 +-
 .../llap/schema_evol_text_vecrow_part.q.out     |   666 +-
 ...hema_evol_text_vecrow_part_all_complex.q.out |   168 +-
 ...ma_evol_text_vecrow_part_all_primitive.q.out |   370 +-
 .../llap/schema_evol_text_vecrow_table.q.out    |   365 +-
 .../llap/vector_aggregate_9.q.out               |    35 +-
 .../llap/vector_aggregate_without_gby.q.out     |     4 +-
 .../llap/vector_auto_smb_mapjoin_14.q.out       |  1973 ++-
 .../llap/vector_between_columns.q.out           |   115 +-
 .../clientpositive/llap/vector_between_in.q.out |   600 +-
 .../llap/vector_binary_join_groupby.q.out       |   152 +-
 .../clientpositive/llap/vector_bround.q.out     |    15 +-
 .../clientpositive/llap/vector_bucket.q.out     |    27 +-
 .../llap/vector_cast_constant.q.out             |    53 +-
 .../clientpositive/llap/vector_char_2.q.out     |   144 +-
 .../clientpositive/llap/vector_char_4.q.out     |    27 +-
 .../llap/vector_char_mapjoin1.q.out             |   220 +-
 .../llap/vector_char_simple.q.out               |   209 +-
 .../clientpositive/llap/vector_coalesce.q.out   |   473 +-
 .../clientpositive/llap/vector_coalesce_2.q.out |   100 +-
 .../llap/vector_complex_all.q.out               |   106 +-
 .../llap/vector_complex_join.q.out              |    40 +-
 .../clientpositive/llap/vector_count.q.out      |   146 +-
 .../llap/vector_count_distinct.q.out            |    73 +-
 .../clientpositive/llap/vector_data_types.q.out |    53 +-
 .../llap/vector_decimal_aggregate.q.out         |    95 +-
 .../llap/vector_decimal_cast.q.out              |    77 +-
 .../llap/vector_decimal_expressions.q.out       |    50 +-
 .../llap/vector_decimal_mapjoin.q.out           |    59 +-
 .../llap/vector_decimal_math_funcs.q.out        |    69 +-
 .../llap/vector_decimal_precision.q.out         |    35 +-
 .../llap/vector_decimal_round.q.out             |   189 +-
 .../llap/vector_decimal_round_2.q.out           |   173 +-
 .../llap/vector_decimal_udf2.q.out              |    62 +-
 .../clientpositive/llap/vector_distinct_2.q.out |    53 +-
 .../clientpositive/llap/vector_elt.q.out        |   145 +-
 .../clientpositive/llap/vector_groupby4.q.out   |    62 +-
 .../clientpositive/llap/vector_groupby6.q.out   |    62 +-
 .../clientpositive/llap/vector_groupby_3.q.out  |    55 +-
 .../llap/vector_groupby_mapjoin.q.out           |   238 +-
 .../llap/vector_groupby_reduce.q.out            |   286 +-
 .../llap/vector_grouping_sets.q.out             |    53 +-
 .../clientpositive/llap/vector_if_expr.q.out    |    47 +-
 .../llap/vector_include_no_sel.q.out            |    75 +-
 .../clientpositive/llap/vector_inner_join.q.out |   686 +-
 .../clientpositive/llap/vector_interval_1.q.out |   347 +-
 .../clientpositive/llap/vector_interval_2.q.out |   448 +-
 .../llap/vector_interval_arithmetic.q.out       |   334 +-
 .../llap/vector_interval_mapjoin.q.out          |    63 +-
 .../clientpositive/llap/vector_join30.q.out     |   907 +-
 .../llap/vector_join_part_col_char.q.out        |     4 +-
 .../llap/vector_left_outer_join.q.out           |    39 +-
 .../llap/vector_left_outer_join2.q.out          |   230 +-
 .../llap/vector_leftsemi_mapjoin.q.out          | 11428 ++++++++++++-----
 .../llap/vector_mapjoin_reduce.q.out            |    88 +-
 .../llap/vector_mr_diff_schema_alias.q.out      |    44 +-
 .../llap/vector_multi_insert.q.out              |    16 +-
 .../llap/vector_null_projection.q.out           |    39 +-
 .../llap/vector_nullsafe_join.q.out             |   628 +-
 .../llap/vector_number_compare_projection.q.out |    68 +-
 .../clientpositive/llap/vector_nvl.q.out        |   265 +-
 .../clientpositive/llap/vector_orderby_5.q.out  |    67 +-
 .../llap/vector_outer_join0.q.out               |   132 +-
 .../llap/vector_outer_join1.q.out               |   252 +-
 .../llap/vector_outer_join2.q.out               |   123 +-
 .../llap/vector_outer_join3.q.out               |   327 +-
 .../llap/vector_outer_join4.q.out               |   242 +-
 .../llap/vector_outer_join5.q.out               |   914 +-
 .../llap/vector_outer_join6.q.out               |   199 +-
 .../llap/vector_partition_diff_num_cols.q.out   |   250 +-
 .../llap/vector_partitioned_date_time.q.out     |  1053 +-
 .../clientpositive/llap/vector_reduce1.q.out    |    42 +-
 .../clientpositive/llap/vector_reduce2.q.out    |    42 +-
 .../clientpositive/llap/vector_reduce3.q.out    |    42 +-
 .../llap/vector_reduce_groupby_decimal.q.out    |    71 +-
 .../llap/vector_string_concat.q.out             |   138 +-
 .../clientpositive/llap/vector_struct_in.q.out  |   568 +-
 .../clientpositive/llap/vector_varchar_4.q.out  |    27 +-
 .../llap/vector_varchar_mapjoin1.q.out          |    93 +-
 .../llap/vector_varchar_simple.q.out            |    99 +-
 .../llap/vector_when_case_null.q.out            |    52 +-
 .../clientpositive/llap/vectorization_0.q.out   |   519 +-
 .../clientpositive/llap/vectorization_13.q.out  |   114 +-
 .../clientpositive/llap/vectorization_14.q.out  |    28 +-
 .../clientpositive/llap/vectorization_15.q.out  |    28 +-
 .../clientpositive/llap/vectorization_16.q.out  |    21 +-
 .../clientpositive/llap/vectorization_17.q.out  |    23 +-
 .../clientpositive/llap/vectorization_7.q.out   |   100 +-
 .../clientpositive/llap/vectorization_8.q.out   |   100 +-
 .../clientpositive/llap/vectorization_9.q.out   |    21 +-
 .../llap/vectorization_decimal_date.q.out       |    76 +-
 .../llap/vectorization_part_project.q.out       |    23 +-
 .../llap/vectorization_pushdown.q.out           |    21 +-
 .../llap/vectorization_short_regress.q.out      |  1002 +-
 .../llap/vectorized_bucketmapjoin1.q.out        |   108 +-
 .../clientpositive/llap/vectorized_case.q.out   |    62 +-
 .../clientpositive/llap/vectorized_casts.q.out  |    16 +-
 .../llap/vectorized_context.q.out               |    32 +-
 .../llap/vectorized_date_funcs.q.out            |   314 +-
 .../llap/vectorized_distinct_gby.q.out          |    51 +-
 .../vectorized_dynamic_partition_pruning.q.out  |  1159 +-
 .../llap/vectorized_mapjoin.q.out               |    71 +-
 .../llap/vectorized_math_funcs.q.out            |    69 +-
 .../llap/vectorized_nested_mapjoin.q.out        |    39 +-
 .../llap/vectorized_parquet.q.out               |    25 +-
 .../llap/vectorized_parquet_types.q.out         |    12 +-
 .../clientpositive/llap/vectorized_ptf.q.out    |   668 +-
 .../llap/vectorized_shufflejoin.q.out           |    73 +-
 .../llap/vectorized_string_funcs.q.out          |    54 +-
 .../llap/vectorized_timestamp.q.out             |    16 +-
 .../llap/vectorized_timestamp_funcs.q.out       |   292 +-
 .../llap/vectorized_timestamp_ints_casts.q.out  |   138 +-
 .../spark/vector_between_in.q.out               |   604 +-
 .../spark/vector_cast_constant.q.out            |    53 +-
 .../clientpositive/spark/vector_char_4.q.out    |    27 +-
 .../spark/vector_count_distinct.q.out           |    74 +-
 .../spark/vector_data_types.q.out               |    53 +-
 .../spark/vector_decimal_aggregate.q.out        |    96 +-
 .../spark/vector_decimal_mapjoin.q.out          |    58 +-
 .../spark/vector_distinct_2.q.out               |    54 +-
 .../clientpositive/spark/vector_elt.q.out       |   143 +-
 .../clientpositive/spark/vector_groupby_3.q.out |    56 +-
 .../spark/vector_inner_join.q.out               |   678 +-
 .../spark/vector_left_outer_join.q.out          |    39 +-
 .../spark/vector_mapjoin_reduce.q.out           |    72 +-
 .../clientpositive/spark/vector_orderby_5.q.out |    68 +-
 .../spark/vector_outer_join0.q.out              |   130 +-
 .../spark/vector_outer_join1.q.out              |   248 +-
 .../spark/vector_outer_join2.q.out              |   121 +-
 .../spark/vector_outer_join3.q.out              |   342 +-
 .../spark/vector_outer_join4.q.out              |   254 +-
 .../spark/vector_outer_join5.q.out              |   968 +-
 .../spark/vector_string_concat.q.out            |   137 +-
 .../clientpositive/spark/vector_varchar_4.q.out |    27 +-
 .../clientpositive/spark/vectorization_0.q.out  |   519 +-
 .../clientpositive/spark/vectorization_13.q.out |   114 +-
 .../clientpositive/spark/vectorization_14.q.out |    28 +-
 .../clientpositive/spark/vectorization_15.q.out |    28 +-
 .../clientpositive/spark/vectorization_16.q.out |    21 +-
 .../clientpositive/spark/vectorization_17.q.out |    23 +-
 .../clientpositive/spark/vectorization_7.q.out  |   118 +-
 .../clientpositive/spark/vectorization_8.q.out  |   146 +-
 .../clientpositive/spark/vectorization_9.q.out  |    21 +-
 .../spark/vectorization_decimal_date.q.out      |    75 +-
 .../spark/vectorization_div0.q.out              |   167 +-
 .../spark/vectorization_part_project.q.out      |    23 +-
 .../spark/vectorization_pushdown.q.out          |    21 +-
 .../spark/vectorization_short_regress.q.out     |  1002 +-
 .../spark/vectorized_bucketmapjoin1.q.out       |   135 +-
 .../clientpositive/spark/vectorized_case.q.out  |    62 +-
 .../spark/vectorized_mapjoin.q.out              |    70 +-
 .../spark/vectorized_math_funcs.q.out           |    68 +-
 .../spark/vectorized_nested_mapjoin.q.out       |    39 +-
 .../clientpositive/spark/vectorized_ptf.q.out   |   693 +-
 .../spark/vectorized_shufflejoin.q.out          |    80 +-
 .../spark/vectorized_string_funcs.q.out         |    53 +-
 .../spark/vectorized_timestamp_funcs.q.out      |   292 +-
 .../tez/vector_join_part_col_char.q.out         |     4 +-
 .../tez/vector_non_string_partition.q.out       |    98 +-
 .../clientpositive/tez/vectorization_div0.q.out |   167 +-
 .../tez/vectorization_limit.q.out               |   339 +-
 .../vector_adaptor_usage_mode.q.out             |   230 +-
 .../clientpositive/vector_aggregate_9.q.out     |    34 +-
 .../vector_aggregate_without_gby.q.out          |    20 +-
 .../vector_auto_smb_mapjoin_14.q.out            |   604 +-
 .../clientpositive/vector_between_columns.q.out |    75 +-
 .../clientpositive/vector_between_in.q.out      |   466 +-
 .../vector_binary_join_groupby.q.out            |    96 +-
 .../results/clientpositive/vector_bround.q.out  |    16 +-
 .../results/clientpositive/vector_bucket.q.out  |    16 +-
 .../clientpositive/vector_cast_constant.q.out   |    43 +-
 .../results/clientpositive/vector_char_2.q.out  |    96 +-
 .../results/clientpositive/vector_char_4.q.out  |    27 +-
 .../clientpositive/vector_char_mapjoin1.q.out   |   123 +-
 .../clientpositive/vector_char_simple.q.out     |   180 +-
 .../clientpositive/vector_coalesce.q.out        |   394 +-
 .../clientpositive/vector_coalesce_2.q.out      |    83 +-
 .../clientpositive/vector_complex_all.q.out     |    84 +-
 .../clientpositive/vector_complex_join.q.out    |    28 +-
 .../results/clientpositive/vector_count.q.out   |   142 +-
 .../clientpositive/vector_count_distinct.q.out  |    39 +-
 .../clientpositive/vector_data_types.q.out      |    40 +-
 .../vector_decimal_aggregate.q.out              |    74 +-
 .../clientpositive/vector_decimal_cast.q.out    |    34 +-
 .../vector_decimal_expressions.q.out            |    37 +-
 .../clientpositive/vector_decimal_mapjoin.q.out |    36 +-
 .../vector_decimal_math_funcs.q.out             |    31 +-
 .../vector_decimal_precision.q.out              |    34 +-
 .../clientpositive/vector_decimal_round.q.out   |   129 +-
 .../clientpositive/vector_decimal_round_2.q.out |   132 +-
 .../clientpositive/vector_decimal_udf2.q.out    |    62 +-
 .../clientpositive/vector_distinct_2.q.out      |    38 +-
 .../results/clientpositive/vector_elt.q.out     |   101 +-
 .../clientpositive/vector_empty_where.q.out     |   168 +-
 .../clientpositive/vector_groupby4.q.out        |    41 +-
 .../clientpositive/vector_groupby6.q.out        |    41 +-
 .../clientpositive/vector_groupby_3.q.out       |    39 +-
 .../clientpositive/vector_groupby_mapjoin.q.out |    24 +-
 .../clientpositive/vector_groupby_reduce.q.out  |   178 +-
 .../clientpositive/vector_grouping_sets.q.out   |    36 +-
 .../results/clientpositive/vector_if_expr.q.out |    37 +-
 .../clientpositive/vector_include_no_sel.q.out  |    47 +-
 .../clientpositive/vector_inner_join.q.out      |   396 +-
 .../clientpositive/vector_interval_1.q.out      |   264 +-
 .../clientpositive/vector_interval_2.q.out      |   348 +-
 .../vector_interval_arithmetic.q.out            |   260 +-
 .../vector_interval_mapjoin.q.out               |    40 +-
 .../results/clientpositive/vector_join30.q.out  |   700 +-
 .../vector_join_part_col_char.q.out             |    15 +-
 .../clientpositive/vector_left_outer_join.q.out |    20 +-
 .../vector_left_outer_join2.q.out               |   156 +-
 .../vector_leftsemi_mapjoin.q.out               |  7103 +++++-----
 .../clientpositive/vector_mapjoin_reduce.q.out  |    56 +-
 .../vector_mr_diff_schema_alias.q.out           |    38 +-
 .../clientpositive/vector_multi_insert.q.out    |    16 +-
 .../vector_non_constant_in_expr.q.out           |    14 +-
 .../vector_non_string_partition.q.out           |    72 +-
 .../clientpositive/vector_null_projection.q.out |    29 +-
 .../clientpositive/vector_nullsafe_join.q.out   |   326 +-
 .../vector_number_compare_projection.q.out      |    66 +-
 .../results/clientpositive/vector_nvl.q.out     |   181 +-
 .../clientpositive/vector_orderby_5.q.out       |    47 +-
 .../clientpositive/vector_outer_join0.q.out     |    74 +-
 .../clientpositive/vector_outer_join1.q.out     |   126 +-
 .../clientpositive/vector_outer_join2.q.out     |    53 +-
 .../clientpositive/vector_outer_join3.q.out     |   309 +-
 .../clientpositive/vector_outer_join4.q.out     |   235 +-
 .../clientpositive/vector_outer_join5.q.out     |   882 +-
 .../clientpositive/vector_outer_join6.q.out     |   190 +-
 .../vector_partition_diff_num_cols.q.out        |   190 +-
 .../vector_partitioned_date_time.q.out          |   348 +-
 .../results/clientpositive/vector_reduce1.q.out |    32 +-
 .../results/clientpositive/vector_reduce2.q.out |    32 +-
 .../results/clientpositive/vector_reduce3.q.out |    32 +-
 .../vector_reduce_groupby_decimal.q.out         |    47 +-
 .../clientpositive/vector_string_concat.q.out   |    77 +-
 .../clientpositive/vector_string_decimal.q.out  |    14 +-
 .../clientpositive/vector_struct_in.q.out       |   228 +-
 .../vector_tablesample_rows.q.out               |    88 +-
 .../results/clientpositive/vector_udf2.q.out    |    30 +-
 .../results/clientpositive/vector_udf3.q.out    |    27 +-
 .../clientpositive/vector_varchar_4.q.out       |    27 +-
 .../vector_varchar_mapjoin1.q.out               |    60 +-
 .../clientpositive/vector_varchar_simple.q.out  |    75 +-
 .../clientpositive/vector_when_case_null.q.out  |    40 +-
 .../clientpositive/vectorization_0.q.out        |   398 +-
 .../clientpositive/vectorization_13.q.out       |    94 +-
 .../clientpositive/vectorization_14.q.out       |    28 +-
 .../clientpositive/vectorization_15.q.out       |    28 +-
 .../clientpositive/vectorization_16.q.out       |    20 +-
 .../clientpositive/vectorization_17.q.out       |    20 +-
 .../clientpositive/vectorization_7.q.out        |    74 +-
 .../clientpositive/vectorization_8.q.out        |    74 +-
 .../clientpositive/vectorization_9.q.out        |    20 +-
 .../vectorization_decimal_date.q.out            |    33 +-
 .../clientpositive/vectorization_div0.q.out     |   104 +-
 .../clientpositive/vectorization_limit.q.out    |   224 +-
 .../vectorization_offset_limit.q.out            |    52 +-
 .../vectorization_part_project.q.out            |    20 +-
 .../clientpositive/vectorization_pushdown.q.out |    20 +-
 .../vectorization_short_regress.q.out           |   800 +-
 .../vectorized_bucketmapjoin1.q.out             |    99 +-
 .../clientpositive/vectorized_case.q.out        |    62 +-
 .../clientpositive/vectorized_casts.q.out       |    16 +-
 .../clientpositive/vectorized_context.q.out     |    16 +-
 .../clientpositive/vectorized_date_funcs.q.out  |   157 +-
 .../vectorized_distinct_gby.q.out               |    40 +-
 .../clientpositive/vectorized_mapjoin.q.out     |    48 +-
 .../clientpositive/vectorized_mapjoin2.q.out    |    47 +-
 .../clientpositive/vectorized_math_funcs.q.out  |    31 +-
 .../vectorized_nested_mapjoin.q.out             |    20 +-
 .../clientpositive/vectorized_parquet.q.out     |    28 +-
 .../vectorized_parquet_types.q.out              |    48 +-
 .../results/clientpositive/vectorized_ptf.q.out |   728 +-
 .../clientpositive/vectorized_shufflejoin.q.out |    31 +-
 .../vectorized_string_funcs.q.out               |    16 +-
 .../clientpositive/vectorized_timestamp.q.out   |    80 +-
 .../vectorized_timestamp_funcs.q.out            |   222 +-
 .../vectorized_timestamp_ints_casts.q.out       |    62 +-
 755 files changed, 56870 insertions(+), 18068 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/common/src/java/org/apache/hive/common/util/DateUtils.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hive/common/util/DateUtils.java 
b/common/src/java/org/apache/hive/common/util/DateUtils.java
index 959a542..a1068ec 100644
--- a/common/src/java/org/apache/hive/common/util/DateUtils.java
+++ b/common/src/java/org/apache/hive/common/util/DateUtils.java
@@ -54,4 +54,24 @@ public class DateUtils {
     }
     return result;
   }
+
+  // From java.util.Calendar
+  private static final String[] FIELD_NAME = {
+    "ERA", "YEAR", "MONTH", "WEEK_OF_YEAR", "WEEK_OF_MONTH", "DAY_OF_MONTH",
+    "DAY_OF_YEAR", "DAY_OF_WEEK", "DAY_OF_WEEK_IN_MONTH", "AM_PM", "HOUR",
+    "HOUR_OF_DAY", "MINUTE", "SECOND", "MILLISECOND", "ZONE_OFFSET",
+    "DST_OFFSET"
+  };
+
+  /**
+   * Returns the name of the specified calendar field.
+   *
+   * @param field the calendar field
+   * @return the calendar field name
+   * @exception IndexOutOfBoundsException if <code>field</code> is negative,
+   * equal to or greater then <code>FIELD_COUNT</code>.
+   */
+  public static String getFieldName(int field) {
+      return FIELD_NAME[field];
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt
index e52fcc0..d8164a4 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt
@@ -157,7 +157,12 @@ public class <ClassName> extends VectorExpression {
   public void setOutputColumn(int outputColumn) {
     this.outputColumn = outputColumn;
   }
-  
+
+  @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
   @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnDecimal.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnDecimal.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnDecimal.txt
index e1df589..31a015f 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnDecimal.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnDecimal.txt
@@ -167,6 +167,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnWithConvert.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnWithConvert.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnWithConvert.txt
deleted file mode 100644
index bcd10a2..0000000
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnWithConvert.txt
+++ /dev/null
@@ -1,173 +0,0 @@
-/**
- * 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.gen;
-
-import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
-import org.apache.hadoop.hive.ql.exec.vector.expressions.NullUtil;
-import org.apache.hadoop.hive.ql.exec.vector.*;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
-import org.apache.hadoop.hive.ql.exec.vector.VectorExpressionDescriptor;
-
-/**
- * Generated from template ColumnArithmeticColumnWithConvert.txt, which covers 
binary arithmetic 
- * expressions between columns.
- */
-public class <ClassName> extends VectorExpression {
-
-  private static final long serialVersionUID = 1L;
-  
-  private int colNum1;
-  private int colNum2;
-  private int outputColumn;
-
-  public <ClassName>(int colNum1, int colNum2, int outputColumn) {
-    this.colNum1 = colNum1;
-    this.colNum2 = colNum2;
-    this.outputColumn = outputColumn;
-  }
-
-  public <ClassName>() {
-  }
-
-  @Override
-  public void evaluate(VectorizedRowBatch batch) {
-
-    if (childExpressions != null) {
-      super.evaluateChildren(batch);
-    }
-
-    <InputColumnVectorType1> inputColVector1 = (<InputColumnVectorType1>) 
batch.cols[colNum1];
-    <InputColumnVectorType2> inputColVector2 = (<InputColumnVectorType2>) 
batch.cols[colNum2];
-    <OutputColumnVectorType> outputColVector = (<OutputColumnVectorType>) 
batch.cols[outputColumn];
-    int[] sel = batch.selected;
-    int n = batch.size;
-    <VectorOperandType1>[] vector1 = inputColVector1.vector;
-    <VectorOperandType2>[] vector2 = inputColVector2.vector;
-    <VectorReturnType>[] outputVector = outputColVector.vector;
-    
-    // return immediately if batch is empty
-    if (n == 0) {
-      return;
-    }
-    
-    outputColVector.isRepeating = 
-         inputColVector1.isRepeating && inputColVector2.isRepeating
-      || inputColVector1.isRepeating && !inputColVector1.noNulls && 
inputColVector1.isNull[0]
-      || inputColVector2.isRepeating && !inputColVector2.noNulls && 
inputColVector2.isNull[0];
-    
-    // Handle nulls first  
-    NullUtil.propagateNullsColCol(
-      inputColVector1, inputColVector2, outputColVector, sel, n, 
batch.selectedInUse);
-          
-    /* Disregard nulls for processing. In other words,
-     * the arithmetic operation is performed even if one or 
-     * more inputs are null. This is to improve speed by avoiding
-     * conditional checks in the inner loop.
-     */ 
-    if (inputColVector1.isRepeating && inputColVector2.isRepeating) { 
-      outputVector[0] = <TypeConversion1>(vector1[0]) <OperatorSymbol> 
<TypeConversion2>(vector2[0]);
-    } else if (inputColVector1.isRepeating) {
-      if (batch.selectedInUse) {
-        for(int j = 0; j != n; j++) {
-          int i = sel[j];
-          outputVector[i] = <TypeConversion1>(vector1[0]) <OperatorSymbol> 
<TypeConversion2>(vector2[i]);
-        }
-      } else {
-        for(int i = 0; i != n; i++) {
-          outputVector[i] = <TypeConversion1>(vector1[0]) <OperatorSymbol> 
<TypeConversion2>(vector2[i]);
-        }
-      }
-    } else if (inputColVector2.isRepeating) {
-      if (batch.selectedInUse) {
-        for(int j = 0; j != n; j++) {
-          int i = sel[j];
-          outputVector[i] = <TypeConversion1>(vector1[i]) <OperatorSymbol> 
<TypeConversion2>(vector2[0]);
-        }
-      } else {
-        for(int i = 0; i != n; i++) {
-          outputVector[i] = <TypeConversion1>(vector1[i]) <OperatorSymbol> 
<TypeConversion2>(vector2[0]);
-        }
-      }
-    } else {
-      if (batch.selectedInUse) {
-        for(int j = 0; j != n; j++) {
-          int i = sel[j];
-          outputVector[i] = <TypeConversion1>(vector1[i]) <OperatorSymbol> 
<TypeConversion2>(vector2[i]);
-        }
-      } else {
-        for(int i = 0; i != n; i++) {
-          outputVector[i] = <TypeConversion1>(vector1[i]) <OperatorSymbol>  
<TypeConversion2>(vector2[i]);
-        }
-      }
-    }
-    
-    /* For the case when the output can have null values, follow 
-     * the convention that the data values must be 1 for long and 
-     * NaN for double. This is to prevent possible later zero-divide errors
-     * in complex arithmetic expressions like col2 / (col1 - 1)
-     * in the case when some col1 entries are null.
-     */
-    NullUtil.setNullDataEntries<CamelReturnType>(outputColVector, 
batch.selectedInUse, sel, n);
-  }
-
-  @Override
-  public int getOutputColumn() {
-    return outputColumn;
-  }
-
-  @Override
-  public String getOutputType() {
-    return "<VectorReturnType>";
-  }
-  
-  public int getColNum1() {
-    return colNum1;
-  }
-
-  public void setColNum1(int colNum1) {
-    this.colNum1 = colNum1;
-  }
-
-  public int getColNum2() {
-    return colNum2;
-  }
-
-  public void setColNum2(int colNum2) {
-    this.colNum2 = colNum2;
-  }
-
-  public void setOutputColumn(int outputColumn) {
-    this.outputColumn = outputColumn;
-  }
-  
-  @Override
-  public VectorExpressionDescriptor.Descriptor getDescriptor() {
-    return (new VectorExpressionDescriptor.Builder())
-        .setMode(
-            VectorExpressionDescriptor.Mode.PROJECTION)
-        .setNumArguments(2)
-        .setArgumentTypes(
-            VectorExpressionDescriptor.ArgumentType.getType("<OperandType1>"),
-            VectorExpressionDescriptor.ArgumentType.getType("<OperandType2>"))
-        .setInputExpressionTypes(
-            VectorExpressionDescriptor.InputExpressionType.COLUMN,
-            VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt
index 87335f1..2cc1aa2 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt
@@ -134,6 +134,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarDecimal.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarDecimal.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarDecimal.txt
index 0bb1532..294bb4f 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarDecimal.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarDecimal.txt
@@ -132,6 +132,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value.toString();
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarWithConvert.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarWithConvert.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarWithConvert.txt
deleted file mode 100644
index 105eb92..0000000
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarWithConvert.txt
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * 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.gen;
-
-import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
-import org.apache.hadoop.hive.ql.exec.vector.<InputColumnVectorType>;
-import org.apache.hadoop.hive.ql.exec.vector.<OutputColumnVectorType>;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
-import org.apache.hadoop.hive.ql.exec.vector.expressions.NullUtil;
-import org.apache.hadoop.hive.ql.exec.vector.VectorExpressionDescriptor;
-import org.apache.hadoop.hive.ql.exec.vector.*;
-
-/**
- * Generated from template ColumnArithmeticScalarWithConvert.txt, which covers 
binary arithmetic 
- * expressions between a column and a scalar.
- */
-public class <ClassName> extends VectorExpression {
-
-  private static final long serialVersionUID = 1L;
-
-  private int colNum;
-  private <VectorOperandType2> value;
-  private int outputColumn;
-
-  public <ClassName>(int colNum, <VectorOperandType2> value, int outputColumn) 
{
-    this.colNum = colNum;
-    this.value = <TypeConversion2>(value);
-    this.outputColumn = outputColumn;
-  }
-
-  public <ClassName>() {
-  }
-
-  @Override
-  public void evaluate(VectorizedRowBatch batch) {
-
-    if (childExpressions != null) {
-      super.evaluateChildren(batch);
-    }
-
-    <InputColumnVectorType> inputColVector = (<InputColumnVectorType>) 
batch.cols[colNum];
-    <OutputColumnVectorType> outputColVector = (<OutputColumnVectorType>) 
batch.cols[outputColumn];
-    int[] sel = batch.selected;
-    boolean[] inputIsNull = inputColVector.isNull;
-    boolean[] outputIsNull = outputColVector.isNull;
-    outputColVector.noNulls = inputColVector.noNulls;
-    outputColVector.isRepeating = inputColVector.isRepeating;
-    int n = batch.size;
-    <VectorOperandType1>[] vector = inputColVector.vector;
-    <VectorReturnType>[] outputVector = outputColVector.vector;
-    
-    // return immediately if batch is empty
-    if (n == 0) {
-      return;
-    }
-
-    if (inputColVector.isRepeating) {
-      outputVector[0] = <TypeConversion1>(vector[0]) <OperatorSymbol> value;
-      
-      // Even if there are no nulls, we always copy over entry 0. Simplifies 
code.
-      outputIsNull[0] = inputIsNull[0]; 
-    } else if (inputColVector.noNulls) {
-      if (batch.selectedInUse) {
-        for(int j = 0; j != n; j++) {
-          int i = sel[j];
-          outputVector[i] = <TypeConversion1>(vector[i]) <OperatorSymbol> 
value;
-        }
-      } else {
-        for(int i = 0; i != n; i++) {
-          outputVector[i] = <TypeConversion1>(vector[i]) <OperatorSymbol> 
value;
-        }
-      }
-    } else /* there are nulls */ {
-      if (batch.selectedInUse) {
-        for(int j = 0; j != n; j++) {
-          int i = sel[j];
-          outputVector[i] = <TypeConversion1>(vector[i]) <OperatorSymbol> 
value;
-          outputIsNull[i] = inputIsNull[i];
-        }
-      } else {
-        for(int i = 0; i != n; i++) {
-          outputVector[i] = <TypeConversion1>(vector[i]) <OperatorSymbol> 
value;
-        }
-        System.arraycopy(inputIsNull, 0, outputIsNull, 0, n);
-      }
-    }
-    
-    NullUtil.setNullOutputEntriesColScalar(outputColVector, 
batch.selectedInUse, sel, n);
-  }
-
-  @Override
-  public int getOutputColumn() {
-    return outputColumn;
-  }
-  
-  @Override
-  public String getOutputType() {
-    return "<VectorReturnType>";
-  }
-  
-  public int getColNum() {
-    return colNum;
-  }
-  
-  public void setColNum(int colNum) {
-    this.colNum = colNum;
-  }
-
-  public <VectorOperandType2> getValue() {
-    return value;
-  }
-
-  public void setValue(<VectorOperandType2> value) {
-    this.value = value;
-  }
-
-  public void setOutputColumn(int outputColumn) {
-    this.outputColumn = outputColumn;
-  }
-
-  @Override
-  public VectorExpressionDescriptor.Descriptor getDescriptor() {
-    return (new VectorExpressionDescriptor.Builder())
-        .setMode(
-            VectorExpressionDescriptor.Mode.PROJECTION)
-        .setNumArguments(2)
-        .setArgumentTypes(
-            VectorExpressionDescriptor.ArgumentType.getType("<OperandType1>"),
-            VectorExpressionDescriptor.ArgumentType.getType("<OperandType2>"))
-        .setInputExpressionTypes(
-            VectorExpressionDescriptor.InputExpressionType.COLUMN,
-            VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareColumn.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareColumn.txt
index f2b4c81..cbc97da 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareColumn.txt
@@ -157,6 +157,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt
index 2438ee4..6568d1c 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt
@@ -149,6 +149,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumn.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumn.txt
index b0f6eb1..04b533a 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumn.txt
@@ -184,6 +184,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumnDecimal.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumnDecimal.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumnDecimal.txt
index 623bcfb..68c4f58 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumnDecimal.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumnDecimal.txt
@@ -139,6 +139,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalar.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalar.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalar.txt
index c6614ab..25e0d85 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalar.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalar.txt
@@ -139,6 +139,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalarDecimal.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalarDecimal.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalarDecimal.txt
index 841ef93..0728f6c 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalarDecimal.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalarDecimal.txt
@@ -138,6 +138,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value.toString();
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryFunc.txt
----------------------------------------------------------------------
diff --git a/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryFunc.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryFunc.txt
index cf690db..efbf1ba 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryFunc.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryFunc.txt
@@ -122,6 +122,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt
----------------------------------------------------------------------
diff --git a/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt
index b52b7c7..6574267 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt
@@ -124,6 +124,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthColumn.txt
index c3d8d7e..2a9f947 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthColumn.txt
@@ -181,6 +181,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthScalar.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthScalar.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthScalar.txt
index d1474fb..4bbc358 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthScalar.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthScalar.txt
@@ -141,6 +141,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampColumn.txt
index 63cebaf..2e66b3a 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampColumn.txt
@@ -170,6 +170,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampScalar.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampScalar.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampScalar.txt
index 7aee529..e679449 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampScalar.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampScalar.txt
@@ -139,6 +139,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value.toString();
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticIntervalYearMonthColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticIntervalYearMonthColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticIntervalYearMonthColumn.txt
index c68ac34..e23dc27 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticIntervalYearMonthColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticIntervalYearMonthColumn.txt
@@ -155,6 +155,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "val " + value + ", col " + + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticTimestampColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticTimestampColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticTimestampColumn.txt
index cb6b750..85d88fd 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticTimestampColumn.txt
@@ -146,6 +146,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "val " + value + ", col " + + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/DecimalColumnUnaryFunc.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/DecimalColumnUnaryFunc.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/DecimalColumnUnaryFunc.txt
index 619015e..0b7fefc 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/DecimalColumnUnaryFunc.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/DecimalColumnUnaryFunc.txt
@@ -119,6 +119,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnBetween.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnBetween.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnBetween.txt
index e9aaaf2..0a9c444 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnBetween.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnBetween.txt
@@ -173,7 +173,12 @@ public class <ClassName> extends VectorExpression {
   public void setRightValue(<OperandType> value) {
     this.leftValue = value;
   }
-  
+
+  @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", left " + leftValue + ", right " + rightValue;
+  }
+
   @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareColumn.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareColumn.txt
index e25b9c2..ee80606 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareColumn.txt
@@ -33,8 +33,8 @@ public class <ClassName> extends VectorExpression {
 
   private static final long serialVersionUID = 1L;
 
-  private int colNum1;
-  private int colNum2;
+  protected int colNum1;
+  protected int colNum2;
 
   public <ClassName>(int colNum1, int colNum2) { 
     this.colNum1 = colNum1;
@@ -182,6 +182,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareScalar.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareScalar.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareScalar.txt
index b0f6e5c..248a66a 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareScalar.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnCompareScalar.txt
@@ -32,8 +32,8 @@ public class <ClassName> extends VectorExpression {
 
   private static final long serialVersionUID = 1L;
 
-  private int colNum;
-  private <OperandType2> value;
+  protected int colNum;
+  protected <OperandType2> value;
 
   public <ClassName>(int colNum, <OperandType2> value) { 
     this.colNum = colNum;
@@ -158,6 +158,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnBetween.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnBetween.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnBetween.txt
index d68edfa..4cef036 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnBetween.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnBetween.txt
@@ -155,6 +155,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", left " + leftValue.toString() + ", right " + 
rightValue.toString();
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalColumn.txt
index a2352c6..ee450d3 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalColumn.txt
@@ -430,6 +430,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalScalar.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalScalar.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalScalar.txt
index bdd39b9..9943f45 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalScalar.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalScalar.txt
@@ -145,6 +145,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", val " + value.toString();
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalScalarCompareDecimalColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalScalarCompareDecimalColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalScalarCompareDecimalColumn.txt
index 0608016..4477aff 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalScalarCompareDecimalColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalScalarCompareDecimalColumn.txt
@@ -145,6 +145,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "val " + value.toString() + ", col " + + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleColumnCompareTimestampColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleColumnCompareTimestampColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleColumnCompareTimestampColumn.txt
index 57caf7e..610c062 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleColumnCompareTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleColumnCompareTimestampColumn.txt
@@ -170,6 +170,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum1 + ", col " + + colNum2;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleScalarCompareTimestampColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleScalarCompareTimestampColumn.txt
 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleScalarCompareTimestampColumn.txt
index f5f59c2..73c46a1 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleScalarCompareTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleScalarCompareTimestampColumn.txt
@@ -154,6 +154,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "val " + value + ", col " + + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterScalarCompareColumn.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterScalarCompareColumn.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterScalarCompareColumn.txt
index b7544c7..037382c 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/FilterScalarCompareColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/FilterScalarCompareColumn.txt
@@ -32,8 +32,8 @@ public class <ClassName> extends VectorExpression {
 
   private static final long serialVersionUID = 1L;
 
-  private int colNum;
-  private <OperandType1> value;
+  protected int colNum;
+  protected <OperandType1> value;
 
   public <ClassName>(<OperandType1> value, int colNum) { 
     this.colNum = colNum;
@@ -158,6 +158,11 @@ public class <ClassName> extends VectorExpression {
   }
 
   @Override
+  public String vectorExpressionParameters() {
+    return "val " + value + ", col " + + colNum;
+  }
+
+  @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())
         .setMode(

http://git-wip-us.apache.org/repos/asf/hive/blob/f923db0b/ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnBetween.txt
----------------------------------------------------------------------
diff --git 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnBetween.txt 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnBetween.txt
index e8049da..6cbfca1 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnBetween.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnBetween.txt
@@ -18,6 +18,8 @@
  
 package org.apache.hadoop.hive.ql.exec.vector.expressions.gen;
 
+import java.nio.charset.StandardCharsets;
+
 import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.StringExpr;
 import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
@@ -176,7 +178,12 @@ public class <ClassName> extends VectorExpression {
   public void setRight(byte[] value) {
     this.right = value;
   }
-  
+
+  @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum + ", left " + new String(left, 
StandardCharsets.UTF_8) + ", right " + new String(right, 
StandardCharsets.UTF_8);
+  }
+
   @Override
   public VectorExpressionDescriptor.Descriptor getDescriptor() {
     return (new VectorExpressionDescriptor.Builder())

Reply via email to