aharpervc commented on code in PR #1810:
URL: 
https://github.com/apache/datafusion-sqlparser-rs/pull/1810#discussion_r2067492348


##########
src/dialect/mssql.rs:
##########
@@ -215,6 +218,78 @@ impl MsSqlDialect {
         }))
     }
 
+    /// Parse a SQL CREATE statement
+    fn parse_create(&self, parser: &mut Parser) -> Option<Result<Statement, 
ParserError>> {
+        let original_index = parser.index();
+
+        if !parser.parse_keyword(Keyword::CREATE) {
+            parser.set_index(original_index);

Review Comment:
   I've added a commit to the branch for this approach.
   
   I'm not sure it's strictly better because it seems more difficult to extend 
if/when additional `CREATE` things are moved into dialects, if this is a 
general pattern. Perhaps you can clear up what I'm concerned about here -- with 
maybe_parse if parsing fails inside the dialect, it'll rewind the parser & 
report None up the chain. Then, parsing will continue as if it was common code. 
However that might not be what we prefer -- if we're already into 
parse_create_trigger and get a parsing error, we actually do want it to fail 
right there rather than rewinding. In the former approach that seemed clear. 
With this approach it seems like the dialect specific parser failure will get 
ignored (and you will probably get another parser error from the general code 
instead).
   
   Thoughts?



-- 
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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to