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

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


The following commit(s) were added to refs/heads/master by this push:
     new 9e06de98 [Fix](cdc) When a doris field has default value '' (empty 
str), the ddl to modify the column type is  incorrectly (#600)
9e06de98 is described below

commit 9e06de984e199f352afd603f231976f9131d9eb7
Author: potterhe <[email protected]>
AuthorDate: Wed Jun 11 14:11:08 2025 +0800

    [Fix](cdc) When a doris field has default value '' (empty str), the ddl to 
modify the column type is  incorrectly (#600)
---
 .../flink/sink/schema/SchemaChangeHelper.java      |  2 +-
 .../flink/sink/schema/SchemaManagerITCase.java     | 31 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/sink/schema/SchemaChangeHelper.java
 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/sink/schema/SchemaChangeHelper.java
index b772ec3d..aacd6f7f 100644
--- 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/sink/schema/SchemaChangeHelper.java
+++ 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/sink/schema/SchemaChangeHelper.java
@@ -175,7 +175,7 @@ public class SchemaChangeHelper {
                                 
DorisSchemaFactory.quoteTableIdentifier(tableIdentifier),
                                 DorisSchemaFactory.identifier(columnName),
                                 dataType));
-        if (StringUtils.isNotBlank(defaultValue)) {
+        if (defaultValue != null) {
             modifyDDL
                     .append(" DEFAULT ")
                     
.append(DorisSchemaFactory.quoteDefaultValue(defaultValue));
diff --git 
a/flink-doris-connector/src/test/java/org/apache/doris/flink/sink/schema/SchemaManagerITCase.java
 
b/flink-doris-connector/src/test/java/org/apache/doris/flink/sink/schema/SchemaManagerITCase.java
index b3cc0abc..67f731bb 100644
--- 
a/flink-doris-connector/src/test/java/org/apache/doris/flink/sink/schema/SchemaManagerITCase.java
+++ 
b/flink-doris-connector/src/test/java/org/apache/doris/flink/sink/schema/SchemaManagerITCase.java
@@ -291,6 +291,37 @@ public class SchemaManagerITCase extends 
AbstractITCaseService {
         Assert.assertEquals(newColumnType, columnType.toLowerCase());
     }
 
+    @Test
+    public void testModifyColumnTypeWithDefault2()
+            throws IOException, IllegalArgumentException, InterruptedException 
{
+        String modifyColumnTbls = "modify_column_type_with_default_value2";
+        ContainerUtils.executeSQLStatement(
+                getDorisQueryConnection(),
+                LOG,
+                String.format("CREATE DATABASE IF NOT EXISTS %s", DATABASE),
+                String.format("DROP TABLE IF EXISTS %s.%s", DATABASE, 
modifyColumnTbls),
+                String.format(
+                        "CREATE TABLE %s.%s ( \n"
+                                + "`id` int not null,\n"
+                                + "`cname` varchar(10) NOT NULL DEFAULT ''\n"
+                                + ")"
+                                + "UNIQUE KEY(`id`)\n"
+                                + "DISTRIBUTED BY HASH(`id`) BUCKETS 1\n"
+                                + "PROPERTIES (\n"
+                                + "\"replication_num\" = \"1\"\n"
+                                + ")\n",
+                        DATABASE, modifyColumnTbls));
+
+        String columnName = "cname";
+        String newColumnType = "varchar(11)";
+        FieldSchema field = new FieldSchema(columnName, newColumnType, "");
+        schemaChangeManager.modifyColumnDataType(DATABASE, modifyColumnTbls, 
field);
+
+        Thread.sleep(3_000);
+        String columnType = getColumnType(modifyColumnTbls, columnName);
+        Assert.assertEquals("varchar", columnType.toLowerCase());
+    }
+
     @Test
     public void testModifyColumnTypeWithDefaultAndChange()
             throws IOException, IllegalArgumentException, InterruptedException 
{


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to