Class ReplaceLimitByExpressionWithEval
java.lang.Object
org.elasticsearch.xpack.esql.rule.Rule<LimitBy,LogicalPlan>
org.elasticsearch.xpack.esql.optimizer.rules.logical.OptimizerRules.OptimizerRule<LimitBy>
org.elasticsearch.xpack.esql.optimizer.rules.logical.ReplaceLimitByExpressionWithEval
Extract non-attribute
LimitBy grouping expressions into a synthetic Eval.
For example, LIMIT N BY languages * 2 becomes
EVAL $$limit_by_0 = languages * 2 | LIMIT N BY $$limit_by_0.
PushDownEval in the operators batch takes care of pushing the Eval below any
OrderBy if present.
Foldable groupings are pruned separately by PruneLiteralsInLimitBy in the operators batch.
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.elasticsearch.xpack.esql.optimizer.rules.logical.OptimizerRules.OptimizerRule
apply
-
Constructor Details
-
ReplaceLimitByExpressionWithEval
public ReplaceLimitByExpressionWithEval()
-
-
Method Details
-
rule
- Specified by:
rulein classOptimizerRules.OptimizerRule<LimitBy>
-