Class LateralUnnestRowIDVisitor
java.lang.Object
org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor<Prel,Boolean,RuntimeException>
org.apache.drill.exec.planner.physical.visitor.LateralUnnestRowIDVisitor
- All Implemented Interfaces:
PrelVisitor<Prel,
Boolean, RuntimeException>
LateralUnnestRowIDVisitor traverses the physical plan and modifies all the operators in the
pipeline of Lateral and Unnest operators to accommodate IMPLICIT_COLUMN. The source for the
IMPLICIT_COLUMN is unnest operator and the sink for the column is the corresponding Lateral
join operator.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Visitor for RelNodes which applies specifiedRexShuttle
visitor for every node in the tree. -
Field Summary
Fields inherited from interface org.apache.drill.exec.planner.physical.visitor.PrelVisitor
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Prel
insertRowID
(Prel prel) visitLateral
(LateralJoinPrel prel, Boolean isRightOfLateral) visitUnnest
(UnnestPrel prel, Boolean isRightOfLateral) Methods inherited from class org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor
visitExchange, visitJoin, visitLeaf, visitProject, visitScan, visitScan, visitScreen, visitTableModify, visitWriter
-
Constructor Details
-
LateralUnnestRowIDVisitor
public LateralUnnestRowIDVisitor()
-
-
Method Details
-
insertRowID
-
visitPrel
- Specified by:
visitPrel
in interfacePrelVisitor<Prel,
Boolean, RuntimeException> - Overrides:
visitPrel
in classBasePrelVisitor<Prel,
Boolean, RuntimeException> - Throws:
RuntimeException
-
visitLateral
- Specified by:
visitLateral
in interfacePrelVisitor<Prel,
Boolean, RuntimeException> - Overrides:
visitLateral
in classBasePrelVisitor<Prel,
Boolean, RuntimeException> - Throws:
RuntimeException
-
visitUnnest
- Specified by:
visitUnnest
in interfacePrelVisitor<Prel,
Boolean, RuntimeException> - Overrides:
visitUnnest
in classBasePrelVisitor<Prel,
Boolean, RuntimeException> - Throws:
RuntimeException
-