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.
This commit is contained in:
mz 2020-07-31 23:10:53 +08:00 committed by GitHub
parent f8feff4ef2
commit 9c1a5a781d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View file

@ -1199,7 +1199,7 @@ impl Parser {
let mut options = vec![]; let mut options = vec![];
loop { loop {
match self.peek_token() { 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()?), _ => options.push(self.parse_column_option_def()?),
} }
} }

View file

@ -1459,8 +1459,8 @@ fn parse_create_external_table_lowercase() {
#[test] #[test]
fn parse_alter_table() { fn parse_alter_table() {
let add_column = "ALTER TABLE tab ADD COLUMN foo TEXT"; let add_column = "ALTER TABLE tab ADD COLUMN foo TEXT;";
match verified_stmt(add_column) { match one_statement_parses_to(add_column, "ALTER TABLE tab ADD COLUMN foo TEXT") {
Statement::AlterTable { Statement::AlterTable {
name, name,
operation: AlterTableOperation::AddColumn { column_def }, operation: AlterTableOperation::AddColumn { column_def },