Package io.substrait.relation
Class RelCopyOnWriteVisitor<E extends Exception>
java.lang.Object
io.substrait.relation.RelCopyOnWriteVisitor<E>
- All Implemented Interfaces:
RelVisitor<Optional<Rel>,EmptyVisitationContext, E>
public class RelCopyOnWriteVisitor<E extends Exception>
extends Object
implements RelVisitor<Optional<Rel>,EmptyVisitationContext,E>
Class used to visit all child relations from a root relation and optionally replace subtrees by
overriding a visitor method. The traversal will include relations inside of subquery expressions.
By default, no subtree substitution will be performed. However, if a visit method is overridden
to return a non-empty optional value, then that value will replace the relation in the tree.
-
Constructor Summary
ConstructorsConstructorDescriptionRelCopyOnWriteVisitor(ExpressionCopyOnWriteVisitor<E> expressionCopyOnWriteVisitor) -
Method Summary
Modifier and TypeMethodDescriptionprotected ExpressionCopyOnWriteVisitor<E>visit(Aggregate aggregate, EmptyVisitationContext context) visit(ConsistentPartitionWindow consistentPartitionWindow, EmptyVisitationContext context) visit(Cross cross, EmptyVisitationContext context) visit(EmptyScan emptyScan, EmptyVisitationContext context) visit(Expand expand, EmptyVisitationContext context) visit(ExtensionDdl ddl, EmptyVisitationContext context) visit(ExtensionLeaf extensionLeaf, EmptyVisitationContext context) visit(ExtensionMulti extensionMulti, EmptyVisitationContext context) visit(ExtensionSingle extensionSingle, EmptyVisitationContext context) visit(ExtensionTable extensionTable, EmptyVisitationContext context) visit(ExtensionWrite write, EmptyVisitationContext context) visit(Fetch fetch, EmptyVisitationContext context) visit(Filter filter, EmptyVisitationContext context) visit(Join join, EmptyVisitationContext context) visit(LocalFiles localFiles, EmptyVisitationContext context) visit(NamedDdl ddl, EmptyVisitationContext context) visit(NamedScan namedScan, EmptyVisitationContext context) visit(NamedUpdate update, EmptyVisitationContext context) visit(NamedWrite write, EmptyVisitationContext context) visit(HashJoin hashJoin, EmptyVisitationContext context) visit(MergeJoin mergeJoin, EmptyVisitationContext context) visit(NestedLoopJoin nestedLoopJoin, EmptyVisitationContext context) visit(Project project, EmptyVisitationContext context) visit(Set set, EmptyVisitationContext context) visit(Sort sort, EmptyVisitationContext context) visit(VirtualTableScan virtualTableScan, EmptyVisitationContext context) protected Optional<AggregateFunctionInvocation>protected Optional<List<Expression>>visitExprList(List<Expression> exprs, EmptyVisitationContext context) visitFieldReference(FieldReference fieldReference, EmptyVisitationContext context) protected Optional<List<FunctionArg>>visitFunctionArguments(List<FunctionArg> funcArgs, EmptyVisitationContext context) protected Optional<Aggregate.Grouping>visitGrouping(Aggregate.Grouping grouping, EmptyVisitationContext context) protected Optional<Aggregate.Measure>visitMeasure(Aggregate.Measure measure, EmptyVisitationContext context) protected Optional<Expression.SortField>visitSortField(Expression.SortField sortField, EmptyVisitationContext context) protected Optional<AbstractUpdate.TransformExpression>visitTransformExpression(AbstractUpdate.TransformExpression transform, EmptyVisitationContext context) visitWindowRelFunction(ConsistentPartitionWindow.WindowRelFunctionInvocation windowRelFunctionInvocation, EmptyVisitationContext context)
-
Constructor Details
-
RelCopyOnWriteVisitor
public RelCopyOnWriteVisitor() -
RelCopyOnWriteVisitor
-
RelCopyOnWriteVisitor
-
-
Method Details
-
getExpressionCopyOnWriteVisitor
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visitGrouping
protected Optional<Aggregate.Grouping> visitGrouping(Aggregate.Grouping grouping, EmptyVisitationContext context) throws E -
visitMeasure
protected Optional<Aggregate.Measure> visitMeasure(Aggregate.Measure measure, EmptyVisitationContext context) throws E -
visitAggregateFunction
protected Optional<AggregateFunctionInvocation> visitAggregateFunction(AggregateFunctionInvocation afi, EmptyVisitationContext context) throws E -
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visitTransformExpression
protected Optional<AbstractUpdate.TransformExpression> visitTransformExpression(AbstractUpdate.TransformExpression transform, EmptyVisitationContext context) throws E -
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
public Optional<Rel> visit(VirtualTableScan virtualTableScan, EmptyVisitationContext context) throws E - Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
public Optional<Rel> visit(ExtensionSingle extensionSingle, EmptyVisitationContext context) throws E - Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
- Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visit
public Optional<Rel> visit(ConsistentPartitionWindow consistentPartitionWindow, EmptyVisitationContext context) throws E - Specified by:
visitin interfaceRelVisitor<Optional<Rel>,EmptyVisitationContext, E extends Exception> - Throws:
E extends Exception
-
visitWindowRelFunction
protected Optional<ConsistentPartitionWindow.WindowRelFunctionInvocation> visitWindowRelFunction(ConsistentPartitionWindow.WindowRelFunctionInvocation windowRelFunctionInvocation, EmptyVisitationContext context) throws E -
visitExprList
protected Optional<List<Expression>> visitExprList(List<Expression> exprs, EmptyVisitationContext context) throws E -
visitFieldReference
public Optional<FieldReference> visitFieldReference(FieldReference fieldReference, EmptyVisitationContext context) throws E -
visitFunctionArguments
protected Optional<List<FunctionArg>> visitFunctionArguments(List<FunctionArg> funcArgs, EmptyVisitationContext context) throws E -
visitSortField
protected Optional<Expression.SortField> visitSortField(Expression.SortField sortField, EmptyVisitationContext context) throws E
-