Class PruneUnreferencedOutputs
- java.lang.Object
-
- io.trino.sql.planner.optimizations.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 planE.g.,
Output[$0] -> Project[$0 := $1 + $2, $3 = $4 / $5] -> ...gets rewritten as
Output[$0] -> Project[$0 := $1 + $2] -> ...
-
-
Constructor Summary
Constructors Constructor Description PruneUnreferencedOutputs(Metadata metadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PlanNodeoptimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector)
-
-
-
Constructor Detail
-
PruneUnreferencedOutputs
public PruneUnreferencedOutputs(Metadata metadata)
-
-
Method Detail
-
optimize
public PlanNode optimize(PlanNode plan, Session session, TypeProvider types, SymbolAllocator symbolAllocator, PlanNodeIdAllocator idAllocator, WarningCollector warningCollector)
- Specified by:
optimizein interfacePlanOptimizer
-
-