Class PruneUnreferencedOutputs

  • All Implemented Interfaces:
    PlanOptimizer

    public class PruneUnreferencedOutputs
    extends Object
    implements PlanOptimizer
    Removes all computation that does is not referenced transitively from the root of the plan

    E.g.,

    Output[$0] -> Project[$0 := $1 + $2, $3 = $4 / $5] -> ...

    gets rewritten as

    Output[$0] -> Project[$0 := $1 + $2] -> ...