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 1063e2094c4 [chore](RF) use a mock tuple descriptor to init
CTEScanNode (#62235)
1063e2094c4 is described below
commit 1063e2094c4898113f25078432035668ee3d5766
Author: morrySnow <[email protected]>
AuthorDate: Thu Apr 9 14:25:24 2026 +0800
[chore](RF) use a mock tuple descriptor to init CTEScanNode (#62235)
CTEScanNode's TupleDescriptor has no sense. So use a fake one to avoid call
unnecessary function of SlotRef.
---
.../apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java | 4 +---
fe/fe-core/src/main/java/org/apache/doris/planner/CTEScanNode.java | 5 +++--
2 files changed, 4 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 79f9ff2fd05..1a4c6e54c24 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
@@ -1439,15 +1439,13 @@ public class PhysicalPlanTranslator extends
DefaultPlanVisitor<PlanFragment, Pla
multiCastDataSink.getDestinations().add(Lists.newArrayList());
// update expr to slot mapping
- TupleDescriptor tupleDescriptor = null;
for (Slot producerSlot : cteProducer.getOutput()) {
SlotRef slotRef = context.findSlotRef(producerSlot.getExprId());
- tupleDescriptor = slotRef.getDesc().getParent();
for (Slot consumerSlot :
cteConsumer.getProducerToConsumerSlotMap().get(producerSlot)) {
context.addExprIdSlotRefPair(consumerSlot.getExprId(),
slotRef);
}
}
- CTEScanNode cteScanNode = new CTEScanNode(tupleDescriptor,
context.getScanContext());
+ CTEScanNode cteScanNode = new CTEScanNode(context.getScanContext());
translateRuntimeFilter(cteConsumer, cteScanNode, context);
context.getCteScanNodeMap().put(multiCastFragment.getFragmentId(),
cteScanNode);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/CTEScanNode.java
b/fe/fe-core/src/main/java/org/apache/doris/planner/CTEScanNode.java
index ac202cfa34c..13ac382bf16 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/CTEScanNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/CTEScanNode.java
@@ -18,6 +18,7 @@
package org.apache.doris.planner;
import org.apache.doris.analysis.TupleDescriptor;
+import org.apache.doris.analysis.TupleId;
import org.apache.doris.common.UserException;
import org.apache.doris.thrift.TPlanNode;
import org.apache.doris.thrift.TScanRangeLocations;
@@ -31,8 +32,8 @@ import java.util.List;
public class CTEScanNode extends ScanNode {
private static final PlanNodeId UNINITIAL_PLANNODEID = new PlanNodeId(-1);
- public CTEScanNode(TupleDescriptor desc, ScanContext scanContext) {
- super(UNINITIAL_PLANNODEID, desc, "CTEScanNode", scanContext);
+ public CTEScanNode(ScanContext scanContext) {
+ super(UNINITIAL_PLANNODEID, new TupleDescriptor(new TupleId(-1)),
"CTEScanNode", scanContext);
}
public void setPlanNodeId(PlanNodeId id) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]