Class ScanFieldDeterminer
java.lang.Object
org.apache.drill.common.logical.data.visitors.AbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList,RuntimeException>
org.apache.drill.exec.planner.logical.ScanFieldDeterminer
- All Implemented Interfaces:
LogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
public class ScanFieldDeterminer
extends AbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList,RuntimeException>
This visitor will walk a logical plan and record in a map the list of field references associated to each scan. These
can then be used to update scan object to appear to be explicitly fielded for optimization purposes.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface org.apache.drill.common.logical.data.visitors.LogicalVisitor
logger -
Method Summary
Modifier and TypeMethodDescriptionstatic Map<Scan, ScanFieldDeterminer.FieldList> getFieldLists(LogicalPlan plan) visitExcept(Except except, ScanFieldDeterminer.FieldList value) visitFilter(Filter filter, ScanFieldDeterminer.FieldList value) visitGroupingAggregate(GroupingAggregate groupBy, ScanFieldDeterminer.FieldList value) visitIntersect(Intersect intersect, ScanFieldDeterminer.FieldList value) visitJoin(Join join, ScanFieldDeterminer.FieldList fl) visitLimit(Limit limit, ScanFieldDeterminer.FieldList value) visitOrder(Order order, ScanFieldDeterminer.FieldList fl) visitProject(Project project, ScanFieldDeterminer.FieldList value) visitScan(Scan scan, ScanFieldDeterminer.FieldList value) visitStore(Store store, ScanFieldDeterminer.FieldList value) visitUnion(Union union, ScanFieldDeterminer.FieldList value) visitValues(Values constant, ScanFieldDeterminer.FieldList value) Methods inherited from class org.apache.drill.common.logical.data.visitors.AbstractLogicalVisitor
visitAnalyze, visitFlatten, visitLateralJoin, visitOp, visitRunningAggregate, visitTransform, visitUnnest, visitWindow, visitWriter
-
Method Details
-
getFieldLists
-
visitScan
- Specified by:
visitScanin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitScanin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitStore
- Specified by:
visitStorein interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitStorein classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitGroupingAggregate
- Specified by:
visitGroupingAggregatein interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitGroupingAggregatein classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitFilter
- Specified by:
visitFilterin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitFilterin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitProject
- Specified by:
visitProjectin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitProjectin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitValues
- Specified by:
visitValuesin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitValuesin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitOrder
- Specified by:
visitOrderin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitOrderin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitJoin
- Specified by:
visitJoinin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitJoinin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitLimit
- Specified by:
visitLimitin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitLimitin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitUnion
- Specified by:
visitUnionin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitUnionin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitExcept
- Specified by:
visitExceptin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitExceptin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-
visitIntersect
- Specified by:
visitIntersectin interfaceLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException> - Overrides:
visitIntersectin classAbstractLogicalVisitor<Void,ScanFieldDeterminer.FieldList, RuntimeException>
-