Interface Rule<T>
-
- All Known Implementing Classes:
AddIntermediateAggregations
,CreatePartialTopN
,DetermineJoinDistributionType
,DetermineSemiJoinDistributionType
,EliminateCrossJoins
,EvaluateZeroSample
,ExtractDereferencesFromFilterAboveScan
,ExtractSpatialJoins.ExtractSpatialInnerJoin
,ExtractSpatialJoins.ExtractSpatialLeftJoin
,GatherAndMergeWindows.MergeAdjacentWindowsOverProjects
,GatherAndMergeWindows.SwapAdjacentWindowsBySpecifications
,ImplementBernoulliSampleAsFilter
,ImplementExceptAsUnion
,ImplementFilteredAggregations
,ImplementIntersectAsUnion
,ImplementLimitWithTies
,ImplementOffset
,InlineProjections
,MergeExcept
,MergeFilters
,MergeIntersect
,MergeLimitOverProjectWithSort
,MergeLimits
,MergeLimitWithDistinct
,MergeLimitWithSort
,MergeLimitWithTopN
,MergeUnion
,MultipleDistinctAggregationToMarkDistinct
,ProjectOffPushDownRule
,PruneAggregationColumns
,PruneAggregationSourceColumns
,PruneApplyColumns
,PruneApplyCorrelation
,PruneApplySourceColumns
,PruneAssignUniqueIdColumns
,PruneCorrelatedJoinColumns
,PruneCorrelatedJoinCorrelation
,PruneCountAggregationOverScalar
,PruneDeleteSourceColumns
,PruneDistinctAggregation
,PruneDistinctLimitSourceColumns
,PruneEnforceSingleRowColumns
,PruneExceptSourceColumns
,PruneExchangeColumns
,PruneExchangeSourceColumns
,PruneExplainAnalyzeSourceColumns
,PruneFilterColumns
,PruneGroupIdColumns
,PruneGroupIdSourceColumns
,PruneIndexJoinColumns
,PruneIndexSourceColumns
,PruneIntersectSourceColumns
,PruneJoinChildrenColumns
,PruneJoinColumns
,PruneLimitColumns
,PruneMarkDistinctColumns
,PruneOffsetColumns
,PruneOrderByInAggregation
,PruneOutputSourceColumns
,PruneProjectColumns
,PruneRowNumberColumns
,PruneSampleColumns
,PruneSemiJoinColumns
,PruneSemiJoinFilteringSourceColumns
,PruneSortColumns
,PruneSpatialJoinChildrenColumns
,PruneSpatialJoinColumns
,PruneTableScanColumns
,PruneTableWriterSourceColumns
,PruneTopNColumns
,PruneTopNRowNumberColumns
,PruneUnionColumns
,PruneUnionSourceColumns
,PruneUnnestColumns
,PruneUnnestSourceColumns
,PruneValuesColumns
,PruneWindowColumns
,PushAggregationIntoTableScan
,PushAggregationThroughOuterJoin
,PushDeleteIntoConnector
,PushDownDereferencesThroughAssignUniqueId
,PushDownDereferencesThroughLimit
,PushDownDereferencesThroughMarkDistinct
,PushDownDereferencesThroughRowNumber
,PushDownDereferencesThroughSort
,PushDownDereferencesThroughTopN
,PushDownDereferencesThroughTopNRowNumber
,PushDownDereferencesThroughWindow
,PushDownDereferenceThroughFilter
,PushDownDereferenceThroughJoin
,PushDownDereferenceThroughProject
,PushDownDereferenceThroughSemiJoin
,PushDownDereferenceThroughUnnest
,PushLimitIntoTableScan
,PushLimitThroughMarkDistinct
,PushLimitThroughOffset
,PushLimitThroughOuterJoin
,PushLimitThroughProject
,PushLimitThroughSemiJoin
,PushLimitThroughUnion
,PushOffsetThroughProject
,PushPartialAggregationThroughExchange
,PushPartialAggregationThroughJoin
,PushPredicateIntoTableScan
,PushPredicateThroughProjectIntoRowNumber
,PushPredicateThroughProjectIntoWindow
,PushProjectionIntoTableScan
,PushProjectionThroughExchange
,PushProjectionThroughUnion
,PushRemoteExchangeThroughAssignUniqueId
,PushSampleIntoTableScan
,PushTableWriteThroughUnion
,PushTopNIntoTableScan
,PushTopNThroughOuterJoin
,PushTopNThroughProject
,PushTopNThroughUnion
,RemoveAggregationInSemiJoin
,RemoveEmptyDelete
,RemoveFullSample
,RemoveRedundantCrossJoin
,RemoveRedundantDistinctLimit
,RemoveRedundantEnforceSingleRowNode
,RemoveRedundantExists
,RemoveRedundantIdentityProjections
,RemoveRedundantJoin
,RemoveRedundantLimit
,RemoveRedundantOffset
,RemoveRedundantSort
,RemoveRedundantTableScanPredicate
,RemoveRedundantTopN
,RemoveTrivialFilters
,RemoveUnreferencedScalarApplyNodes
,RemoveUnreferencedScalarSubqueries
,ReorderJoins
,RewriteSpatialPartitioningAggregation
,SimplifyCountOverConstant
,SingleDistinctAggregationToGroupBy
,TransformCorrelatedInPredicateToJoin
,TransformCorrelatedJoinToJoin
,TransformCorrelatedScalarSubquery
,TransformCorrelatedSingleRowSubqueryToProject
,TransformExistsApplyToCorrelatedJoin
,TransformUncorrelatedInPredicateSubqueryToSemiJoin
,TransformUncorrelatedSubqueryToJoin
public interface Rule<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
Rule.Context
static class
Rule.Result
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Rule.Result
apply(T node, Captures captures, Rule.Context context)
Pattern<T>
getPattern()
Returns a pattern to which plan nodes this rule applies.default boolean
isEnabled(Session session)
-
-
-
Method Detail
-
isEnabled
default boolean isEnabled(Session session)
-
apply
Rule.Result apply(T node, Captures captures, Rule.Context context)
-
-