From db71d5ee397fa9a6a5ec346e22614ef399b5421e Mon Sep 17 00:00:00 2001 From: Ben Osheroff Date: Wed, 25 Mar 2020 09:49:10 -0700 Subject: [PATCH] fixes for issue #1438, defaults can be paren-enclosed in latest mysqls --- src/main/antlr4/imports/column_definitions.g4 | 2 +- .../java/com/zendesk/maxwell/schema/ddl/DDLParserTest.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/antlr4/imports/column_definitions.g4 b/src/main/antlr4/imports/column_definitions.g4 index 040c91c01..72b24777e 100644 --- a/src/main/antlr4/imports/column_definitions.g4 +++ b/src/main/antlr4/imports/column_definitions.g4 @@ -104,7 +104,7 @@ charset_def: character_set | ASCII; character_set: ((CHARACTER SET) | CHARSET) charset_name; nullability: (NOT NULL | NULL); -default_value: DEFAULT (literal_with_weirdo_multistring | CURRENT_TIMESTAMP current_timestamp_length? | now_function | localtime_function); +default_value: DEFAULT '('? (literal_with_weirdo_multistring | CURRENT_TIMESTAMP current_timestamp_length? | now_function | localtime_function) ')'?; length: '(' INTEGER_LITERAL ')'; int_flags: ( SIGNED | UNSIGNED | ZEROFILL ); decimal_length: '(' INTEGER_LITERAL ( ',' INTEGER_LITERAL )? ')'; diff --git a/src/test/java/com/zendesk/maxwell/schema/ddl/DDLParserTest.java b/src/test/java/com/zendesk/maxwell/schema/ddl/DDLParserTest.java index 9fd019029..dbe5f7ef9 100644 --- a/src/test/java/com/zendesk/maxwell/schema/ddl/DDLParserTest.java +++ b/src/test/java/com/zendesk/maxwell/schema/ddl/DDLParserTest.java @@ -234,7 +234,9 @@ public void testParsingSomeAlters() { "create table foo.order ( i int )", "alter table foo.int add column bar varchar(255)", "alter table something collate = default", - "ALTER TABLE t DROP t.foo" + "ALTER TABLE t DROP t.foo", + "alter table f add column i varchar(255) default ('environment,namespace,table_name')" + };