Class OptimizerRules.OptimizerExpressionRule<E extends Expression>
java.lang.Object
org.elasticsearch.xpack.esql.rule.Rule<LogicalPlan,LogicalPlan>
org.elasticsearch.xpack.esql.rule.ParameterizedRule<LogicalPlan,LogicalPlan,LogicalOptimizerContext>
org.elasticsearch.xpack.esql.optimizer.rules.logical.OptimizerRules.OptimizerExpressionRule<E>
- Direct Known Subclasses:
BooleanFunctionEqualsElimination,BooleanSimplification,CombineBinaryComparisons,CombineDisjunctions,ConstantFolding,FoldNull,LiteralsOnTheRight,PartiallyFoldCase,PropagateEquals,PropagateNullable,ReplaceRegexMatch,ReplaceStringCasingWithInsensitiveEquals,ReplaceStringCasingWithInsensitiveRegexMatch,SimplifyComparisonsArithmetics,SplitInWithFoldableValue,SubstituteFilteredExpression,SubstituteSurrogateExpressions
- Enclosing class:
OptimizerRules
public abstract static class OptimizerRules.OptimizerExpressionRule<E extends Expression>
extends ParameterizedRule<LogicalPlan,LogicalPlan,LogicalOptimizerContext>
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal LogicalPlanapply(LogicalPlan plan, LogicalOptimizerContext ctx) protected abstract Expressionrule(E e, LogicalOptimizerContext ctx) protected booleanshouldVisit(Node<?> node) Defines if a node should be visited or not.Methods inherited from class org.elasticsearch.xpack.esql.rule.ParameterizedRule
apply
-
Constructor Details
-
OptimizerExpressionRule
-
-
Method Details
-
apply
- Specified by:
applyin classParameterizedRule<LogicalPlan,LogicalPlan, LogicalOptimizerContext>
-
rule
-
shouldVisit
Defines if a node should be visited or not. Allows to skip nodes that are not applicable for the rule even if they contain expressions. By default that skips FROM, LIMIT, PROJECT, KEEP and DROP but this list could be extended or replaced in subclasses. -
expressionToken
-