From cc6aa0e20f2c3df3ba932eeaf96dce3209f6ea20 Mon Sep 17 00:00:00 2001 From: Vojtech Juranek Date: Wed, 21 Jun 2023 10:01:15 +0200 Subject: [PATCH] DBZ-6590 Support MySQL CAST AS DEC CLI example: > SELECT CAST('1' AS DEC); +------------------+ | CAST('1' AS DEC) | +------------------+ | 1 | +------------------+ --- .../io/debezium/ddl/parser/mysql/generated/MySqlParser.g4 | 2 +- .../src/test/resources/mysql/examples/dml_select.sql | 3 +++ 2 files changed, 4 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 f2e79f5e3..fb50d9942 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 @@ -2348,7 +2348,7 @@ convertedDataType typeName=(BINARY| NCHAR) lengthOneDimension? | typeName=CHAR lengthOneDimension? (charSet charsetName)? | typeName=(DATE | DATETIME | TIME | JSON | INT | INTEGER) - | typeName=DECIMAL lengthTwoOptionalDimension? + | typeName=(DECIMAL | DEC) lengthTwoOptionalDimension? | (SIGNED | UNSIGNED) INTEGER? ) ARRAY? ; diff --git a/debezium-ddl-parser/src/test/resources/mysql/examples/dml_select.sql b/debezium-ddl-parser/src/test/resources/mysql/examples/dml_select.sql index adf531d1d..273c94fcf 100644 --- a/debezium-ddl-parser/src/test/resources/mysql/examples/dml_select.sql +++ b/debezium-ddl-parser/src/test/resources/mysql/examples/dml_select.sql @@ -132,6 +132,9 @@ select t.*, tt.* FROM wptests_terms AS t INNER JOIN wptests_term_taxonomy AS t -- cast as integer SELECT CAST('1' AS INT); SELECT CAST('1' AS INTEGER); +-- cast as decimal +SELECT CAST('1' AS DECIMAL); +SELECT CAST('1' AS DEC); #end #begin -- JSON functions