Class UnaliasSymbolReferences

java.lang.Object
io.trino.sql.planner.optimizations.UnaliasSymbolReferences
All Implemented Interfaces:
PlanOptimizer

public class UnaliasSymbolReferences extends Object implements PlanOptimizer
Re-maps symbol references that are just aliases of each other (e.g., due to projections like $0 := $1)

E.g.,

Output[$0, $1] -> Project[$0 := $2, $1 := $3 * 100] -> Aggregate[$2, $3 := sum($4)] -> ...

gets rewritten as

Output[$2, $1] -> Project[$2, $1 := $3 * 100] -> Aggregate[$2, $3 := sum($4)] -> ...