This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 8a5021c235 [Fix](Sql)NPE when the Delete statement does not specify a where condition (#22766) 8a5021c235 is described below commit 8a5021c235e44e1d89640f9d0a70e9481f92614b Author: Calvin Kirs <acm_mas...@163.com> AuthorDate: Thu Aug 10 10:15:49 2023 +0800 [Fix](Sql)NPE when the Delete statement does not specify a where condition (#22766) Execute Sql delete from test_table. 2023-08-09 11:51:46,586 WARN (mysql-nio-pool-7|540) [StmtExecutor.analyze():987] Analyze failed. stmt[25, 519f916eeb94a8b-afe8e1094fb39fc1] java.lang.NullPointerException: null at org.apache.doris.rewrite.ExprRewriter.applyRuleBottomUp(ExprRewriter.java:236) ~[classes/:?] at org.apache.doris.rewrite.ExprRewriter.applyRule(ExprRewriter.java:226) ~[classes/:?] at org.apache.doris.rewrite.ExprRewriter.applyRuleRepeatedly(ExprRewriter.java:216) ~[classes/:?] at org.apache.doris.rewrite.ExprRewriter.rewrite(ExprRewriter.java:166) ~[classes/:?] at org.apache.doris.rewrite.ExprRewriter.rewrite(ExprRewriter.java:151) ~[classes/:?] at org.apache.doris.analysis.DeleteStmt.analyze(DeleteStmt.java:127) ~[classes/:?] at org.apache.doris.qe.StmtExecutor.analyze(StmtExecutor.java:983) ~[classes/:?] at org.apache.doris.qe.StmtExecutor.executeByLegacy(StmtExecutor.java:660) ~[classes/:?] at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:448) ~[classes/:?] at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:419) ~[classes/:?] at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:441) ~[classes/:?] at org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:589) ~[classes/:?] at org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:826) ~[classes/:?] at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) ~[classes/:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:829) ~[?:?] Fix Result [HY000][1105] errCode = 2, detailMessage = Where clause is not set Affected version 2.0-Alpha + --- fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java index 4e8e4ad2dd..ac28d5850e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java @@ -123,6 +123,9 @@ public class DeleteStmt extends DdlStmt { // analyze predicate if (fromClause == null) { + if (wherePredicate == null) { + throw new AnalysisException("Where clause is not set"); + } ExprRewriter exprRewriter = new ExprRewriter(EXPR_NORMALIZE_RULES); wherePredicate = exprRewriter.rewrite(wherePredicate, analyzer); try { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org