@@ -18142,11 +18142,14 @@ impl<'a> Parser<'a> {
1814218142 /// Parse a 'BEGIN' statement
1814318143 pub fn parse_begin(&mut self) -> Result<Statement, ParserError> {
1814418144 let modifier = self.parse_transaction_modifier();
18145- let transaction = match self.parse_one_of_keywords(&[Keyword::TRANSACTION, Keyword::WORK]) {
18146- Some(Keyword::TRANSACTION) => Some(BeginTransactionKind::Transaction),
18147- Some(Keyword::WORK) => Some(BeginTransactionKind::Work),
18148- _ => None,
18149- };
18145+ let transaction =
18146+ match self.parse_one_of_keywords(&[Keyword::TRANSACTION, Keyword::WORK, Keyword::TRAN])
18147+ {
18148+ Some(Keyword::TRANSACTION) => Some(BeginTransactionKind::Transaction),
18149+ Some(Keyword::WORK) => Some(BeginTransactionKind::Work),
18150+ Some(Keyword::TRAN) => Some(BeginTransactionKind::Tran),
18151+ _ => None,
18152+ };
1815018153 Ok(Statement::StartTransaction {
1815118154 modes: self.parse_transaction_modes()?,
1815218155 begin: true,
@@ -18280,7 +18283,7 @@ impl<'a> Parser<'a> {
1828018283
1828118284 /// Parse an optional `AND [NO] CHAIN` clause for `COMMIT` and `ROLLBACK` statements
1828218285 pub fn parse_commit_rollback_chain(&mut self) -> Result<bool, ParserError> {
18283- let _ = self.parse_one_of_keywords(&[Keyword::TRANSACTION, Keyword::WORK]);
18286+ let _ = self.parse_one_of_keywords(&[Keyword::TRANSACTION, Keyword::WORK, Keyword::TRAN ]);
1828418287 if self.parse_keyword(Keyword::AND) {
1828518288 let chain = !self.parse_keyword(Keyword::NO);
1828618289 self.expect_keyword_is(Keyword::CHAIN)?;
0 commit comments