Support DELETE with ORDER BY and LIMIT (MySQL) (#992)

This commit is contained in:
Ulrich Schmidt-Goertz 2023-10-02 14:42:58 +02:00 committed by GitHub
parent ed39329060
commit 6ffc3b3a52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 58 additions and 1 deletions

View file

@ -5306,12 +5306,21 @@ impl<'a> Parser<'a> {
} else {
None
};
let returning = if self.parse_keyword(Keyword::RETURNING) {
Some(self.parse_comma_separated(Parser::parse_select_item)?)
} else {
None
};
let order_by = if self.parse_keywords(&[Keyword::ORDER, Keyword::BY]) {
self.parse_comma_separated(Parser::parse_order_by_expr)?
} else {
vec![]
};
let limit = if self.parse_keyword(Keyword::LIMIT) {
self.parse_limit()?
} else {
None
};
Ok(Statement::Delete {
tables,
@ -5319,6 +5328,8 @@ impl<'a> Parser<'a> {
using,
selection,
returning,
order_by,
limit,
})
}