diff --git a/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/oracle/generated/PlSqlParser.g4 b/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/oracle/generated/PlSqlParser.g4 index 02587c5a6..2b804f30a 100644 --- a/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/oracle/generated/PlSqlParser.g4 +++ b/debezium-ddl-parser/src/main/antlr4/io/debezium/ddl/parser/oracle/generated/PlSqlParser.g4 @@ -1511,7 +1511,7 @@ out_of_line_ref_constraint ; out_of_line_constraint - : ( (CONSTRAINT constraint_name)? + : ( ((CONSTRAINT | CONSTRAINTS) constraint_name)? ( UNIQUE '(' column_name (',' column_name)* ')' | PRIMARY KEY '(' column_name (',' column_name)* ')' | foreign_key_clause diff --git a/debezium-ddl-parser/src/test/resources/oracle/examples/ddl_create.sql b/debezium-ddl-parser/src/test/resources/oracle/examples/ddl_create.sql index 5d7262299..70055da10 100644 --- a/debezium-ddl-parser/src/test/resources/oracle/examples/ddl_create.sql +++ b/debezium-ddl-parser/src/test/resources/oracle/examples/ddl_create.sql @@ -696,6 +696,13 @@ CREATE TABLE "interval_type_test" ( "i1" INTERVAL YEAR(9) TO MONTH DEFAULT (INTERVAL '10-3' YEAR TO MONTH) NULL, "i2" INTERVAL DAY(6) TO SECOND (9) DEFAULT (INTERVAL '1 2:34:56.789' DAY TO SECOND) NOT NULL ); +CREATE TABLE T1 ( + "NAME" VARCHAR(10) NOT NULL, + "ID" INT NOT NULL, + "ADDRESS" VARCHAR(255), + "SQ_NUMBER" NUMBER(10), + "PQ_NUMBER" NUMBER(10), + CONSTRAINTS UQ1 UNIQUE ("SQ_NUMBER", "PQ_NUMBER")); -- Create index (Oracle 23+) create index hr.name IF NOT EXISTS on hr.table (id,data) tablespace ts; -- Create user (Oracle 23+)