diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 index 8d9ec98f25251c..e8ae928a7f0958 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 @@ -26,7 +26,7 @@ options { tokenVocab = DorisLexer; } } multiStatements - : (statement SEMICOLON*)+ EOF + : statement (SEMICOLON+ statement)* SEMICOLON* EOF ; singleStatement diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java index d39e5cf22a6acc..a0b6f8fa76f6fe 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java @@ -55,11 +55,18 @@ public class NereidsParserTest extends ParserTestBase { @Test public void testParseMultiple() { NereidsParser nereidsParser = new NereidsParser(); - String sql = "SELECT b FROM test;SELECT a FROM test;"; + String sql = "SELECT b FROM test;;;;SELECT a FROM test;"; List> logicalPlanList = nereidsParser.parseMultiple(sql); Assertions.assertEquals(2, logicalPlanList.size()); } + @Test + public void testParseMultipleError() { + NereidsParser nereidsParser = new NereidsParser(); + String sql = "SELECT b FROM test SELECT a FROM test;"; + Assertions.assertThrowsExactly(ParseException.class, () -> nereidsParser.parseMultiple(sql)); + } + @Test public void testSingle() { NereidsParser nereidsParser = new NereidsParser(); diff --git a/regression-test/suites/insert_p0/insert.groovy b/regression-test/suites/insert_p0/insert.groovy index 4d1eae21962621..bcab9956c1d4ec 100644 --- a/regression-test/suites/insert_p0/insert.groovy +++ b/regression-test/suites/insert_p0/insert.groovy @@ -102,7 +102,7 @@ suite("insert") { partition p2 values[('50'), ('100')) ) distributed by hash(id) buckets 100 - properties('replication_num'='1') + properties('replication_num'='1'); insert into table_test_insert1 values(1), (50);