From fc5ac3c34683da240aca183bac7bcd1df483ccd0 Mon Sep 17 00:00:00 2001 From: jackwener Date: Thu, 20 Apr 2023 19:02:13 +0800 Subject: [PATCH] [feat](Nereids): validate Project list. --- .../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.