Skip to content

Commit 43bf54e

Browse files
committed
Parsing, next tests
1 parent d82bb75 commit 43bf54e

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/dialect/snowflake.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,13 @@ impl Dialect for SnowflakeDialect {
178178
return Some(parse_file_staging_command(kw, parser));
179179
}
180180

181+
if parser.parse_keyword(Keyword::SHOW) {
182+
let terse = parser.parse_keyword(Keyword::TERSE);
183+
if parser.parse_keyword(Keyword::OBJECTS) {
184+
return Some(parse_show_objects(terse, parser));
185+
}
186+
}
187+
181188
None
182189
}
183190

@@ -1116,3 +1123,15 @@ fn parse_column_tags(parser: &mut Parser, with: bool) -> Result<TagsColumnOption
11161123

11171124
Ok(TagsColumnOption { with, tags })
11181125
}
1126+
1127+
/// Parse snowflake show objects.
1128+
/// <https://docs.snowflake.com/en/sql-reference/sql/show-objects>
1129+
fn parse_show_objects(terse: bool, parser: &mut Parser) -> Result<Statement, ParserError> {
1130+
let options = parser.parse_show_stmt_options()?;
1131+
Ok(
1132+
Statement::ShowObjects {
1133+
terse,
1134+
options,
1135+
}
1136+
)
1137+
}

src/parser/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13670,8 +13670,9 @@ impl<'a> Parser<'a> {
1367013670
}
1367113671
false
1367213672
}
13673-
13674-
fn parse_show_stmt_options(&mut self) -> Result<ShowStatementOptions, ParserError> {
13673+
13674+
//Made this public to be able to parse it in Snowflake dialect for ShowObjects statement
13675+
pub fn parse_show_stmt_options(&mut self) -> Result<ShowStatementOptions, ParserError> {
1367513676
let show_in;
1367613677
let mut filter_position = None;
1367713678
if self.dialect.supports_show_like_before_in() {

0 commit comments

Comments
 (0)