From 1847c9b11609a20033cc93605f505074eb446d3f Mon Sep 17 00:00:00 2001 From: ani-sha Date: Wed, 15 Mar 2023 19:33:21 +0530 Subject: [PATCH] DBZ-6188 Allow optional uidList for partitionFunctionKey rule --- .../io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 | 2 +- .../src/test/resources/mysql/examples/ddl_create.sql | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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 16c59cf12..b9bd31182 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 @@ -539,7 +539,7 @@ partitionDefinitions partitionFunctionDefinition : LINEAR? HASH '(' expression ')' #partitionFunctionHash | LINEAR? KEY (ALGORITHM '=' algType=('1' | '2'))? - '(' uidList ')' #partitionFunctionKey + '(' uidList? ')' #partitionFunctionKey // Optional uidList for MySQL only | RANGE ( '(' expression ')' | COLUMNS '(' uidList ')' ) #partitionFunctionRange | LIST ( '(' expression ')' | COLUMNS '(' uidList ')' ) #partitionFunctionList ; diff --git a/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_create.sql b/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_create.sql index baada0e3f..4e9d315ee 100644 --- a/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_create.sql +++ b/debezium-ddl-parser/src/test/resources/mysql/examples/ddl_create.sql @@ -180,6 +180,12 @@ GROUP_ID int(11) not null, DATE_ADD datetime DEFAULT NULL, primary key (USER_ID, GROUP_ID) ); + +CREATE TABLE T1 ( +ID INT NOT NULL, +NAME VARCHAR(255), +UNIQUE KEY(ID) +) PARTITION BY KEY() PARTITIONS 2; #end #begin -- Rename table