Class FlattenNestedAndPredicateRule
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.temp.PlannerRule<LogicalFilterExpression>
-
- com.apple.foundationdb.record.query.plan.temp.rules.FlattenNestedAndPredicateRule
-
@API(EXPERIMENTAL) public class FlattenNestedAndPredicateRule extends PlannerRule<LogicalFilterExpression>
A simple rule that performs some basic Boolean normalization by flattening a nestedAndPredicate
into a single, wider AND. This rule only attempts to remove a singleAndComponent
; it may be repeated if necessary. For example, it would transform:Query.and( Query.and(Query.field("a").equals("foo"), Query.field("b").equals("bar")), Query.field(c").equals("baz"), Query.and(Query.field("d").equals("food"), Query.field("e").equals("bare"))
toQuery.and( Query.field("a").equals("foo"), Query.field("b").equals("bar"), Query.field("c").equals("baz")), Query.and(Query.field("d").equals("food"), Query.field("e").equals("bare"))
-
-
Constructor Summary
Constructors Constructor Description FlattenNestedAndPredicateRule()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
onMatch(PlannerRuleCall call)
-
Methods inherited from class com.apple.foundationdb.record.query.plan.temp.PlannerRule
getMatcher, getRootOperator, toString
-
-
-
-
Method Detail
-
onMatch
public void onMatch(@Nonnull PlannerRuleCall call)
- Specified by:
onMatch
in classPlannerRule<LogicalFilterExpression>
-
-