This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 82bdcb3da8 [fix](Nereids) translate partition topn order key on wrong
tuple (#22168)
82bdcb3da8 is described below
commit 82bdcb3da80e8385ac058c6c0a03e16cb4c6bdfd
Author: morrySnow <[email protected]>
AuthorDate: Mon Jul 24 20:46:27 2023 +0800
[fix](Nereids) translate partition topn order key on wrong tuple (#22168)
partition key should on child tuple, sort key should on partition top's
tuple
---
.../doris/nereids/glue/translator/PhysicalPlanTranslator.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
index d9a8aba8ce..cc7993d6dd 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java
@@ -1861,6 +1861,10 @@ public class PhysicalPlanTranslator extends
DefaultPlanVisitor<PlanFragment, Pla
private PartitionSortNode
translatePartitionSortNode(PhysicalPartitionTopN<? extends Plan> partitionTopN,
PlanNode childNode, PlanTranslatorContext context) {
+ List<Expr> partitionExprs = partitionTopN.getPartitionKeys().stream()
+ .map(e -> ExpressionTranslator.translate(e, context))
+ .collect(Collectors.toList());
+ // partition key should on child tuple, sort key should on partition
top's tuple
TupleDescriptor sortTuple =
generateTupleDesc(partitionTopN.child().getOutput(), null, context);
List<Expr> orderingExprs = Lists.newArrayList();
List<Boolean> ascOrders = Lists.newArrayList();
@@ -1871,9 +1875,6 @@ public class PhysicalPlanTranslator extends
DefaultPlanVisitor<PlanFragment, Pla
ascOrders.add(k.isAsc());
nullsFirstParams.add(k.isNullFirst());
});
- List<Expr> partitionExprs = partitionTopN.getPartitionKeys().stream()
- .map(e -> ExpressionTranslator.translate(e, context))
- .collect(Collectors.toList());
SortInfo sortInfo = new SortInfo(orderingExprs, ascOrders,
nullsFirstParams, sortTuple);
PartitionSortNode partitionSortNode = new
PartitionSortNode(context.nextPlanNodeId(), childNode,
partitionTopN.getFunction(), partitionExprs, sortInfo,
partitionTopN.hasGlobalLimit(),
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]