Skip to content

Commit bcc967e

Browse files
yoavcloudayman-sigma
authored andcommitted
Snowflake: DROP STREAM (apache#1973)
1 parent cd52535 commit bcc967e

4 files changed

Lines changed: 23 additions & 0 deletions

File tree

src/ast/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7864,6 +7864,7 @@ pub enum ObjectType {
78647864
Stage,
78657865
Type,
78667866
User,
7867+
Stream,
78677868
}
78687869

78697870
impl fmt::Display for ObjectType {
@@ -7880,6 +7881,7 @@ impl fmt::Display for ObjectType {
78807881
ObjectType::Stage => "STAGE",
78817882
ObjectType::Type => "TYPE",
78827883
ObjectType::User => "USER",
7884+
ObjectType::Stream => "STREAM",
78837885
})
78847886
}
78857887
}

src/keywords.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,6 +870,7 @@ define_keywords!(
870870
STORAGE_SERIALIZATION_POLICY,
871871
STORED,
872872
STRAIGHT_JOIN,
873+
STREAM,
873874
STRICT,
874875
STRING,
875876
STRUCT,

src/parser/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6356,6 +6356,8 @@ impl<'a> Parser<'a> {
63566356
ObjectType::Type
63576357
} else if self.parse_keyword(Keyword::USER) {
63586358
ObjectType::User
6359+
} else if self.parse_keyword(Keyword::STREAM) {
6360+
ObjectType::Stream
63596361
} else if self.parse_keyword(Keyword::FUNCTION) {
63606362
return self.parse_drop_function();
63616363
} else if self.parse_keyword(Keyword::POLICY) {

tests/sqlparser_common.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16385,3 +16385,21 @@ fn parse_create_user() {
1638516385
_ => unreachable!(),
1638616386
}
1638716387
}
16388+
16389+
#[test]
16390+
fn parse_drop_stream() {
16391+
let sql = "DROP STREAM s1";
16392+
match verified_stmt(sql) {
16393+
Statement::Drop {
16394+
names, object_type, ..
16395+
} => {
16396+
assert_eq!(
16397+
vec!["s1"],
16398+
names.iter().map(ToString::to_string).collect::<Vec<_>>()
16399+
);
16400+
assert_eq!(ObjectType::Stream, object_type);
16401+
}
16402+
_ => unreachable!(),
16403+
}
16404+
verified_stmt("DROP STREAM IF EXISTS s1");
16405+
}

0 commit comments

Comments
 (0)