Skip to content

[multistage] IS NULL/ IS NOT NULL getting skipped from the queries using multistage #11691

@abhioncbr

Description

@abhioncbr

Explain query results for the case/when transformation function based on NULL value comparison shows skipping of the transformation function. For example

EXPLAIN PLAN FOR SELECT CASE WHEN ArrTimeBlk IS NOT NULL THEN 'null11' ELSE ArrTimeBlk END AS val FROM airlineStats 

Execution Plan
LogicalProject(val=['null11':VARCHAR])
  LogicalTableScan(table=[[airlineStats]])

another example

EXPLAIN PLAN FOR SELECT CASE WHEN ArrTimeBlk IS NULL THEN 'null11' ELSE ArrTimeBlk END AS val FROM airlineStats 

Execution Plan
LogicalProject(val=[$10])
  LogicalTableScan(table=[[airlineStats]])

Where clause based query

EXPLAIN PLAN FOR SELECT ArrTimeBlk FROM airlineStats where ArrTimeBlk is not null
Execution Plan
LogicalProject(ArrTimeBlk=[$10])
  LogicalTableScan(table=[[airlineStats]])

EXPLAIN PLAN FOR SELECT ArrTimeBlk FROM airlineStats where ArrTimeBlk is null
Execution Plan
LogicalValues(tuples=[[]])

Using docker pinot:1.0.0 release image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugmulti-stageRelated to the multi-stage query engine

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions