[fix](Nereids) order by with cte cannot bind (#25794)
This commit is contained in:
@ -55,7 +55,7 @@ import org.apache.doris.nereids.trees.plans.Plan;
|
||||
import org.apache.doris.nereids.trees.plans.algebra.Aggregate;
|
||||
import org.apache.doris.nereids.trees.plans.algebra.SetOperation.Qualifier;
|
||||
import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate;
|
||||
import org.apache.doris.nereids.trees.plans.logical.LogicalCTE;
|
||||
import org.apache.doris.nereids.trees.plans.logical.LogicalCTEAnchor;
|
||||
import org.apache.doris.nereids.trees.plans.logical.LogicalCTEConsumer;
|
||||
import org.apache.doris.nereids.trees.plans.logical.LogicalExcept;
|
||||
import org.apache.doris.nereids.trees.plans.logical.LogicalFilter;
|
||||
@ -409,17 +409,19 @@ public class BindExpression implements AnalysisRuleFactory {
|
||||
LogicalProject<Plan> project = sort.child();
|
||||
return bindSort(sort, project, ctx.cascadesContext);
|
||||
})
|
||||
), RuleType.BINDING_SORT_SLOT.build(
|
||||
),
|
||||
RuleType.BINDING_SORT_SLOT.build(
|
||||
logicalSort(logicalCTEConsumer()).thenApply(ctx -> {
|
||||
LogicalSort<LogicalCTEConsumer> sort = ctx.root;
|
||||
LogicalCTEConsumer cteConsumer = sort.child();
|
||||
return bindSort(sort, cteConsumer, ctx.cascadesContext);
|
||||
})
|
||||
), RuleType.BINDING_SORT_SLOT.build(
|
||||
logicalSort(logicalCTE()).thenApply(ctx -> {
|
||||
LogicalSort<LogicalCTE<Plan>> sort = ctx.root;
|
||||
LogicalCTE<Plan> cteConsumer = sort.child();
|
||||
return bindSort(sort, cteConsumer, ctx.cascadesContext);
|
||||
),
|
||||
RuleType.BINDING_SORT_SLOT.build(
|
||||
logicalSort(logicalCTEAnchor()).thenApply(ctx -> {
|
||||
LogicalSort<LogicalCTEAnchor<Plan, Plan>> sort = ctx.root;
|
||||
LogicalCTEAnchor<Plan, Plan> cteAnchor = sort.child();
|
||||
return bindSort(sort, cteAnchor, ctx.cascadesContext);
|
||||
})
|
||||
),
|
||||
RuleType.BINDING_SORT_SET_OPERATION_SLOT.build(
|
||||
|
||||
Reference in New Issue
Block a user