mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-22 23:14:07 +00:00
Add support for DROP MATERIALIZED VIEW
(#1743)
This commit is contained in:
parent
fb578bb419
commit
cf4ab7f9ab
3 changed files with 8 additions and 1 deletions
|
@ -6733,6 +6733,7 @@ impl fmt::Display for HavingBoundKind {
|
||||||
pub enum ObjectType {
|
pub enum ObjectType {
|
||||||
Table,
|
Table,
|
||||||
View,
|
View,
|
||||||
|
MaterializedView,
|
||||||
Index,
|
Index,
|
||||||
Schema,
|
Schema,
|
||||||
Database,
|
Database,
|
||||||
|
@ -6747,6 +6748,7 @@ impl fmt::Display for ObjectType {
|
||||||
f.write_str(match self {
|
f.write_str(match self {
|
||||||
ObjectType::Table => "TABLE",
|
ObjectType::Table => "TABLE",
|
||||||
ObjectType::View => "VIEW",
|
ObjectType::View => "VIEW",
|
||||||
|
ObjectType::MaterializedView => "MATERIALIZED VIEW",
|
||||||
ObjectType::Index => "INDEX",
|
ObjectType::Index => "INDEX",
|
||||||
ObjectType::Schema => "SCHEMA",
|
ObjectType::Schema => "SCHEMA",
|
||||||
ObjectType::Database => "DATABASE",
|
ObjectType::Database => "DATABASE",
|
||||||
|
|
|
@ -5806,6 +5806,8 @@ impl<'a> Parser<'a> {
|
||||||
ObjectType::Table
|
ObjectType::Table
|
||||||
} else if self.parse_keyword(Keyword::VIEW) {
|
} else if self.parse_keyword(Keyword::VIEW) {
|
||||||
ObjectType::View
|
ObjectType::View
|
||||||
|
} else if self.parse_keywords(&[Keyword::MATERIALIZED, Keyword::VIEW]) {
|
||||||
|
ObjectType::MaterializedView
|
||||||
} else if self.parse_keyword(Keyword::INDEX) {
|
} else if self.parse_keyword(Keyword::INDEX) {
|
||||||
ObjectType::Index
|
ObjectType::Index
|
||||||
} else if self.parse_keyword(Keyword::ROLE) {
|
} else if self.parse_keyword(Keyword::ROLE) {
|
||||||
|
@ -5836,7 +5838,7 @@ impl<'a> Parser<'a> {
|
||||||
return self.parse_drop_extension();
|
return self.parse_drop_extension();
|
||||||
} else {
|
} else {
|
||||||
return self.expected(
|
return self.expected(
|
||||||
"CONNECTOR, DATABASE, EXTENSION, FUNCTION, INDEX, POLICY, PROCEDURE, ROLE, SCHEMA, SECRET, SEQUENCE, STAGE, TABLE, TRIGGER, TYPE, or VIEW after DROP",
|
"CONNECTOR, DATABASE, EXTENSION, FUNCTION, INDEX, POLICY, PROCEDURE, ROLE, SCHEMA, SECRET, SEQUENCE, STAGE, TABLE, TRIGGER, TYPE, VIEW, or MATERIALIZED VIEW after DROP",
|
||||||
self.peek_token(),
|
self.peek_token(),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -8189,6 +8189,9 @@ fn parse_drop_view() {
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
verified_stmt("DROP MATERIALIZED VIEW a.b.c");
|
||||||
|
verified_stmt("DROP MATERIALIZED VIEW IF EXISTS a.b.c");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue