huaxingao commented on code in PR #46707:
URL: https://github.com/apache/spark/pull/46707#discussion_r1616404811


##########
sql/api/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBaseParser.g4:
##########
@@ -823,13 +823,17 @@ identifierComment
 
 relationPrimary
     : identifierReference temporalClause?
-      sample? tableAlias                                    #tableName
+      sample? optionsClause? tableAlias                     #tableName
     | LEFT_PAREN query RIGHT_PAREN sample? tableAlias       #aliasedQuery
     | LEFT_PAREN relation RIGHT_PAREN sample? tableAlias    #aliasedRelation
     | inlineTable                                           
#inlineTableDefault2
     | functionTable                                         
#tableValuedFunction
     ;
 
+optionsClause
+    : WITH options=propertyList?

Review Comment:
   I think we don't need the `?`. We will either have `WITH 
options=propertyList` as a whole, or we won't have it at all. This way, we 
don't need to check `if (clause.options == null)` in 
`createUnresolvedRelation`, and there's no need to add the 
`noOptionsSpecifiedError`. In your negative tests, we don't need to include 
`SELECT * FROM $t1 WITH`. I believe the `WITH` will be correctly interpreted by 
other rules.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to