From 2851beadf5f2dbb4fd7402f9fe7798cf285c983b Mon Sep 17 00:00:00 2001 From: Vadzim Ramanenka Date: Mon, 15 Jul 2024 10:13:58 +0200 Subject: [PATCH] DBZ-8092: No viable alternative at input "add COLUMN yes" MySQL permits `yes` keyword to be used as an identifier. --- .../io/debezium/ddl/parser/mariadb/generated/MariaDBParser.g4 | 1 + .../io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 | 2 +- .../src/test/resources/mariadb/examples/fast/ddl_alter.sql | 1 + .../src/test/resources/mysql/examples/ddl_alter.sql | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mariadb/generated/MariaDBParser.g4 b/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mariadb/generated/MariaDBParser.g4 index f50fb1d31..9d424f9a0 100644 --- a/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mariadb/generated/MariaDBParser.g4 +++ b/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mariadb/generated/MariaDBParser.g4 @@ -3203,6 +3203,7 @@ keywordsCanBeId | XA | XA_RECOVER_ADMIN | XML + | YES // MariaDB-specific only | BINLOG_MONITOR | BINLOG_REPLAY diff --git a/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 b/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 index cdc7a4d8e..2cb78be75 100644 --- a/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 +++ b/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 @@ -2856,7 +2856,7 @@ keywordsCanBeId | THAN | TP_CONNECTION_ADMIN | TRADITIONAL | TRANSACTION | TRANSACTIONAL | TRIGGERS | TRUNCATE | UNBOUNDED | UNDEFINED | UNDOFILE | UNDO_BUFFER_SIZE | UNINSTALL | UNKNOWN | UNTIL | UPGRADE | USA | USER | USE_FRM | USER_RESOURCES | VALIDATION | VALUE | VAR_POP | VAR_SAMP | VARIABLES | VARIANCE | VERSIONING | VERSION_TOKEN_ADMIN | VIEW | VIRTUAL | WAIT | WARNINGS - | WITHOUT | WORK | WRAPPER | X509 | XA | XA_RECOVER_ADMIN | XML + | WITHOUT | WORK | WRAPPER | X509 | XA | XA_RECOVER_ADMIN | XML | YES // MariaDB-specific only | BINLOG_MONITOR | BINLOG_REPLAY | CURRENT_ROLE | CYCLE | ENCRYPTED | ENCRYPTION_KEY_ID | FEDERATED_ADMIN | INCREMENT | LASTVAL | LOCKED | MAXVALUE | MINVALUE | NEXTVAL | NOCACHE | NOCYCLE | NOMAXVALUE | NOMINVALUE diff --git a/debezium-ddl-parser/src/test/resources/mariadb/examples/fast/ddl_alter.sql b/debezium-ddl-parser/src/test/resources/mariadb/examples/fast/ddl_alter.sql index c3edfb5df..896d4fcef 100644 --- a/debezium-ddl-parser/src/test/resources/mariadb/examples/fast/ddl_alter.sql +++ b/debezium-ddl-parser/src/test/resources/mariadb/examples/fast/ddl_alter.sql @@ -25,6 +25,7 @@ alter table table1 add primary key (id); alter table table1 add primary key table_pk (id); alter table table1 add primary key `table_pk` (id); alter table table1 add primary key `table_pk` (`id`); +alter table table1 add column yes varchar(255) default '' null; alter table add_test add column if not exists col1 varchar(255); alter table add_test add column if not exists col4 varchar(255); alter table add_test add index if not exists ix_add_test_col1 using btree (col1) comment 'test index'; diff --git a/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_alter.sql b/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_alter.sql index 5da292399..c479415ee 100644 --- a/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_alter.sql +++ b/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_alter.sql @@ -25,6 +25,7 @@ alter table table1 add primary key (id); alter table table1 add primary key table_pk (id); alter table table1 add primary key `table_pk` (id); alter table table1 add primary key `table_pk` (`id`); +alter table table1 add column yes varchar(255) default '' null; alter table add_test add column if not exists col1 varchar(255); alter table add_test add column if not exists col4 varchar(255); alter table add_test add index if not exists ix_add_test_col1 using btree (col1) comment 'test index';