davidm-db commented on code in PR #46665: URL: https://github.com/apache/spark/pull/46665#discussion_r1613389337
########## sql/api/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBaseParser.g4: ########## @@ -42,6 +42,29 @@ options { tokenVocab = SqlBaseLexer; } public boolean double_quoted_identifiers = false; } +compoundOrSingleStatement + : singleStatement + | singleCompound + ; + +singleCompound + : compound SEMICOLON* EOF + ; + +compound + : BEGIN compoundBody END + ; + +// Last semicolon in body is optional. +compoundBody + : compoundStatement (SEMICOLON+ compoundStatement)* SEMICOLON* Review Comment: Talked with Serge offline. His ref spec says that `;` is mandatory and needs to be present even in the latest statement in the block. This is more restrictive, but the idea is that we can easily make it less restrictive if we need it in the future. So now, we have only `(compoundStatement SEMICOLON)*` which allows empty `BEGIN END` blocks, but that's also per ref spec. We can discuss further if we want this changed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org