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

This reverts commit 16d28b343b76c998b8fdbd8a91bae07ac82357de.


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

Branch: refs/heads/master
Commit: ad6ce0781a4e68fad2960c1053c325753a9504db
Parents: 36e810f
Author: Matt McCline <mmccl...@hortonworks.com>
Authored: Mon Oct 17 13:31:42 2016 -0700
Committer: Matt McCline <mmccl...@hortonworks.com>
Committed: Mon Oct 17 13:31:42 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          | 11096 +++++------------
 .../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     |  1075 +-
 .../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               |  6989 +++++------
 .../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, 17856 insertions(+), 56658 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/ad6ce078/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 a1068ec..959a542 100644
--- a/common/src/java/org/apache/hive/common/util/DateUtils.java
+++ b/common/src/java/org/apache/hive/common/util/DateUtils.java
@@ -54,24 +54,4 @@ 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/ad6ce078/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 d8164a4..e52fcc0 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt
@@ -157,12 +157,7 @@ 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/ad6ce078/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 31a015f..e1df589 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnDecimal.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnDecimal.txt
@@ -167,11 +167,6 @@ 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/ad6ce078/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
new file mode 100644
index 0000000..bcd10a2
--- /dev/null
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumnWithConvert.txt
@@ -0,0 +1,173 @@
+/**
+ * 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/ad6ce078/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 2cc1aa2..87335f1 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalar.txt
@@ -134,11 +134,6 @@ 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/ad6ce078/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 294bb4f..0bb1532 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarDecimal.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarDecimal.txt
@@ -132,11 +132,6 @@ 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/ad6ce078/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
new file mode 100644
index 0000000..105eb92
--- /dev/null
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticScalarWithConvert.txt
@@ -0,0 +1,150 @@
+/**
+ * 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/ad6ce078/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 cbc97da..f2b4c81 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareColumn.txt
@@ -157,11 +157,6 @@ 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/ad6ce078/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 6568d1c..2438ee4 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnCompareScalar.txt
@@ -149,11 +149,6 @@ 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/ad6ce078/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 04b533a..b0f6eb1 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumn.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumn.txt
@@ -184,11 +184,6 @@ 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/ad6ce078/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 68c4f58..623bcfb 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumnDecimal.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideColumnDecimal.txt
@@ -139,11 +139,6 @@ 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/ad6ce078/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 25e0d85..c6614ab 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalar.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalar.txt
@@ -139,11 +139,6 @@ 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/ad6ce078/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 0728f6c..841ef93 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalarDecimal.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnDivideScalarDecimal.txt
@@ -138,11 +138,6 @@ 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/ad6ce078/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 efbf1ba..cf690db 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryFunc.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryFunc.txt
@@ -122,11 +122,6 @@ 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/ad6ce078/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 6574267..b52b7c7 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/ColumnUnaryMinus.txt
@@ -124,11 +124,6 @@ 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/ad6ce078/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 2a9f947..c3d8d7e 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthColumn.txt
@@ -181,11 +181,6 @@ 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/ad6ce078/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 4bbc358..d1474fb 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthScalar.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticIntervalYearMonthScalar.txt
@@ -141,11 +141,6 @@ 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/ad6ce078/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 2e66b3a..63cebaf 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampColumn.txt
@@ -170,11 +170,6 @@ 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/ad6ce078/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 e679449..7aee529 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampScalar.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateColumnArithmeticTimestampScalar.txt
@@ -139,11 +139,6 @@ 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/ad6ce078/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 e23dc27..c68ac34 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticIntervalYearMonthColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticIntervalYearMonthColumn.txt
@@ -155,11 +155,6 @@ 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/ad6ce078/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 85d88fd..cb6b750 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/DateScalarArithmeticTimestampColumn.txt
@@ -146,11 +146,6 @@ 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/ad6ce078/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 0b7fefc..619015e 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/DecimalColumnUnaryFunc.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/DecimalColumnUnaryFunc.txt
@@ -119,11 +119,6 @@ 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/ad6ce078/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 0a9c444..e9aaaf2 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnBetween.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/FilterColumnBetween.txt
@@ -173,12 +173,7 @@ 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/ad6ce078/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 ee80606..e25b9c2 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;
 
-  protected int colNum1;
-  protected int colNum2;
+  private int colNum1;
+  private int colNum2;
 
   public <ClassName>(int colNum1, int colNum2) { 
     this.colNum1 = colNum1;
@@ -182,11 +182,6 @@ 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/ad6ce078/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 248a66a..b0f6e5c 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;
 
-  protected int colNum;
-  protected <OperandType2> value;
+  private int colNum;
+  private <OperandType2> value;
 
   public <ClassName>(int colNum, <OperandType2> value) { 
     this.colNum = colNum;
@@ -158,11 +158,6 @@ 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/ad6ce078/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 4cef036..d68edfa 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnBetween.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnBetween.txt
@@ -155,11 +155,6 @@ 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/ad6ce078/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 ee450d3..a2352c6 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalColumn.txt
@@ -430,11 +430,6 @@ 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/ad6ce078/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 9943f45..bdd39b9 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalScalar.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalColumnCompareDecimalScalar.txt
@@ -145,11 +145,6 @@ 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/ad6ce078/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 4477aff..0608016 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalScalarCompareDecimalColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterDecimalScalarCompareDecimalColumn.txt
@@ -145,11 +145,6 @@ 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/ad6ce078/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 610c062..57caf7e 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleColumnCompareTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleColumnCompareTimestampColumn.txt
@@ -170,11 +170,6 @@ 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/ad6ce078/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 73c46a1..f5f59c2 100644
--- 
a/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleScalarCompareTimestampColumn.txt
+++ 
b/ql/src/gen/vectorization/ExpressionTemplates/FilterLongDoubleScalarCompareTimestampColumn.txt
@@ -154,11 +154,6 @@ 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/ad6ce078/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 037382c..b7544c7 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;
 
-  protected int colNum;
-  protected <OperandType1> value;
+  private int colNum;
+  private <OperandType1> value;
 
   public <ClassName>(<OperandType1> value, int colNum) { 
     this.colNum = colNum;
@@ -158,11 +158,6 @@ 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/ad6ce078/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 6cbfca1..e8049da 100644
--- a/ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnBetween.txt
+++ b/ql/src/gen/vectorization/ExpressionTemplates/FilterStringColumnBetween.txt
@@ -18,8 +18,6 @@
  
 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;
@@ -178,12 +176,7 @@ 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