Added support for DROP DOMAIN (#1828)

This commit is contained in:
Luca Cappelletti 2025-05-02 05:16:24 +02:00 committed by GitHub
parent e5d2215267
commit 483394cd1a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 114 additions and 0 deletions

View file

@ -6070,6 +6070,8 @@ impl<'a> Parser<'a> {
return self.parse_drop_policy();
} else if self.parse_keyword(Keyword::CONNECTOR) {
return self.parse_drop_connector();
} else if self.parse_keyword(Keyword::DOMAIN) {
return self.parse_drop_domain();
} else if self.parse_keyword(Keyword::PROCEDURE) {
return self.parse_drop_procedure();
} else if self.parse_keyword(Keyword::SECRET) {
@ -6165,6 +6167,20 @@ impl<'a> Parser<'a> {
Ok(Statement::DropConnector { if_exists, name })
}
/// ```sql
/// DROP DOMAIN [ IF EXISTS ] name [ CASCADE | RESTRICT ]
/// ```
fn parse_drop_domain(&mut self) -> Result<Statement, ParserError> {
let if_exists = self.parse_keywords(&[Keyword::IF, Keyword::EXISTS]);
let name = self.parse_object_name(false)?;
let drop_behavior = self.parse_optional_drop_behavior();
Ok(Statement::DropDomain(DropDomain {
if_exists,
name,
drop_behavior,
}))
}
/// ```sql
/// DROP PROCEDURE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
/// [ CASCADE | RESTRICT ]