[fix](nereids-Branch-2.1) fix bug: try to prune a not-exist rf #34630
This commit is contained in:
@ -45,6 +45,7 @@ import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
@ -353,7 +354,7 @@ public class RuntimeFilterContext {
|
||||
}
|
||||
|
||||
public List<ExprId> getTargetExprIdByFilterJoin(AbstractPhysicalJoin join) {
|
||||
return joinToTargetExprId.get(join);
|
||||
return joinToTargetExprId.getOrDefault(join, new ArrayList<>());
|
||||
}
|
||||
|
||||
public SlotReference getCorrespondingOlapSlotReference(SlotReference slot) {
|
||||
|
||||
@ -155,7 +155,7 @@ public class RuntimeFilterPruner extends PlanPostProcessor {
|
||||
context.getRuntimeFilterContext().addEffectiveSrcNode(join, childType);
|
||||
} else {
|
||||
List<ExprId> exprIds = rfContext.getTargetExprIdByFilterJoin(join);
|
||||
if (exprIds != null && !exprIds.isEmpty()) {
|
||||
if (!exprIds.isEmpty()) {
|
||||
boolean isEffective = false;
|
||||
for (Expression expr : join.getEqualToConjuncts()) {
|
||||
if (isEffectiveRuntimeFilter((EqualTo) expr, join)) {
|
||||
|
||||
Reference in New Issue
Block a user