From 9c1a5a781d82325b8d99e3b96b35f6a235bf2463 Mon Sep 17 00:00:00 2001 From: mz Date: Fri, 31 Jul 2020 23:10:53 +0800 Subject: [PATCH] Don't fail parsing ALTER TABLE ADD COLUMN ending with a semicolon (#246) This is a follow-up to https://github.com/ballista-compute/sqlparser-rs/pull/203 where ALTER TABLE ADD COLUMN support was initially implemented. Fixes #233. --- src/parser.rs | 2 +- tests/sqlparser_common.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index b58bdc5c..1c3c4eaf 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -1199,7 +1199,7 @@ impl Parser { let mut options = vec![]; loop { match self.peek_token() { - Token::EOF | Token::Comma | Token::RParen => break, + Token::EOF | Token::Comma | Token::RParen | Token::SemiColon => break, _ => options.push(self.parse_column_option_def()?), } } diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs index 1a1c3ad8..898c39e4 100644 --- a/tests/sqlparser_common.rs +++ b/tests/sqlparser_common.rs @@ -1459,8 +1459,8 @@ fn parse_create_external_table_lowercase() { #[test] fn parse_alter_table() { - let add_column = "ALTER TABLE tab ADD COLUMN foo TEXT"; - match verified_stmt(add_column) { + let add_column = "ALTER TABLE tab ADD COLUMN foo TEXT;"; + match one_statement_parses_to(add_column, "ALTER TABLE tab ADD COLUMN foo TEXT") { Statement::AlterTable { name, operation: AlterTableOperation::AddColumn { column_def },