Package com.apple.foundationdb.record.query.plan.temp.rules
A package containing the rules used by the planner.
-
Class Summary Class Description AdjustMatchRule A rule that attempts to improve an existingPartialMatch
by absorbing an expression on the candidate side.CombineFilterRule A simple rule that combines two nested filter plans and combines them into a single filter plan with a conjunction of the two filters.DataAccessRule A rule that utilizes index matching information compiled byCascadesPlanner
to create a logical expression for data access.FlattenNestedAndPredicateRule A simple rule that performs some basic Boolean normalization by flattening a nestedAndPredicate
into a single, wider AND.FullUnorderedExpressionToScanPlanRule A rule for implementing aFullUnorderedScanExpression
as aRecordQueryScanPlan
of the full primary key space.ImplementDistinctRule A rule that implements a distinct expression by adding aRecordQueryUnorderedPrimaryKeyDistinctPlan
if necessary.ImplementDistinctUnionRule A rule that implements a distinct union of its (already implemented) children.ImplementFilterRule A rule that implements a logical filter around aRecordQueryPlan
as aRecordQueryFilterPlan
.ImplementIndexScanRule A rule that converts a logical index scan expression to aRecordQueryIndexPlan
.ImplementIntersectionRule A rule that implements an intersection of its (already implemented) children.ImplementPhysicalScanRule A rule that converts a logical index scan expression to aRecordQueryScanPlan
.ImplementTypeFilterRule A rule that implements a logical type filter on an (already implemented)RecordQueryPlan
as aRecordQueryTypeFilterPlan
.ImplementUnorderedUnionRule A rule that implements an unordered union of its (already implemented) children.MatchIntermediateRule Expression-based transformation rule that matches any non-leaf expression (called an intermediate expression) to a candidate expression in aMatchCandidate
.MatchIntermediateRule.PartialMatchWithQuantifier Partial match with a quantifier pulled up along with the partial match during matching.MatchLeafRule Expression-based transformation rule that matches any leaf expression.OrToUnorderedUnionRule Convert a filter on an or expression into a plan on the union.PushDistinctFilterBelowFilterRule A rule that moves aRecordQueryUnorderedPrimaryKeyDistinctPlan
below aRecordQueryFilterPlan
.PushTypeFilterBelowFilterRule A rule that moves aRecordQueryTypeFilterPlan
below aRecordQueryFilterPlan
.RemoveRedundantTypeFilterRule A rule that eliminates logical type filters that are completely redundant; that is, when the child of the logical type filter is guaranteed to return records of types included in the filter.RemoveSortRule A rule that implements a sort expression by removing this expression if appropriate.