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

lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new fb43b65b9 [cdc] add integer type for mysql cdc (#3506)
fb43b65b9 is described below

commit fb43b65b9d3801f2299bc7511e1f83f87be2e576
Author: MOBIN <[email protected]>
AuthorDate: Wed Jun 12 10:55:09 2024 +0800

    [cdc] add integer type for mysql cdc (#3506)
---
 .../paimon/flink/action/cdc/mysql/MySqlTypeUtils.java     |  6 ++++++
 .../action/cdc/mysql/MySqlSyncTableActionITCase.java      | 15 +++++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git 
a/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
 
b/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
index 5b5efa1cf..2bc916671 100644
--- 
a/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
+++ 
b/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
@@ -72,6 +72,9 @@ public class MySqlTypeUtils {
     private static final String INT = "INT";
     private static final String INT_UNSIGNED = "INT UNSIGNED";
     private static final String INT_UNSIGNED_ZEROFILL = "INT UNSIGNED 
ZEROFILL";
+    private static final String INTEGER = "INTEGER";
+    private static final String INTEGER_UNSIGNED = "INTEGER UNSIGNED";
+    private static final String INTEGER_UNSIGNED_ZEROFILL = "INTEGER UNSIGNED 
ZEROFILL";
     private static final String BIGINT = "BIGINT";
     private static final String SERIAL = "SERIAL";
     private static final String BIGINT_UNSIGNED = "BIGINT UNSIGNED";
@@ -197,11 +200,14 @@ public class MySqlTypeUtils {
             case SMALLINT_UNSIGNED:
             case SMALLINT_UNSIGNED_ZEROFILL:
             case INT:
+            case INTEGER:
             case MEDIUMINT:
             case YEAR:
                 return DataTypes.INT();
             case INT_UNSIGNED:
+            case INTEGER_UNSIGNED:
             case INT_UNSIGNED_ZEROFILL:
+            case INTEGER_UNSIGNED_ZEROFILL:
             case MEDIUMINT_UNSIGNED:
             case MEDIUMINT_UNSIGNED_ZEROFILL:
             case BIGINT:
diff --git 
a/paimon-flink/paimon-flink-cdc/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
 
b/paimon-flink/paimon-flink-cdc/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
index fb78d16eb..db8e1744b 100644
--- 
a/paimon-flink/paimon-flink-cdc/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
+++ 
b/paimon-flink/paimon-flink-cdc/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
@@ -297,11 +297,11 @@ public class MySqlSyncTableActionITCase extends 
MySqlActionITCaseBase {
                         + "MODIFY COLUMN v1 VARCHAR(20), "
                         // I'd love to change COMMENT to DEFAULT
                         // however debezium parser seems to have a bug here
-                        + "ADD COLUMN (v5 DOUBLE, v6 DECIMAL(5, 3), `$% ^,& 
*(` VARCHAR(10) COMMENT 'Hi, v700 DOUBLE \\', v701 INT a test'), "
+                        + "ADD COLUMN (v5 DOUBLE, v6 DECIMAL(5, 3), `$% ^,& 
*(` VARCHAR(10), v7 INTEGER COMMENT 'Hi, v700 DOUBLE \\', v701 INT a test'), "
                         + "MODIFY v2 BIGINT");
         statement.executeUpdate(
                 "INSERT INTO schema_evolution_multiple VALUES "
-                        + "(2, 'long_string_two', 2000000000000, 'string_2', 
20, 20.5, 20.002, 'test_2')");
+                        + "(2, 'long_string_two', 2000000000000, 'string_2', 
20, 20.5, 20.002, 'test_2', 200)");
         rowType =
                 RowType.of(
                         new DataType[] {
@@ -312,13 +312,16 @@ public class MySqlSyncTableActionITCase extends 
MySqlActionITCaseBase {
                             DataTypes.INT(),
                             DataTypes.DOUBLE(),
                             DataTypes.DECIMAL(5, 3),
-                            DataTypes.VARCHAR(10)
+                            DataTypes.VARCHAR(10),
+                            DataTypes.INT(),
                         },
-                        new String[] {"_id", "v1", "v2", "v3", "v4", "v5", 
"v6", "$% ^,& *("});
+                        new String[] {
+                            "_id", "v1", "v2", "v3", "v4", "v5", "v6", "$% ^,& 
*(", "v7"
+                        });
         expected =
                 Arrays.asList(
-                        "+I[1, one, 10, string_1, NULL, NULL, NULL, NULL]",
-                        "+I[2, long_string_two, 2000000000000, string_2, 20, 
20.5, 20.002, test_2]");
+                        "+I[1, one, 10, string_1, NULL, NULL, NULL, NULL, 
NULL]",
+                        "+I[2, long_string_two, 2000000000000, string_2, 20, 
20.5, 20.002, test_2, 200]");
         waitForResult(expected, table, rowType, primaryKeys);
     }
 

Reply via email to