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
-
Method Summary
Modifier and TypeMethodDescriptionstatic Prel
adjustSchema
(Prel prel) void
visitLateral
(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:
visitPrel
in interfacePrelVisitor<Prel,
Void, RuntimeException> - Overrides:
visitPrel
in classBasePrelVisitor<Prel,
Void, RuntimeException> - Throws:
RuntimeException
-
unRegister
public void unRegister() -
visitJoin
- Specified by:
visitJoin
in interfacePrelVisitor<Prel,
Void, RuntimeException> - Overrides:
visitJoin
in classBasePrelVisitor<Prel,
Void, RuntimeException> - Throws:
RuntimeException
-
visitLateral
- Specified by:
visitLateral
in interfacePrelVisitor<Prel,
Void, RuntimeException> - Overrides:
visitLateral
in classBasePrelVisitor<Prel,
Void, RuntimeException> - Throws:
RuntimeException
-
visitUnnest
- Specified by:
visitUnnest
in interfacePrelVisitor<Prel,
Void, RuntimeException> - Overrides:
visitUnnest
in classBasePrelVisitor<Prel,
Void, RuntimeException> - Throws:
RuntimeException
-