PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
SELECT VAR_POP(ctinyint),
       (VAR_POP(ctinyint) / -26.28),
       SUM(cfloat),
       (-1.389 + SUM(cfloat)),
       (SUM(cfloat) * (-1.389 + SUM(cfloat))),
       MAX(ctinyint),
       (-((SUM(cfloat) * (-1.389 + SUM(cfloat))))),
       MAX(cint),
       (MAX(cint) * 79.553),
       VAR_SAMP(cdouble),
       (10.175 % (-((SUM(cfloat) * (-1.389 + SUM(cfloat)))))),
       COUNT(cint),
       (-563 % MAX(cint))
FROM   alltypesorc
WHERE  (((cdouble > ctinyint)
         AND (cboolean2 > 0))
        OR ((cbigint < ctinyint)
            OR ((cint > cbigint)
                OR (cboolean1 < 0))))
PREHOOK: type: QUERY
POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL
SELECT VAR_POP(ctinyint),
       (VAR_POP(ctinyint) / -26.28),
       SUM(cfloat),
       (-1.389 + SUM(cfloat)),
       (SUM(cfloat) * (-1.389 + SUM(cfloat))),
       MAX(ctinyint),
       (-((SUM(cfloat) * (-1.389 + SUM(cfloat))))),
       MAX(cint),
       (MAX(cint) * 79.553),
       VAR_SAMP(cdouble),
       (10.175 % (-((SUM(cfloat) * (-1.389 + SUM(cfloat)))))),
       COUNT(cint),
       (-563 % MAX(cint))
FROM   alltypesorc
WHERE  (((cdouble > ctinyint)
         AND (cboolean2 > 0))
        OR ((cbigint < ctinyint)
            OR ((cint > cbigint)
                OR (cboolean1 < 0))))
POSTHOOK: type: QUERY
PLAN VECTORIZATION:
  enabled: true
  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]

STAGE DEPENDENCIES:
  Stage-1 is a root stage
  Stage-0 depends on stages: Stage-1

STAGE PLANS:
  Stage: Stage-1
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: alltypesorc
            Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
            TableScan Vectorization:
                native: true
                vectorizationSchemaColumns: [0:ctinyint:tinyint, 1:csmallint:smallint, 2:cint:int, 3:cbigint:bigint, 4:cfloat:float, 5:cdouble:double, 6:cstring1:string, 7:cstring2:string, 8:ctimestamp1:timestamp, 9:ctimestamp2:timestamp, 10:cboolean1:boolean, 11:cboolean2:boolean, 12:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
            Filter Operator
              Filter Vectorization:
                  className: VectorFilterOperator
                  native: true
                  predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterLongColGreaterLongScalar(col 11:boolean, val 0)), FilterLongColLessLongColumn(col 3:bigint, col 0:bigint)(children: col 0:tinyint), FilterLongColGreaterLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterLongColLessLongScalar(col 10:boolean, val 0))
              predicate: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (UDFToLong(cint) > cbigint) or (cbigint < UDFToLong(ctinyint)) or (cboolean1 < 0)) (type: boolean)
              Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: ctinyint (type: tinyint), cfloat (type: float), cint (type: int), cdouble (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), (cdouble * cdouble) (type: double)
                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                Select Vectorization:
                    className: VectorSelectOperator
                    native: true
                    projectedOutputColumnNums: [0, 4, 2, 5, 13, 16, 14]
                    selectExpressions: CastLongToDouble(col 0:tinyint) -> 13:double, DoubleColMultiplyDoubleColumn(col 14:double, col 15:double)(children: CastLongToDouble(col 0:tinyint) -> 14:double, CastLongToDouble(col 0:tinyint) -> 15:double) -> 16:double, DoubleColMultiplyDoubleColumn(col 5:double, col 5:double) -> 14:double
                Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
                Group By Operator
                  aggregations: sum(_col5), sum(_col4), count(_col0), sum(_col1), max(_col0), max(_col2), sum(_col6), sum(_col3), count(_col3), count(_col2)
                  Group By Vectorization:
                      aggregators: VectorUDAFSumDouble(col 16:double) -> double, VectorUDAFSumDouble(col 13:double) -> double, VectorUDAFCount(col 0:tinyint) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMaxLong(col 0:tinyint) -> tinyint, VectorUDAFMaxLong(col 2:int) -> int, VectorUDAFSumDouble(col 14:double) -> double, VectorUDAFSumDouble(col 5:double) -> double, VectorUDAFCount(col 5:double) -> bigint, VectorUDAFCount(col 2:int) -> bigint
                      className: VectorGroupByOperator
                      groupByMode: HASH
                      native: false
                      vectorProcessingMode: HASH
                      projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
                  mode: hash
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
                  Statistics: Num rows: 1 Data size: 72 Basic stats: COMPLETE Column stats: NONE
                  Reduce Output Operator
                    sort order: 
                    Reduce Sink Vectorization:
                        className: VectorReduceSinkOperator
                        native: false
                        nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
                        nativeConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
                    Statistics: Num rows: 1 Data size: 72 Basic stats: COMPLETE Column stats: NONE
                    value expressions: _col0 (type: double), _col1 (type: double), _col2 (type: bigint), _col3 (type: double), _col4 (type: tinyint), _col5 (type: int), _col6 (type: double), _col7 (type: double), _col8 (type: bigint), _col9 (type: bigint)
      Execution mode: vectorized
      Map Vectorization:
          enabled: true
          enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
          inputFormatFeatureSupport: [DECIMAL_64]
          featureSupportInUse: [DECIMAL_64]
          inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
          allNative: false
          usesVectorUDFAdaptor: false
          vectorized: true
          rowBatchContext:
              dataColumnCount: 12
              includeColumns: [0, 2, 3, 4, 5, 10, 11]
              dataColumns: ctinyint:tinyint, csmallint:smallint, cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, cboolean1:boolean, cboolean2:boolean
              partitionColumnCount: 0
              scratchColumnTypeNames: [double, double, double, double]
      Reduce Vectorization:
          enabled: false
          enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true
          enableConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
      Reduce Operator Tree:
        Group By Operator
          aggregations: sum(VALUE._col0), sum(VALUE._col1), count(VALUE._col2), sum(VALUE._col3), max(VALUE._col4), max(VALUE._col5), sum(VALUE._col6), sum(VALUE._col7), count(VALUE._col8), count(VALUE._col9)
          mode: mergepartial
          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
          Statistics: Num rows: 1 Data size: 72 Basic stats: COMPLETE Column stats: NONE
          Select Operator
            expressions: ((_col0 - ((_col1 * _col1) / _col2)) / _col2) (type: double), (((_col0 - ((_col1 * _col1) / _col2)) / _col2) / -26.28D) (type: double), _col3 (type: double), (-1.389D + _col3) (type: double), (_col3 * (-1.389D + _col3)) (type: double), _col4 (type: tinyint), (- (_col3 * (-1.389D + _col3))) (type: double), _col5 (type: int), (CAST( _col5 AS decimal(10,0)) * 79.553) (type: decimal(16,3)), ((_col6 - ((_col7 * _col7) / _col8)) / CASE WHEN ((_col8 = 1L)) THEN (null) ELSE ((_col8 - 1)) END) (type: double), (10.175D % (- (_col3 * (-1.389D + _col3)))) (type: double), _col9 (type: bigint), (-563 % _col5) (type: int)
            outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
            Statistics: Num rows: 1 Data size: 72 Basic stats: COMPLETE Column stats: NONE
            File Output Operator
              compressed: false
              Statistics: Num rows: 1 Data size: 72 Basic stats: COMPLETE Column stats: NONE
              table:
                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        ListSink

PREHOOK: query: SELECT VAR_POP(ctinyint),
       (VAR_POP(ctinyint) / -26.28),
       SUM(cfloat),
       (-1.389 + SUM(cfloat)),
       (SUM(cfloat) * (-1.389 + SUM(cfloat))),
       MAX(ctinyint),
       (-((SUM(cfloat) * (-1.389 + SUM(cfloat))))),
       MAX(cint),
       (MAX(cint) * 79.553),
       VAR_SAMP(cdouble),
       (10.175 % (-((SUM(cfloat) * (-1.389 + SUM(cfloat)))))),
       COUNT(cint),
       (-563 % MAX(cint))
FROM   alltypesorc
WHERE  (((cdouble > ctinyint)
         AND (cboolean2 > 0))
        OR ((cbigint < ctinyint)
            OR ((cint > cbigint)
                OR (cboolean1 < 0))))
PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
POSTHOOK: query: SELECT VAR_POP(ctinyint),
       (VAR_POP(ctinyint) / -26.28),
       SUM(cfloat),
       (-1.389 + SUM(cfloat)),
       (SUM(cfloat) * (-1.389 + SUM(cfloat))),
       MAX(ctinyint),
       (-((SUM(cfloat) * (-1.389 + SUM(cfloat))))),
       MAX(cint),
       (MAX(cint) * 79.553),
       VAR_SAMP(cdouble),
       (10.175 % (-((SUM(cfloat) * (-1.389 + SUM(cfloat)))))),
       COUNT(cint),
       (-563 % MAX(cint))
FROM   alltypesorc
WHERE  (((cdouble > ctinyint)
         AND (cboolean2 > 0))
        OR ((cbigint < ctinyint)
            OR ((cint > cbigint)
                OR (cboolean1 < 0))))
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
1074.8302575472321	-40.899172661614614	-21997.674998402596	-21999.063998402595	4.839282601059194E8	62	-4.839282601059194E8	1073680599	85414512692.247	7.569848642620917E10	10.175	3745	-563
