delete: add using clause, possibility of using aliases (#541)

Signed-off-by: Maciej Obuchowski <obuchowski.maciej@gmail.com>
This commit is contained in:
Maciej Obuchowski 2022-07-18 16:29:03 +02:00 committed by GitHub
parent 93e16e9864
commit 4706d8b1d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 86 additions and 5 deletions

View file

@ -3141,7 +3141,12 @@ impl<'a> Parser<'a> {
pub fn parse_delete(&mut self) -> Result<Statement, ParserError> {
self.expect_keyword(Keyword::FROM)?;
let table_name = self.parse_object_name()?;
let table_name = self.parse_table_factor()?;
let using = if self.parse_keyword(Keyword::USING) {
Some(self.parse_table_factor()?)
} else {
None
};
let selection = if self.parse_keyword(Keyword::WHERE) {
Some(self.parse_expr()?)
} else {
@ -3150,6 +3155,7 @@ impl<'a> Parser<'a> {
Ok(Statement::Delete {
table_name,
using,
selection,
})
}