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/incubator-paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new 0e4d4e82a [flink] add support for longtext , longblob for mysql cdc 
(#944)
0e4d4e82a is described below

commit 0e4d4e82a6bf4d692917c1bc8444dc8af03d1238
Author: JunZhang <[email protected]>
AuthorDate: Thu Apr 20 17:37:50 2023 +0800

    [flink] add support for longtext , longblob for mysql cdc (#944)
---
 .../paimon/flink/action/cdc/mysql/MySqlTypeUtils.java   |  2 ++
 .../action/cdc/mysql/MySqlSyncTableActionITCase.java    | 17 +++++++++++------
 .../src/test/resources/mysql/setup.sql                  | 10 ++++++----
 3 files changed, 19 insertions(+), 10 deletions(-)

diff --git 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
index 1c1f813db..7af5ee124 100644
--- 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
+++ 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/action/cdc/mysql/MySqlTypeUtils.java
@@ -184,12 +184,14 @@ public class MySqlTypeUtils {
             case VARCHAR:
                 return DataTypes.VARCHAR(Preconditions.checkNotNull(length));
             case TEXT:
+            case LONGTEXT:
                 return DataTypes.STRING();
             case BINARY:
                 return DataTypes.BINARY(Preconditions.checkNotNull(length));
             case VARBINARY:
                 return DataTypes.VARBINARY(Preconditions.checkNotNull(length));
             case BLOB:
+            case LONGBLOB:
                 return DataTypes.BYTES();
             default:
                 throw new UnsupportedOperationException(
diff --git 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
index b2f845177..cbc8772d5 100644
--- 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
+++ 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java
@@ -424,9 +424,11 @@ public class MySqlSyncTableActionITCase extends 
MySqlActionITCaseBase {
                             DataTypes.CHAR(10), // _char
                             DataTypes.VARCHAR(20), // _varchar
                             DataTypes.STRING(), // _text
+                            DataTypes.STRING(), // _longtext
                             DataTypes.BINARY(10), // _bin
                             DataTypes.VARBINARY(20), // _varbin
-                            DataTypes.BYTES() // _blob
+                            DataTypes.BYTES(), // _blob
+                            DataTypes.BYTES() // _longblob
                         },
                         new String[] {
                             "_id",
@@ -479,9 +481,11 @@ public class MySqlSyncTableActionITCase extends 
MySqlActionITCaseBase {
                             "_char",
                             "_varchar",
                             "_text",
+                            "_longtext",
                             "_bin",
                             "_varbin",
-                            "_blob"
+                            "_blob",
+                            "_longblob"
                         });
         FileStoreTable table = getFileStoreTable();
         List<String> expected =
@@ -504,10 +508,11 @@ public class MySqlSyncTableActionITCase extends 
MySqlActionITCaseBase {
                                 + "2023-03-23T14:30:05, 
2023-03-23T14:30:05.123, 2023-03-23T14:30:05.123456, "
                                 + "2023-03-24T14:30, 2023-03-24T14:30:05.120, "
                                 + "2023-03-23T15:00:10.123456, "
-                                + "Paimon, Apache Paimon, Apache Paimon MySQL 
Test Data, "
+                                + "Paimon, Apache Paimon, Apache Paimon MySQL 
Test Data, Apache Paimon MySQL Long Test Data, "
                                 + "[98, 121, 116, 101, 115, 0, 0, 0, 0, 0], "
                                 + "[109, 111, 114, 101, 32, 98, 121, 116, 101, 
115], "
-                                + "[118, 101, 114, 121, 32, 108, 111, 110, 
103, 32, 98, 121, 116, 101, 115, 32, 116, 101, 115, 116, 32, 100, 97, 116, 97]"
+                                + "[118, 101, 114, 121, 32, 108, 111, 110, 
103, 32, 98, 121, 116, 101, 115, 32, 116, 101, 115, 116, 32, 100, 97, 116, 97], 
"
+                                + "[108, 111, 110, 103, 32, 98, 108, 111, 98, 
32, 98, 121, 116, 101, 115, 32, 116, 101, 115, 116, 32, 100, 97, 116, 97]"
                                 + "]",
                         "+I["
                                 + "2, 2.2, "
@@ -527,8 +532,8 @@ public class MySqlSyncTableActionITCase extends 
MySqlActionITCaseBase {
                                 + "NULL, NULL, NULL, "
                                 + "NULL, NULL, "
                                 + "NULL, "
-                                + "NULL, NULL, NULL, "
-                                + "NULL, NULL, NULL"
+                                + "NULL, NULL, NULL, NULL, "
+                                + "NULL, NULL, NULL, NULL"
                                 + "]");
         waitForResult(expected, table, rowType, Arrays.asList("pt", "_id"));
 
diff --git 
a/paimon-flink/paimon-flink-common/src/test/resources/mysql/setup.sql 
b/paimon-flink/paimon-flink-common/src/test/resources/mysql/setup.sql
index 715263831..6ff27fc15 100644
--- a/paimon-flink/paimon-flink-common/src/test/resources/mysql/setup.sql
+++ b/paimon-flink/paimon-flink-common/src/test/resources/mysql/setup.sql
@@ -117,10 +117,12 @@ CREATE TABLE all_types_table (
     _char CHAR(10),
     _varchar VARCHAR(20),
     _text TEXT,
+    _longtext LONGTEXT,
     -- BINARY
     _bin BINARY(10),
     _varbin VARBINARY(20),
     _blob BLOB,
+    _longblob LONGBLOB,
     PRIMARY KEY (_id)
 );
 
@@ -159,9 +161,9 @@ INSERT INTO all_types_table VALUES (
     -- TIMESTAMP
     '2023-03-23 15:00:10.123456',
     -- string
-    'Paimon', 'Apache Paimon', 'Apache Paimon MySQL Test Data',
+    'Paimon', 'Apache Paimon', 'Apache Paimon MySQL Test Data', 'Apache Paimon 
MySQL Long Test Data',
     -- BINARY
-    'bytes', 'more bytes', 'very long bytes test data'
+    'bytes', 'more bytes', 'very long bytes test data', 'long blob bytes test 
data'
 ), (
     2, 2.2,
     NULL, NULL, NULL, NULL,
@@ -180,8 +182,8 @@ INSERT INTO all_types_table VALUES (
     NULL, NULL, NULL,
     NULL, NULL,
     NULL,
-    NULL, NULL, NULL,
-    NULL, NULL, NULL
+    NULL, NULL, NULL, NULL,
+    NULL, NULL, NULL, NULL
 );
 
 CREATE TABLE incompatible_field_1 (

Reply via email to