[fix] (nereids) Catch exception when mv fail and fix the npe (#28932)
This commit is contained in:
@ -52,6 +52,7 @@ import java.util.BitSet;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nullable;
|
||||
@ -691,7 +692,7 @@ public class HyperGraph {
|
||||
}
|
||||
int size = t.getExpressions().size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (!expressionMap.get(t.getExpression(i)).equals(o.getExpression(i))) {
|
||||
if (!Objects.equals(expressionMap.get(t.getExpression(i)), o.getExpression(i))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ public class MaterializedViewFilterJoinRule extends AbstractMaterializedViewJoin
|
||||
@Override
|
||||
public List<Rule> buildRules() {
|
||||
return ImmutableList.of(
|
||||
logicalFilter(logicalJoin(any(), any())).thenApplyMulti(ctx -> {
|
||||
logicalFilter(logicalJoin(any(), any())).thenApplyMultiNoThrow(ctx -> {
|
||||
LogicalFilter<LogicalJoin<Plan, Plan>> root = ctx.root;
|
||||
return rewrite(root, ctx.cascadesContext);
|
||||
}).toRule(RuleType.MATERIALIZED_VIEW_FILTER_JOIN));
|
||||
|
||||
@ -38,7 +38,7 @@ public class MaterializedViewFilterProjectJoinRule extends AbstractMaterializedV
|
||||
@Override
|
||||
public List<Rule> buildRules() {
|
||||
return ImmutableList.of(
|
||||
logicalFilter(logicalProject(logicalJoin(any(), any()))).thenApplyMulti(ctx -> {
|
||||
logicalFilter(logicalProject(logicalJoin(any(), any()))).thenApplyMultiNoThrow(ctx -> {
|
||||
LogicalFilter<LogicalProject<LogicalJoin<Plan, Plan>>> root = ctx.root;
|
||||
return rewrite(root, ctx.cascadesContext);
|
||||
}).toRule(RuleType.MATERIALIZED_VIEW_FILTER_PROJECT_JOIN));
|
||||
|
||||
@ -36,7 +36,7 @@ public class MaterializedViewOnlyJoinRule extends AbstractMaterializedViewJoinRu
|
||||
@Override
|
||||
public List<Rule> buildRules() {
|
||||
return ImmutableList.of(
|
||||
logicalJoin(any(), any()).thenApplyMulti(ctx -> {
|
||||
logicalJoin(any(), any()).thenApplyMultiNoThrow(ctx -> {
|
||||
LogicalJoin<Plan, Plan> root = ctx.root;
|
||||
return rewrite(root, ctx.cascadesContext);
|
||||
}).toRule(RuleType.MATERIALIZED_VIEW_ONLY_JOIN));
|
||||
|
||||
@ -38,7 +38,7 @@ public class MaterializedViewProjectFilterJoinRule extends AbstractMaterializedV
|
||||
@Override
|
||||
public List<Rule> buildRules() {
|
||||
return ImmutableList.of(
|
||||
logicalProject(logicalFilter(logicalJoin(any(), any()))).thenApplyMulti(ctx -> {
|
||||
logicalProject(logicalFilter(logicalJoin(any(), any()))).thenApplyMultiNoThrow(ctx -> {
|
||||
LogicalProject<LogicalFilter<LogicalJoin<Plan, Plan>>> root = ctx.root;
|
||||
return rewrite(root, ctx.cascadesContext);
|
||||
}).toRule(RuleType.MATERIALIZED_VIEW_PROJECT_FILTER_JOIN));
|
||||
|
||||
Reference in New Issue
Block a user