This is an automated email from the ASF dual-hosted git repository.
wuchunfu pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 7130382123 [Hotifx][Jdbc] Fix MySQL unsupport 'ZEROFILL' column type
(#7407)
7130382123 is described below
commit 71303821238f02125eb668ad4fb20dd48b00a152
Author: hailin0 <[email protected]>
AuthorDate: Fri Aug 16 15:41:35 2024 +0800
[Hotifx][Jdbc] Fix MySQL unsupport 'ZEROFILL' column type (#7407)
---
.../jdbc/internal/dialect/mysql/MySqlTypeConverter.java | 4 ++++
.../jdbc/internal/dialect/mysql/MySqlTypeConverterTest.java | 11 +++++++++++
2 files changed, 15 insertions(+)
diff --git
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverter.java
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverter.java
index 6d0fb80af9..5d8f7809cf 100644
---
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverter.java
+++
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverter.java
@@ -129,6 +129,10 @@ public class MySqlTypeConverter implements
TypeConverter<BasicTypeDefine<MysqlTy
.comment(typeDefine.getComment());
String mysqlDataType = typeDefine.getDataType().toUpperCase();
+ if (mysqlDataType.endsWith("ZEROFILL")) {
+ mysqlDataType =
+ mysqlDataType.substring(0, mysqlDataType.length() -
"ZEROFILL".length()).trim();
+ }
if (typeDefine.isUnsigned() && !(mysqlDataType.endsWith(" UNSIGNED")))
{
mysqlDataType = mysqlDataType + " UNSIGNED";
}
diff --git
a/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverterTest.java
b/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverterTest.java
index 2e11212b31..fa0b71594e 100644
---
a/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverterTest.java
+++
b/seatunnel-connectors-v2/connector-jdbc/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/mysql/MySqlTypeConverterTest.java
@@ -263,6 +263,17 @@ public class MySqlTypeConverterTest {
Assertions.assertEquals(typeDefine.getName(), column.getName());
Assertions.assertEquals(new DecimalType(20, 0), column.getDataType());
Assertions.assertEquals(typeDefine.getColumnType(),
column.getSourceType());
+
+ typeDefine =
+ BasicTypeDefine.builder()
+ .name("test")
+ .columnType("bigint unsigned zerofill")
+ .dataType("bigint unsigned zerofill")
+ .build();
+ column = MySqlTypeConverter.DEFAULT_INSTANCE.convert(typeDefine);
+ Assertions.assertEquals(typeDefine.getName(), column.getName());
+ Assertions.assertEquals(new DecimalType(20, 0), column.getDataType());
+ Assertions.assertEquals(typeDefine.getColumnType(),
column.getSourceType());
}
@Test