Class RemoveEmptyTableExecute

java.lang.Object
io.trino.sql.planner.iterative.rule.RemoveEmptyTableExecute
All Implemented Interfaces:
Rule<TableFinishNode>

public class RemoveEmptyTableExecute extends Object implements Rule<TableFinishNode>
If the predicate for a table execute is optimized to false, the target table scan of table execute will be replaced with an empty values node. This type of plan cannot be executed and is meaningless anyway, so we replace the entire thing with a values node.

Transforms

  - TableFinish
    - (optional) Exchange
      - TableExecute
        - (optional) Exchange
          - empty Values
 
into
  - Values (null)