Class PushDownDereferencesThroughAssignUniqueId

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

public class PushDownDereferencesThroughAssignUniqueId extends Object implements Rule<ProjectNode>
Transforms:
  Project(C := f1(A.x), D := f2(B))
      AssignUniqueId
          Source(A, B)
  
to:
  Project(C := f1(symbol), D := f2(B))
      AssignUniqueId
          Project(A, B, symbol := A.x)
              Source(A, B)