Class AdjustOperatorsSchemaVisitor
java.lang.Object
org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor<Prel,Void,RuntimeException>
org.apache.drill.exec.planner.physical.visitor.AdjustOperatorsSchemaVisitor
- All Implemented Interfaces:
PrelVisitor<Prel,Void, RuntimeException>
AdjustOperatorsSchemaVisitor visits corresponding operators' which depending upon their functionality
adjusts their output row types. The adjusting mechanism is unique to each operator. In case of joins this visitor
adjusts the field names to make sure that upstream operator only sees that there are unique field names even though
the children of the join has same field names. Whereas in case of lateral/unnest operators it changes the correlated
field and also the unnest operator's output row type.
-
Field Summary
Fields inherited from interface org.apache.drill.exec.planner.physical.visitor.PrelVisitor
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic PreladjustSchema(Prel prel) voidvisitLateral(LateralJoinPrel prel, Void value) visitUnnest(UnnestPrel prel, Void value) Methods inherited from class org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor
visitExchange, visitLeaf, visitProject, visitScan, visitScan, visitScreen, visitTableModify, visitWriter
-
Constructor Details
-
AdjustOperatorsSchemaVisitor
public AdjustOperatorsSchemaVisitor()
-
-
Method Details
-
adjustSchema
-
visitPrel
- Specified by:
visitPrelin interfacePrelVisitor<Prel,Void, RuntimeException> - Overrides:
visitPrelin classBasePrelVisitor<Prel,Void, RuntimeException> - Throws:
RuntimeException
-
unRegister
public void unRegister() -
visitJoin
- Specified by:
visitJoinin interfacePrelVisitor<Prel,Void, RuntimeException> - Overrides:
visitJoinin classBasePrelVisitor<Prel,Void, RuntimeException> - Throws:
RuntimeException
-
visitLateral
- Specified by:
visitLateralin interfacePrelVisitor<Prel,Void, RuntimeException> - Overrides:
visitLateralin classBasePrelVisitor<Prel,Void, RuntimeException> - Throws:
RuntimeException
-
visitUnnest
- Specified by:
visitUnnestin interfacePrelVisitor<Prel,Void, RuntimeException> - Overrides:
visitUnnestin classBasePrelVisitor<Prel,Void, RuntimeException> - Throws:
RuntimeException
-