Skip to content

Commit 6a55836

Browse files
also check semi colon in parse_uncache_statement & update test
1 parent 79af31b commit 6a55836

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/parser/mod.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3615,13 +3615,15 @@ impl<'a> Parser<'a> {
36153615
if has_table {
36163616
let if_exists = self.parse_keywords(&[Keyword::IF, Keyword::EXISTS]);
36173617
let table_name = self.parse_object_name(false)?;
3618-
if self.peek_token().token == Token::EOF {
3619-
Ok(Statement::UNCache {
3618+
match self.peek_token() {
3619+
TokenWithLocation {
3620+
token: Token::EOF | Token::SemiColon,
3621+
..
3622+
} => Ok(Statement::UNCache {
36203623
table_name,
36213624
if_exists,
3622-
})
3623-
} else {
3624-
self.expected("an `EOF`", self.peek_token())
3625+
}),
3626+
token_loc => self.expected("`EOF` or `;`", token_loc),
36253627
}
36263628
} else {
36273629
self.expected("a `TABLE` keyword", self.peek_token())

tests/sqlparser_common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8451,7 +8451,7 @@ fn parse_uncache_table() {
84518451

84528452
let res = parse_sql_statements("UNCACHE TABLE 'table_name' foo");
84538453
assert_eq!(
8454-
ParserError::ParserError("Expected an `EOF`, found: foo".to_string()),
8454+
ParserError::ParserError("Expected `EOF` or `;`, found: foo".to_string()),
84558455
res.unwrap_err()
84568456
);
84578457

0 commit comments

Comments
 (0)