PREHOOK: query: CREATE EXTERNAL TABLE hbase_pushdown(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string")
TBLPROPERTIES ("external.table.purge" = "true")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@hbase_pushdown
POSTHOOK: query: CREATE EXTERNAL TABLE hbase_pushdown(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:string")
TBLPROPERTIES ("external.table.purge" = "true")
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@hbase_pushdown
PREHOOK: query: INSERT OVERWRITE TABLE hbase_pushdown 
SELECT *
FROM src
PREHOOK: type: QUERY
PREHOOK: Input: default@src
PREHOOK: Output: default@hbase_pushdown
POSTHOOK: query: INSERT OVERWRITE TABLE hbase_pushdown 
SELECT *
FROM src
POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@hbase_pushdown
PREHOOK: query: explain select * from hbase_pushdown where key=90
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown where key=90
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
STAGE DEPENDENCIES:
  Stage-0 is a root stage

STAGE PLANS:
  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        TableScan
          alias: hbase_pushdown
          filterExpr: (key = 90) (type: boolean)
          Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
          Select Operator
            expressions: 90 (type: int), value (type: string)
            outputColumnNames: _col0, _col1
            Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
            ListSink

PREHOOK: query: select * from hbase_pushdown where key=90
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_pushdown where key=90
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
90	val_90
PREHOOK: query: explain select * from hbase_pushdown where key=90 and value like '%90%'
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown where key=90 and value like '%90%'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
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: hbase_pushdown
            filterExpr: (key = 90) (type: boolean)
            Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: (value like '%90%') (type: boolean)
              Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: 90 (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                File Output Operator
                  compressed: false
                  Statistics: Num rows: 1 Data size: 184 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
      Execution mode: vectorized

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

PREHOOK: query: select * from hbase_pushdown where key=90 and value like '%90%'
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_pushdown where key=90 and value like '%90%'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
90	val_90
PREHOOK: query: explain select * from hbase_pushdown where key=90 and value like '%90%'
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown where key=90 and value like '%90%'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
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: hbase_pushdown
            filterExpr: (key = 90) (type: boolean)
            Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: (value like '%90%') (type: boolean)
              Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: 90 (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                File Output Operator
                  compressed: false
                  Statistics: Num rows: 1 Data size: 184 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
      Execution mode: vectorized

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

PREHOOK: query: select * from hbase_pushdown where key=90 and value like '%90%'
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_pushdown where key=90 and value like '%90%'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
90	val_90
PREHOOK: query: explain select * from hbase_pushdown
where key=90 and value like '%90%' and key=cast(value as int)
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown
where key=90 and value like '%90%' and key=cast(value as int)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
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: hbase_pushdown
            filterExpr: (key = 90) (type: boolean)
            Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: ((value like '%90%') and (key = UDFToInteger(value))) (type: boolean)
              Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: 90 (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                File Output Operator
                  compressed: false
                  Statistics: Num rows: 1 Data size: 188 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
      Execution mode: vectorized

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

PREHOOK: query: explain select * from hbase_pushdown
where key=80 and key=90 and value like '%90%'
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown
where key=80 and key=90 and value like '%90%'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
STAGE DEPENDENCIES:
  Stage-0 is a root stage

STAGE PLANS:
  Stage: Stage-0
    Fetch Operator
      limit: 0
      Processor Tree:
        ListSink

PREHOOK: query: select * from hbase_pushdown
where key=80 and key=90 and value like '%90%'
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: select * from hbase_pushdown
where key=80 and key=90 and value like '%90%'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
PREHOOK: query: explain select * from hbase_pushdown
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
STAGE DEPENDENCIES:
  Stage-0 is a root stage

STAGE PLANS:
  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        TableScan
          alias: hbase_pushdown
          Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
          Select Operator
            expressions: key (type: int), value (type: string)
            outputColumnNames: _col0, _col1
            Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
            ListSink

PREHOOK: query: explain select * from hbase_pushdown
where (case when key=90 then 2 else 4 end) > 3
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown
where (case when key=90 then 2 else 4 end) > 3
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
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: hbase_pushdown
            Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: (key = 90) is not true (type: boolean)
              Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: key (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                File Output Operator
                  compressed: false
                  Statistics: Num rows: 1 Data size: 188 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
      Execution mode: vectorized

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

PREHOOK: query: explain select * from hbase_pushdown
where key=80 or value like '%90%'
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown
where key=80 or value like '%90%'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
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: hbase_pushdown
            Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: ((key = 80) or (value like '%90%')) (type: boolean)
              Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: key (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                File Output Operator
                  compressed: false
                  Statistics: Num rows: 1 Data size: 188 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
      Execution mode: vectorized

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

PREHOOK: query: explain select * from hbase_pushdown where key=90
PREHOOK: type: QUERY
PREHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
POSTHOOK: query: explain select * from hbase_pushdown where key=90
POSTHOOK: type: QUERY
POSTHOOK: Input: default@hbase_pushdown
#### A masked pattern was here ####
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: hbase_pushdown
            Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: (key = 90) (type: boolean)
              Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                expressions: 90 (type: int), value (type: string)
                outputColumnNames: _col0, _col1
                Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                File Output Operator
                  compressed: false
                  Statistics: Num rows: 1 Data size: 188 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
      Execution mode: vectorized

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

