Class 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)