This is an automated email from the ASF dual-hosted git repository.

morrysnow pushed a commit to branch runtimefilter_multi_send
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/runtimefilter_multi_send by 
this push:
     new 5d3228a10e [fix](Nereids) use cte producer consumer map to generate 
new slot in translator
5d3228a10e is described below

commit 5d3228a10e9d0827b7f0b0206714b03daabd397f
Author: morrySnow <[email protected]>
AuthorDate: Sun Jul 2 01:27:42 2023 +0800

    [fix](Nereids) use cte producer consumer map to generate new slot in 
translator
---
 .../doris/nereids/glue/translator/PhysicalPlanTranslator.java      | 7 +++----
 .../org/apache/doris/nereids/properties/PhysicalProperties.java    | 1 -
 2 files changed, 3 insertions(+), 5 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 5c4863a5b5..650bcc43a9 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
@@ -774,7 +774,7 @@ public class PhysicalPlanTranslator extends 
DefaultPlanVisitor<PlanFragment, Pla
         MultiCastDataSink multiCastDataSink = (MultiCastDataSink) 
multiCastFragment.getSink();
         Preconditions.checkState(multiCastDataSink != null, "invalid 
multiCastDataSink");
 
-        PhysicalCTEProducer cteProducer = 
context.getCteProduceMap().get(cteId);
+        PhysicalCTEProducer<?> cteProducer = 
context.getCteProduceMap().get(cteId);
         Preconditions.checkState(cteProducer != null, "invalid cteProducer");
 
         // set datasink to multicast data sink but do not set target now
@@ -785,9 +785,8 @@ public class PhysicalPlanTranslator extends 
DefaultPlanVisitor<PlanFragment, Pla
         multiCastDataSink.getDestinations().add(Lists.newArrayList());
 
         // update expr to slot mapping
-        for (int i = 0; i < cteConsumer.getOutput().size(); i++) {
-            Slot producerSlot = cteProducer.getOutput().get(i);
-            Slot consumerSlot = cteConsumer.getOutput().get(i);
+        for (Slot producerSlot : cteProducer.getProjects()) {
+            Slot consumerSlot = 
cteConsumer.getProducerToConsumerSlotMap().get(producerSlot);
             SlotRef slotRef = context.findSlotRef(producerSlot.getExprId());
             context.addExprIdSlotRefPair(consumerSlot.getExprId(), slotRef);
         }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/PhysicalProperties.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/PhysicalProperties.java
index 9596043f67..e3b5151af7 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/PhysicalProperties.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/PhysicalProperties.java
@@ -46,7 +46,6 @@ public class PhysicalProperties {
 
     public static PhysicalProperties MUST_SHUFFLE = new 
PhysicalProperties(DistributionSpecMustShuffle.INSTANCE);
 
-
     private final OrderSpec orderSpec;
 
     private final DistributionSpec distributionSpec;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to