From 413d733255798b9775bbb128066f606ffc16a55e Mon Sep 17 00:00:00 2001 From: Pxl Date: Thu, 29 Feb 2024 10:48:23 +0800 Subject: [PATCH] [Bug](materialized-view) fix npe on create mv with star (#31554) fix npe on create mv with star --- .../apache/doris/analysis/CreateMaterializedViewStmt.java | 7 +++---- .../suites/mv_p0/test_mv_useless/const_invalid.groovy | 5 +++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java index b9840438ec..5686877a75 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java @@ -186,6 +186,9 @@ public class CreateMaterializedViewStmt extends DdlStmt { } SelectList selectList = selectStmt.getSelectList(); for (SelectListItem selectListItem : selectList.getItems()) { + if (selectListItem.isStar()) { + throw new AnalysisException("The materialized view not support select star"); + } checkExprValidInMv(selectListItem.getExpr()); } } @@ -266,10 +269,6 @@ public class CreateMaterializedViewStmt extends DdlStmt { for (int i = 0; i < selectList.getItems().size(); i++) { SelectListItem selectListItem = selectList.getItems().get(i); - if (selectListItem.isStar()) { - throw new AnalysisException("The materialized view not support select star"); - } - Expr selectListItemExpr = selectListItem.getExpr(); if (!(selectListItemExpr instanceof SlotRef) && !(selectListItemExpr instanceof FunctionCallExpr) && !(selectListItemExpr instanceof ArithmeticExpr)) { diff --git a/regression-test/suites/mv_p0/test_mv_useless/const_invalid.groovy b/regression-test/suites/mv_p0/test_mv_useless/const_invalid.groovy index 7d6f0d5cae..1c6e6822f8 100644 --- a/regression-test/suites/mv_p0/test_mv_useless/const_invalid.groovy +++ b/regression-test/suites/mv_p0/test_mv_useless/const_invalid.groovy @@ -43,4 +43,9 @@ suite ("const_invalid") { sql "create materialized view const_3 as select k1,abs(1+1) from d_table;" exception "errCode = 2," } + + test { + sql "create materialized view mvstar as select * from d_table;" + exception "errCode = 2," + } }