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

yiguolei pushed a commit to branch vector-index-dev
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 5188856bb5fc320e2523e807ed5af93fba82084f
Author: morrySnow <zhangwen...@selectdb.com>
AuthorDate: Wed Apr 30 16:40:44 2025 +0800

    [fix](vector) should retain all virtual columns (#50571)
---
 .../nereids/glue/translator/PhysicalPlanTranslator.java  | 16 +---------------
 1 file changed, 1 insertion(+), 15 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 3b4ffc2f7d2..9bfdf4830e6 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
@@ -2704,11 +2704,7 @@ public class PhysicalPlanTranslator extends 
DefaultPlanVisitor<PlanFragment, Pla
                     .map(s -> (SlotRef) s)
                     .map(SlotRef::getSlotId)
                     .collect(Collectors.toSet());
-            for (SlotDescriptor slot : scanNode.getTupleDesc().getSlots()) {
-                if (virtualColumnInputSlotIds.contains(slot.getId()) && 
slot.getColumn() != null) {
-                    requiredWithVirtualColumns.add(slot.getId());
-                }
-            }
+            requiredWithVirtualColumns.addAll(virtualColumnInputSlotIds);
         }
         // TODO: use smallest slot if do not need any slot in upper node
         SlotDescriptor smallest = scanNode.getTupleDesc().getSlots().get(0);
@@ -2747,16 +2743,6 @@ public class PhysicalPlanTranslator extends 
DefaultPlanVisitor<PlanFragment, Pla
         return tupleDescriptor;
     }
 
-    private TupleDescriptor generateTupleDescWithVirtualColumns(List<Slot> 
slotList, List<Expression> virtualColumns,
-            TableIf table, PlanTranslatorContext context) {
-        TupleDescriptor tupleDescriptor = context.generateTupleDesc();
-        tupleDescriptor.setTable(table);
-        for (Slot slot : slotList) {
-            context.createSlotDesc(tupleDescriptor, (SlotReference) slot, 
table);
-        }
-        return tupleDescriptor;
-    }
-
     private PlanFragment connectJoinNode(HashJoinNode hashJoinNode, 
PlanFragment leftFragment,
             PlanFragment rightFragment, PlanTranslatorContext context, 
AbstractPlan join) {
         hashJoinNode.setChild(0, leftFragment.getPlanRoot());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to