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

Reply via email to