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 {
220
220
221
221
/// Parse a SQL CREATE statement
222
222
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 )
238
231
}
239
232
240
233
/// Parse `CREATE TRIGGER` for [MsSql]
Original file line number Diff line number Diff line change @@ -15081,11 +15081,6 @@ impl<'a> Parser<'a> {
15081
15081
self.index
15082
15082
}
15083
15083
15084
- /// Manually change the parser index.
15085
- pub(crate) fn set_index(&mut self, index: usize) {
15086
- self.index = index;
15087
- }
15088
-
15089
15084
pub fn parse_named_window(&mut self) -> Result<NamedWindowDefinition, ParserError> {
15090
15085
let ident = self.parse_identifier()?;
15091
15086
self.expect_keyword_is(Keyword::AS)?;
You can’t perform that action at this time.
0 commit comments