From 7f5b45a8904498cf8ab4cae787c0262637c46dce Mon Sep 17 00:00:00 2001 From: ani-sha Date: Tue, 14 Mar 2023 13:14:16 +0530 Subject: [PATCH] DBZ-6124 Add alterByAlterCheckTableConstraint rule for ALTER TABLE --- .../io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 | 4 +++- .../src/test/resources/mysql/examples/ddl_alter.sql | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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 4b36dbe27..c57a17cfc 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 @@ -693,8 +693,10 @@ alterSpecification indexColumnNames indexOption* #alterByAddSpecialIndex | ADD (CONSTRAINT name=uid?)? FOREIGN KEY ifNotExists? // ifNotExists is MariaDB-specific only indexName=uid? indexColumnNames referenceDefinition #alterByAddForeignKey - | ADD (CONSTRAINT name=uid?)? CHECK ( stringLiteral | '(' expression ')' ) + | ADD (CONSTRAINT name=uid?)? CHECK ( uid | stringLiteral | '(' expression ')' ) NOT? ENFORCED? #alterByAddCheckTableConstraint + | ALTER (CONSTRAINT name=uid?)? CHECK ( uid | stringLiteral | '(' expression ')' ) + NOT? ENFORCED? #alterByAlterCheckTableConstraint | ALGORITHM '='? algType=(DEFAULT | INSTANT | INPLACE | COPY) #alterBySetAlgorithm | ALTER COLUMN? uid (SET DEFAULT defaultValue | DROP DEFAULT) #alterByChangeDefault 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 80bf7c085..0f62b418a 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 @@ -49,8 +49,8 @@ ALTER TABLE T1 ADD FOREIGN KEY ( I ) REFERENCES TT ( I ) ON DELETE SET DEFAULT; ALTER TABLE T1 ADD FOREIGN KEY ( I ) REFERENCES TT ( I ) ON UPDATE SET DEFAULT; ALTER TABLE T1 ADD CHECK (id + 6 > 10) ENFORCED; ALTER TABLE T1 ADD CHECK (ID + 6 > 10) NOT ENFORCED; ---ALTER TABLE T1 ALTER CHECK C_CONS ENFORCED; ---ALTER TABLE T1 ALTER CHECK C_CONS NOT ENFORCED; +ALTER TABLE T1 ALTER CHECK C_CONS ENFORCED; +ALTER TABLE T1 ALTER CHECK C_CONS NOT ENFORCED; ALTER TABLE T1 ALTER I SET VISIBLE; ALTER TABLE T1 ALTER I SET INVISIBLE; #end