[fix](planner) Slots in the cojuncts of table function node didn't got materialized #17460
This commit is contained in:
@ -57,6 +57,7 @@ import org.apache.commons.collections.CollectionUtils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ -628,6 +629,16 @@ public abstract class PlanNode extends TreeNode<PlanNode> implements PlanStats {
|
||||
if (!analyzer.safeIsEnableJoinReorderBasedCost()) {
|
||||
computeOldCardinality();
|
||||
}
|
||||
for (Expr expr : conjuncts) {
|
||||
Set<SlotRef> slotRefs = new HashSet<>();
|
||||
expr.getSlotRefsBoundByTupleIds(tupleIds, slotRefs);
|
||||
for (SlotRef slotRef : slotRefs) {
|
||||
slotRef.getDesc().setIsMaterialized(true);
|
||||
}
|
||||
for (TupleId tupleId : tupleIds) {
|
||||
analyzer.getTupleDesc(tupleId).computeMemLayout();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void computeNumNodes() {
|
||||
|
||||
Reference in New Issue
Block a user