Skip to content

Commit

Permalink
fix 4
Browse files Browse the repository at this point in the history
  • Loading branch information
BePPPower committed Jul 18, 2024
1 parent de8970e commit e537ca8
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1990,6 +1990,7 @@ public PlanFragment visitPhysicalProject(PhysicalProject<? extends Plan> project
}
requiredSlotIdSet.add(lastSlot.getId());
}
((OlapScanNode) inputPlanNode).updateRequiredSlots(context, requiredByProjectSlotIdSet);
}
updateScanSlotsMaterialization((ScanNode) inputPlanNode, requiredSlotIdSet,
requiredByProjectSlotIdSet, slotIdsByOrder, context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.apache.doris.analysis.PartitionNames;
import org.apache.doris.analysis.PrepareStmt;
import org.apache.doris.analysis.SlotDescriptor;
import org.apache.doris.analysis.SlotId;
import org.apache.doris.analysis.SlotRef;
import org.apache.doris.analysis.SortInfo;
import org.apache.doris.analysis.TableSample;
Expand Down Expand Up @@ -63,6 +64,7 @@
import org.apache.doris.common.UserException;
import org.apache.doris.common.util.DebugUtil;
import org.apache.doris.common.util.Util;
import org.apache.doris.nereids.glue.translator.PlanTranslatorContext;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.resource.Tag;
import org.apache.doris.statistics.StatisticalType;
Expand Down Expand Up @@ -1736,14 +1738,6 @@ public void finalizeForNereids() {
computeStatsForNereids();
// NOTICE: must call here to get selected tablet row count to let block rules work well.
mockRowCountInStatistic();

outputColumnUniqueIds.clear();
for (SlotDescriptor slot : desc.getSlots()) {
if (!slot.isMaterialized()) {
continue;
}
outputColumnUniqueIds.add(slot.getColumn().getUniqueId());
}
}

private void computeStatsForNereids() {
Expand All @@ -1756,6 +1750,16 @@ private void computeStatsForNereids() {
cardinality = cardinality == -1 ? 0 : cardinality;
}

public void updateRequiredSlots(PlanTranslatorContext context,
Set<SlotId> requiredByProjectSlotIdSet) {
outputColumnUniqueIds.clear();
for (SlotDescriptor slot : context.getTupleDesc(this.getTupleId()).getSlots()) {
if (requiredByProjectSlotIdSet.contains(slot.getId()) && slot.getColumn() != null) {
outputColumnUniqueIds.add(slot.getColumn().getUniqueId());
}
}
}

Set<String> getDistributionColumnNames() {
return olapTable != null
? olapTable.getDistributionColumnNames()
Expand Down

0 comments on commit e537ca8

Please sign in to comment.