## Proposed changes commitId: 08c9e051 pr: https://github.com/apache/doris/pull/38909
This commit is contained in:
@ -426,6 +426,10 @@ public abstract class AbstractMaterializedViewRule implements ExplorationRuleFac
|
||||
Map<BaseTableInfo, Set<Partition>> queryUsedBaseTablePartitions = new LinkedHashMap<>();
|
||||
queryUsedBaseTablePartitions.put(relatedPartitionTable, new HashSet<>());
|
||||
queryPlan.accept(new StructInfo.QueryScanPartitionsCollector(), queryUsedBaseTablePartitions);
|
||||
// Bail out, not check invalid partition if not olap scan, support later
|
||||
if (queryUsedBaseTablePartitions.isEmpty()) {
|
||||
return Pair.of(ImmutableMap.of(), ImmutableMap.of());
|
||||
}
|
||||
Set<String> queryUsedBaseTablePartitionNameSet = queryUsedBaseTablePartitions.get(relatedPartitionTable)
|
||||
.stream()
|
||||
.map(Partition::getName)
|
||||
|
||||
@ -67,7 +67,6 @@ import com.google.common.collect.Sets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.BitSet;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
@ -740,14 +739,17 @@ public class StructInfo {
|
||||
if (!targetTablePartitionMap.containsKey(relatedPartitionTable)) {
|
||||
return catalogRelation;
|
||||
}
|
||||
// todo Support other type partition table
|
||||
if (catalogRelation instanceof LogicalOlapScan) {
|
||||
// Handle olap table
|
||||
LogicalOlapScan logicalOlapScan = (LogicalOlapScan) catalogRelation;
|
||||
Set<Partition> tablePartitions = targetTablePartitionMap.get(relatedPartitionTable);
|
||||
for (Long partitionId : logicalOlapScan.getSelectedPartitionIds()) {
|
||||
Set<Partition> partitions = targetTablePartitionMap.computeIfAbsent(relatedPartitionTable,
|
||||
key -> new HashSet<>());
|
||||
partitions.add(logicalOlapScan.getTable().getPartition(partitionId));
|
||||
tablePartitions.add(logicalOlapScan.getTable().getPartition(partitionId));
|
||||
}
|
||||
} else {
|
||||
// todo Support other type partition table
|
||||
// Not support to partition check now when query external catalog table, support later.
|
||||
targetTablePartitionMap.clear();
|
||||
}
|
||||
return catalogRelation;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user