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