This is an automated email from the ASF dual-hosted git repository.

kunni pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-cdc.git


The following commit(s) were added to refs/heads/master by this push:
     new f9b9f0cec [Flink-38238] Support varchar(0) and map to cdc string type 
(#4097)
f9b9f0cec is described below

commit f9b9f0cec5edc40be2eec2f5c5958c0cdc10ff2d
Author: proletarians <75650402+proletari...@users.noreply.github.com>
AuthorDate: Fri Aug 15 17:47:03 2025 +0800

    [Flink-38238] Support varchar(0) and map to cdc string type (#4097)
    
    Co-authored-by: wuzexian <shanqing....@alibaba-inc.com>
---
 .../cdc/connectors/mysql/utils/MySqlTypeUtils.java |  5 ++++-
 .../mysql/source/MySqlFullTypesITCase.java         |  4 +++-
 .../mysql/source/MySqlMetadataAccessorITCase.java  |  2 ++
 .../mysql/source/MySqlPipelineITCase.java          | 12 +++++++++++
 .../src/test/resources/ddl/column_type_test.sql    |  3 ++-
 .../test/resources/ddl/column_type_test_mysql8.sql |  4 +++-
 .../connectors/mysql/schema/MySqlTypeUtils.java    |  4 +++-
 .../mysql/table/MySqlConnectorITCase.java          | 10 ++++++++-
 .../src/test/resources/ddl/column_type_test.sql    |  4 +++-
 .../test/resources/ddl/column_type_test_mysql8.sql |  4 +++-
 ...m-data-schema-exclude-with-numeric-decimal.json |  9 +++++---
 .../file/debezium-data-schema-exclude.json         |  9 +++++---
 .../file/debezium-data-schema-include.json         | 24 +++++++++++++++++++---
 13 files changed, 77 insertions(+), 17 deletions(-)

diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/main/java/org/apache/flink/cdc/connectors/mysql/utils/MySqlTypeUtils.java
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/main/java/org/apache/flink/cdc/connectors/mysql/utils/MySqlTypeUtils.java
index ceb5cd825..4cc8758ef 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/main/java/org/apache/flink/cdc/connectors/mysql/utils/MySqlTypeUtils.java
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/main/java/org/apache/flink/cdc/connectors/mysql/utils/MySqlTypeUtils.java
@@ -21,6 +21,7 @@ import org.apache.flink.cdc.common.types.BinaryType;
 import org.apache.flink.cdc.common.types.CharType;
 import org.apache.flink.cdc.common.types.DataType;
 import org.apache.flink.cdc.common.types.DataTypes;
+import org.apache.flink.cdc.common.types.VarCharType;
 
 import io.debezium.relational.Column;
 
@@ -215,7 +216,9 @@ public class MySqlTypeUtils {
                         ? DataTypes.CHAR(column.length())
                         : column.length() == 0 ? CharType.ofEmptyLiteral() : 
DataTypes.CHAR(1);
             case VARCHAR:
-                return DataTypes.VARCHAR(column.length());
+                return column.length() == 0
+                        ? VarCharType.stringType()
+                        : DataTypes.VARCHAR(column.length());
             case TINYTEXT:
             case TEXT:
             case MEDIUMTEXT:
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlFullTypesITCase.java
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlFullTypesITCase.java
index 1e9191819..42149246a 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlFullTypesITCase.java
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlFullTypesITCase.java
@@ -470,7 +470,8 @@ class MySqlFullTypesITCase extends MySqlSourceTestBase {
                     BinaryStringData.fromString(expectMultipolygonJsonText),
                     
BinaryStringData.fromString(expectGeometryCollectionJsonText),
                     BinaryStringData.fromString("long"),
-                    BinaryStringData.fromString("long varchar")
+                    BinaryStringData.fromString("long varchar"),
+                    BinaryStringData.fromString("")
                 };
 
         // skip CreateTableEvent
@@ -683,6 +684,7 @@ class MySqlFullTypesITCase extends MySqlSourceTestBase {
                     DataTypes.STRING(),
                     DataTypes.STRING(),
                     DataTypes.STRING(),
+                    DataTypes.STRING(),
                     DataTypes.STRING());
 
     private static final RowType JSON_TYPES =
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlMetadataAccessorITCase.java
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlMetadataAccessorITCase.java
index 3fe1c664a..c1c1bf6ed 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlMetadataAccessorITCase.java
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlMetadataAccessorITCase.java
@@ -467,6 +467,7 @@ class MySqlMetadataAccessorITCase extends 
MySqlSourceTestBase {
                                             DataTypes.STRING(),
                                             DataTypes.STRING(),
                                             DataTypes.STRING(),
+                                            DataTypes.STRING(),
                                             DataTypes.STRING()
                                         },
                                         new String[] {
@@ -525,6 +526,7 @@ class MySqlMetadataAccessorITCase extends 
MySqlSourceTestBase {
                                             "geometrycollection_c",
                                             "long_c",
                                             "long_varchar_c",
+                                            "varchar_len0_c"
                                         }))
                         .build();
         assertThat(actualSchema).isEqualTo(expectedSchema);
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlPipelineITCase.java
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlPipelineITCase.java
index b6760ce26..7504e80fd 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlPipelineITCase.java
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/java/org/apache/flink/cdc/connectors/mysql/source/MySqlPipelineITCase.java
@@ -1172,6 +1172,18 @@ class MySqlPipelineITCase extends MySqlSourceTestBase {
                     new TruncateTableEvent(
                             
TableId.tableId(inventoryDatabase.getDatabaseName(), "orders")));
 
+            statement.execute(
+                    String.format(
+                            "ALTER TABLE `%s`.`customers` ADD COLUMN 
`varchar0` VARCHAR(0) NULL;",
+                            inventoryDatabase.getDatabaseName()));
+            expected.add(
+                    new AddColumnEvent(
+                            
TableId.tableId(inventoryDatabase.getDatabaseName(), "customers"),
+                            Collections.singletonList(
+                                    new AddColumnEvent.ColumnWithPosition(
+                                            Column.physicalColumn(
+                                                    "varchar0", 
DataTypes.STRING())))));
+
             // Test drop table DDL
             statement.execute(
                     String.format(
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test.sql
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test.sql
index 53107ec59..7f408d7fb 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test.sql
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test.sql
@@ -74,6 +74,7 @@ CREATE TABLE common_types
     geometrycollection_c GEOMETRYCOLLECTION,
     long_c               LONG,
     long_varchar_c       LONG VARCHAR,
+    varchar_len0_c        VARCHAR(0),
     PRIMARY KEY (id)
 ) DEFAULT CHARSET=utf8;
 
@@ -97,7 +98,7 @@ VALUES (DEFAULT, 127, 255, 255, 32767, 65535, 65535, 8388607, 
16777215, 16777215
         ST_GeomFromText('MultiLineString((1 1,2 2,3 3),(4 4,5 5))'),
         ST_GeomFromText('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)), ((5 5, 
7 5, 7 7, 5 7, 5 5)))'),
         ST_GeomFromText('GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), 
LINESTRING(15 15, 20 20))'),
-        'long','long varchar');
+        'long','long varchar','');
 
 CREATE TABLE time_types
 (
diff --git 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test_mysql8.sql
 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test_mysql8.sql
index de0574109..836296a72 100644
--- 
a/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test_mysql8.sql
+++ 
b/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-pipeline-connector-mysql/src/test/resources/ddl/column_type_test_mysql8.sql
@@ -74,6 +74,7 @@ CREATE TABLE common_types
     geometrycollection_c GEOMETRYCOLLECTION,
     long_c               LONG,
     long_varchar_c       LONG VARCHAR,
+    varchar_len0_c        VARCHAR(0),
     PRIMARY KEY (id)
 ) DEFAULT CHARSET=utf8;
 
@@ -97,7 +98,8 @@ VALUES (DEFAULT, 127, 255, 255, 32767, 65535, 65535, 8388607, 
16777215, 16777215
         ST_GeomFromText('MultiLineString((1 1,2 2,3 3),(4 4,5 5))'),
         ST_GeomFromText('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)), ((5 5, 
7 5, 7 7, 5 7, 5 5)))'),
         ST_GeomFromText('GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), 
LINESTRING(15 15, 20 20))'),
-        'long','long varchar');
+        'long','long varchar',
+        '');
 
 CREATE TABLE time_types
 (
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/schema/MySqlTypeUtils.java
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/schema/MySqlTypeUtils.java
index bd7700818..3a406ff9b 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/schema/MySqlTypeUtils.java
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/schema/MySqlTypeUtils.java
@@ -202,7 +202,9 @@ public class MySqlTypeUtils {
             case CHAR:
                 return DataTypes.CHAR(column.length());
             case VARCHAR:
-                return DataTypes.VARCHAR(column.length());
+                return column.length() == 0
+                        ? DataTypes.STRING()
+                        : DataTypes.VARCHAR(column.length());
             case TINYTEXT:
             case TEXT:
             case MEDIUMTEXT:
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/java/org/apache/flink/cdc/connectors/mysql/table/MySqlConnectorITCase.java
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/java/org/apache/flink/cdc/connectors/mysql/table/MySqlConnectorITCase.java
index 7cc5fe586..0d89e8ba5 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/java/org/apache/flink/cdc/connectors/mysql/table/MySqlConnectorITCase.java
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/java/org/apache/flink/cdc/connectors/mysql/table/MySqlConnectorITCase.java
@@ -568,6 +568,7 @@ class MySqlConnectorITCase extends MySqlSourceTestBase {
                                 + "    multiline_c STRING,\n"
                                 + "    multipolygon_c STRING,\n"
                                 + "    geometrycollection_c STRING,\n"
+                                + "    varchar_len0_c STRING,\n"
                                 + "    primary key (`id`) not enforced"
                                 + ") WITH ("
                                 + " 'connector' = 'mysql-cdc',"
@@ -653,7 +654,8 @@ class MySqlConnectorITCase extends MySqlSourceTestBase {
                                 + "multipoint_c, \n"
                                 + "multiline_c, \n"
                                 + "multipolygon_c, \n"
-                                + "geometrycollection_c \n"
+                                + "geometrycollection_c, \n"
+                                + "varchar_len0_c \n"
                                 + " FROM full_types");
 
         CloseableIterator<Row> iterator = result.collect();
@@ -702,6 +704,8 @@ class MySqlConnectorITCase extends MySqlSourceTestBase {
                             + expectMultipolygonJsonText
                             + ", "
                             + expectGeometryCollectionJsonText
+                            + ", "
+                            + ""
                             + "]",
                     "-U[1, 127, 255, 255, 32767, 65535, 65535, 8388607, 
16777215, 16777215, 2147483647, 4294967295, 4294967295,"
                             + " 2147483647, 9223372036854775807, 
18446744073709551615, 18446744073709551615, Hello World, abc, 123.102,"
@@ -725,6 +729,8 @@ class MySqlConnectorITCase extends MySqlSourceTestBase {
                             + expectMultipolygonJsonText
                             + ", "
                             + expectGeometryCollectionJsonText
+                            + ", "
+                            + ""
                             + "]",
                     "+U[1, 127, 255, 255, 32767, 65535, 65535, 8388607, 
16777215, 16777215, 2147483647, 4294967295, 4294967295,"
                             + " 2147483647, 9223372036854775807, 
18446744073709551615, 18446744073709551615, Hello World, abc, 123.102,"
@@ -748,6 +754,8 @@ class MySqlConnectorITCase extends MySqlSourceTestBase {
                             + expectMultipolygonJsonText
                             + ", "
                             + expectGeometryCollectionJsonText
+                            + ", "
+                            + ""
                             + "]",
                 };
 
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test.sql
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test.sql
index b75fd69f0..235fd2d11 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test.sql
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test.sql
@@ -77,6 +77,7 @@ CREATE TABLE full_types
     multiline_c          MULTILINESTRING,
     multipolygon_c       MULTIPOLYGON,
     geometrycollection_c GEOMETRYCOLLECTION,
+    varchar_len0_c        VARCHAR(0),
     PRIMARY KEY (id)
 ) DEFAULT CHARSET=utf8;
 
@@ -101,7 +102,8 @@ VALUES (DEFAULT, 127, 255, 255, 32767, 65535, 65535, 
8388607, 16777215, 16777215
         ST_GeomFromText('MULTIPOINT((1 1),(2 2))'),
         ST_GeomFromText('MultiLineString((1 1,2 2,3 3),(4 4,5 5))'),
         ST_GeomFromText('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)), ((5 5, 
7 5, 7 7, 5 7, 5 5)))'),
-        ST_GeomFromText('GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), 
LINESTRING(15 15, 20 20))'));
+        ST_GeomFromText('GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), 
LINESTRING(15 15, 20 20))'),
+        '');
 
 CREATE TABLE user_info
 (
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test_mysql8.sql
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test_mysql8.sql
index 842cfcc51..fb3a6bc2d 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test_mysql8.sql
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/ddl/column_type_test_mysql8.sql
@@ -77,6 +77,7 @@ CREATE TABLE full_types
     multiline_c          MULTILINESTRING,
     multipolygon_c       MULTIPOLYGON,
     geometrycollection_c GEOMCOLLECTION,
+    varchar_len0_c        VARCHAR(0),
     PRIMARY KEY (id)
 ) DEFAULT CHARSET=utf8;
 
@@ -100,4 +101,5 @@ VALUES (DEFAULT, 127, 255, 255, 32767, 65535, 65535, 
8388607, 16777215, 16777215
         ST_GeomFromText('MULTIPOINT((1 1),(2 2))'),
         ST_GeomFromText('MultiLineString((1 1,2 2,3 3),(4 4,5 5))'),
         ST_GeomFromText('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)), ((5 5, 
7 5, 7 7, 5 7, 5 5)))'),
-        ST_GeomFromText('GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), 
LINESTRING(15 15, 20 20))'));
+        ST_GeomFromText('GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30), 
LINESTRING(15 15, 20 20))'),
+        '');
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude-with-numeric-decimal.json
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude-with-numeric-decimal.json
index 20c641df5..ef06770c1 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude-with-numeric-decimal.json
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude-with-numeric-decimal.json
@@ -59,7 +59,8 @@
             "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
             "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
             "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+            "varchar_len0_c": ""
         },
         "op": "r",
         "transaction": null
@@ -123,7 +124,8 @@
             "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
             "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
             "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+            "varchar_len0_c": ""
         },
         "after": {
             "id": 1,
@@ -183,7 +185,8 @@
             "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
             "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
             "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+            "varchar_len0_c": ""
         },
         "op": "u",
         "transaction": null
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude.json
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude.json
index 41cc94b37..f387a5b37 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude.json
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-exclude.json
@@ -59,7 +59,8 @@
             "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
             "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
             "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+            "varchar_len0_c": ""
         },
         "op": "r",
         "transaction": null
@@ -123,7 +124,8 @@
             "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
             "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
             "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+            "varchar_len0_c": ""
         },
         "after": {
             "id": "AQ==",
@@ -183,7 +185,8 @@
             "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
             "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
             "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+            "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+            "varchar_len0_c": ""
         },
         "op": "u",
         "transaction": null
diff --git 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-include.json
 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-include.json
index 74dc65456..cd22ed0ae 100644
--- 
a/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-include.json
+++ 
b/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/test/resources/file/debezium-data-schema-include.json
@@ -269,6 +269,11 @@
                             "type": "string",
                             "optional": true,
                             "field": "geometrycollection_c"
+                        },
+                        {
+                            "type": "string",
+                            "optional": true,
+                            "field": "varchar_len0_c"
                         }
                     ],
                     "optional": true,
@@ -541,6 +546,11 @@
                             "type": "string",
                             "optional": true,
                             "field": "geometrycollection_c"
+                        },
+                        {
+                            "type": "string",
+                            "optional": true,
+                            "field": "varchar_len0_c"
                         }
                     ],
                     "optional": true,
@@ -732,7 +742,8 @@
                 "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
                 "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
                 "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-                "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+                "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+                "varchar_len0_c": ""
             },
             "source": {
                 "version": "1.5.2.Final",
@@ -1023,6 +1034,11 @@
                     "type": "string",
                     "optional": true,
                     "field": "geometrycollection_c"
+                },
+                {
+                    "type": "string",
+                    "optional": true,
+                    "field": "varchar_len0_c"
                 }
             ],
             "optional": false,
@@ -1087,7 +1103,8 @@
                 "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
                 "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
                 "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-                "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+                "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+                "varchar_len0_c": ""
             },
             "after": {
                 "id": "AQ==",
@@ -1147,7 +1164,8 @@
                 "multipoint_c": 
{"wkb":"AQQAAAACAAAAAQEAAAAAAAAAAADwPwAAAAAAAPA/AQEAAAAAAAAAAAAAQAAAAAAAAABA","srid":null},
                 "multiline_c": 
{"wkb":"AQUAAAACAAAAAQIAAAADAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAQIAAAACAAAAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEA=","srid":null},
                 "multipolygon_c": 
{"wkb":"AQYAAAACAAAAAQMAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAQMAAAABAAAABQAAAAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUQAAAAAAAABRA","srid":null},
-                "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null}
+                "geometrycollection_c": 
{"wkb":"AQcAAAADAAAAAQEAAAAAAAAAAAAkQAAAAAAAACRAAQEAAAAAAAAAAAA+QAAAAAAAAD5AAQIAAAACAAAAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEA=","srid":null},
+                "varchar_len0_c": ""
             },
             "source": {
                 "version": "1.5.2.Final",

Reply via email to