File tree Expand file tree Collapse file tree 2 files changed +8
-20
lines changed Expand file tree Collapse file tree 2 files changed +8
-20
lines changed Original file line number Diff line number Diff line change @@ -220,21 +220,14 @@ impl MsSqlDialect {
220220
221221 /// Parse a SQL CREATE statement
222222 fn parse_create ( & self , parser : & mut Parser ) -> Option < Result < Statement , ParserError > > {
223- let original_index = parser. index ( ) ;
224-
225- if !parser. parse_keyword ( Keyword :: CREATE ) {
226- parser. set_index ( original_index) ;
227- return None ;
228- }
229-
230- let or_alter = parser. parse_keywords ( & [ Keyword :: OR , Keyword :: ALTER ] ) ;
231-
232- if parser. parse_keyword ( Keyword :: TRIGGER ) {
233- return Some ( self . parse_create_trigger ( parser, or_alter) ) ;
234- }
235-
236- parser. set_index ( original_index) ;
237- None
223+ let result = parser. maybe_parse ( |p| {
224+ p. expect_keyword ( Keyword :: CREATE ) ?;
225+ let or_alter = p. parse_keywords ( & [ Keyword :: OR , Keyword :: ALTER ] ) ;
226+ p. expect_keyword ( Keyword :: TRIGGER ) ?;
227+ self . parse_create_trigger ( p, or_alter)
228+ } ) ;
229+
230+ result. ok ( ) ?. map ( Ok )
238231 }
239232
240233 /// Parse `CREATE TRIGGER` for [MsSql]
Original file line number Diff line number Diff line change @@ -15081,11 +15081,6 @@ impl<'a> Parser<'a> {
1508115081 self.index
1508215082 }
1508315083
15084- /// Manually change the parser index.
15085- pub(crate) fn set_index(&mut self, index: usize) {
15086- self.index = index;
15087- }
15088-
1508915084 pub fn parse_named_window(&mut self) -> Result<NamedWindowDefinition, ParserError> {
1509015085 let ident = self.parse_identifier()?;
1509115086 self.expect_keyword_is(Keyword::AS)?;
You can’t perform that action at this time.
0 commit comments