From 232579a236d39a9a28a0b455abdb77b1c7ca14b1 Mon Sep 17 00:00:00 2001 From: Anisha Mohanty Date: Wed, 25 Jan 2023 20:40:03 +0530 Subject: [PATCH] DBZ-6016 Add CLUSTERING KEY constraint for TOKUDB --- .../io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 | 2 ++ .../src/test/resources/mysql/examples/ddl_create.sql | 8 ++++++++ 2 files changed, 10 insertions(+) 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 0eaa9aa98..5f5092759 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 @@ -418,6 +418,7 @@ columnConstraint | INVISIBLE #invisibilityColumnConstraint | (AUTO_INCREMENT | ON UPDATE currentTimestamp) #autoIncrementColumnConstraint | PRIMARY? KEY #primaryKeyColumnConstraint + | CLUSTERING KEY #clusteringKeyColumnConstraint // Tokudb-specific only | UNIQUE KEY? #uniqueKeyColumnConstraint | COMMENT STRING_LITERAL #commentColumnConstraint | COLUMN_FORMAT colformat=(FIXED | DYNAMIC | DEFAULT) #formatColumnConstraint @@ -442,6 +443,7 @@ tableConstraint referenceDefinition #foreignKeyTableConstraint | (CONSTRAINT name=uid?)? CHECK '(' expression ')' #checkTableConstraint + | CLUSTERING KEY index=uid? indexColumnNames #clusteringKeyTableConstraint // Tokudb-specific only ; referenceDefinition 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 5e19c1e37..baada0e3f 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 @@ -74,6 +74,14 @@ CREATE TABLE table_items_with_subpartitions (id INT, purchased DATE) ) ); +CREATE TABLE `TABLE1` ( +`COL1` INT(10) UNSIGNED NOT NULL, +`COL2` VARCHAR(32) NOT NULL, +`COL3` ENUM (`VAR1`,`VAR2`, `VAR3`) NOT NULL, +PRIMARY KEY (`COL1`, `COL2`, `COL3`), +CLUSTERING KEY `CLKEY1` (`COL3`, `COL2`)) +ENGINE=TOKUDB DEFAULT CHARSET=CP1251; + CREATE TABLE positions_rollover ( id bigint(20) NOT NULL AUTO_INCREMENT, time datetime NOT NULL,