From 814f12981de55162460fe06f99577bb4a2daa414 Mon Sep 17 00:00:00 2001 From: jakevin Date: Sat, 22 Apr 2023 12:32:51 +0800 Subject: [PATCH] [feat](Nereids): validate Project list. (#18868) --- .../org/apache/doris/nereids/processor/post/Validator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/Validator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/Validator.java index 2f866559968188..ea24e0183b1dff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/Validator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/Validator.java @@ -42,6 +42,8 @@ public class Validator extends PlanPostProcessor { @Override public Plan visitPhysicalProject(PhysicalProject project, CascadesContext context) { + Preconditions.checkArgument(!project.getProjects().isEmpty(), "Project list can't be empty"); + Plan child = project.child(); // Forbidden project-project, we must merge project. if (child instanceof PhysicalProject) { @@ -54,7 +56,7 @@ public Plan visitPhysicalProject(PhysicalProject project, Cascad @Override public Plan visitPhysicalFilter(PhysicalFilter filter, CascadesContext context) { Preconditions.checkArgument(!filter.getConjuncts().isEmpty() - && filter.getPredicate() != BooleanLiteral.TRUE); + && filter.getPredicate() != BooleanLiteral.TRUE, "Filter predicate can't be empty or true"); Plan child = filter.child(); // Forbidden filter-project, we must make filter-project -> project-filter.