Class ReplaceChangePointByExpressionWithEval


public final class ReplaceChangePointByExpressionWithEval extends OptimizerRules.OptimizerRule<ChangePoint>
Extract non-attribute ChangePoint grouping expressions into a synthetic Eval.

For example, CHANGE_POINT v ON k BY LENGTH(label) becomes EVAL $$change_point_by_0 = LENGTH(label) | CHANGE_POINT v ON k BY $$change_point_by_0. PushDownEval in the operators batch takes care of pushing the Eval below any OrderBy if present.

Foldable groupings are pruned separately by PruneLiteralsInChangePointBy in the operators batch.