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

wanghailin 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 207b8c16fd [Improve][Connector-V2] Add doris/starrocks create table 
with comment (#7847)
207b8c16fd is described below

commit 207b8c16fd71540409d9493d8106dff7894917f8
Author: Jia Fan <[email protected]>
AuthorDate: Wed Oct 16 22:53:52 2024 +0800

    [Improve][Connector-V2] Add doris/starrocks create table with comment 
(#7847)
---
 .../apache/seatunnel/connectors/doris/util/DorisCatalogUtil.java   | 7 +++++--
 .../seatunnel/connectors/doris/catalog/DorisCreateTableTest.java   | 6 ++++--
 .../connectors/seatunnel/starrocks/sink/StarRocksSaveModeUtil.java | 7 +++++--
 .../seatunnel/starrocks/catalog/StarRocksCreateTableTest.java      | 6 ++++--
 .../org/apache/seatunnel/e2e/connector/doris/DorisCatalogIT.java   | 3 +++
 5 files changed, 21 insertions(+), 8 deletions(-)

diff --git 
a/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/util/DorisCatalogUtil.java
 
b/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/util/DorisCatalogUtil.java
index 5025caed21..e4f8804be0 100644
--- 
a/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/util/DorisCatalogUtil.java
+++ 
b/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/util/DorisCatalogUtil.java
@@ -252,9 +252,12 @@ public class DorisCatalogUtil {
             Column column, TypeConverter<BasicTypeDefine> typeConverter) {
         checkNotNull(column, "The column is required.");
         return String.format(
-                "`%s` %s %s ",
+                "`%s` %s %s %s",
                 column.getName(),
                 typeConverter.reconvert(column).getColumnType(),
-                column.isNullable() ? "NULL" : "NOT NULL");
+                column.isNullable() ? "NULL" : "NOT NULL",
+                StringUtils.isEmpty(column.getComment())
+                        ? ""
+                        : "COMMENT '" + column.getComment() + "'");
     }
 }
diff --git 
a/seatunnel-connectors-v2/connector-doris/src/test/java/org/apache/seatunnel/connectors/doris/catalog/DorisCreateTableTest.java
 
b/seatunnel-connectors-v2/connector-doris/src/test/java/org/apache/seatunnel/connectors/doris/catalog/DorisCreateTableTest.java
index 09a5b6a329..02b3c5478f 100644
--- 
a/seatunnel-connectors-v2/connector-doris/src/test/java/org/apache/seatunnel/connectors/doris/catalog/DorisCreateTableTest.java
+++ 
b/seatunnel-connectors-v2/connector-doris/src/test/java/org/apache/seatunnel/connectors/doris/catalog/DorisCreateTableTest.java
@@ -57,7 +57,9 @@ public class DorisCreateTableTest {
 
         columns.add(PhysicalColumn.of("id", BasicType.LONG_TYPE, (Long) null, 
true, null, ""));
         columns.add(PhysicalColumn.of("name", BasicType.STRING_TYPE, (Long) 
null, true, null, ""));
-        columns.add(PhysicalColumn.of("age", BasicType.INT_TYPE, (Long) null, 
true, null, ""));
+        columns.add(
+                PhysicalColumn.of(
+                        "age", BasicType.INT_TYPE, (Long) null, true, null, 
"test comment"));
         columns.add(PhysicalColumn.of("score", BasicType.INT_TYPE, (Long) 
null, true, null, ""));
         columns.add(PhysicalColumn.of("gender", BasicType.BYTE_TYPE, (Long) 
null, true, null, ""));
         columns.add(
@@ -122,7 +124,7 @@ public class DorisCreateTableTest {
         Assertions.assertEquals(
                 result,
                 "CREATE TABLE IF NOT EXISTS `test1`.`test2` (                  
                                                                                
                                                 \n"
-                        + "`id` BIGINT NULL ,`age` INT NULL   ,       \n"
+                        + "`id` BIGINT NULL ,`age` INT NULL COMMENT 'test 
comment'  ,       \n"
                         + "`name` STRING NULL ,`score` INT NULL  , \n"
                         + "`create_time` DATETIME NOT NULL ,  \n"
                         + "`gender` TINYINT NULL   \n"
diff --git 
a/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/sink/StarRocksSaveModeUtil.java
 
b/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/sink/StarRocksSaveModeUtil.java
index 7fd3af17e7..f2eb56adc8 100644
--- 
a/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/sink/StarRocksSaveModeUtil.java
+++ 
b/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/sink/StarRocksSaveModeUtil.java
@@ -108,12 +108,15 @@ public class StarRocksSaveModeUtil {
     private static String columnToStarrocksType(Column column) {
         checkNotNull(column, "The column is required.");
         return String.format(
-                "`%s` %s %s ",
+                "`%s` %s %s %s",
                 column.getName(),
                 dataTypeToStarrocksType(
                         column.getDataType(),
                         column.getColumnLength() == null ? 0 : 
column.getColumnLength()),
-                column.isNullable() ? "NULL" : "NOT NULL");
+                column.isNullable() ? "NULL" : "NOT NULL",
+                StringUtils.isEmpty(column.getComment())
+                        ? ""
+                        : "COMMENT '" + column.getComment() + "'");
     }
 
     private static String mergeColumnInTemplate(
diff --git 
a/seatunnel-connectors-v2/connector-starrocks/src/test/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCreateTableTest.java
 
b/seatunnel-connectors-v2/connector-starrocks/src/test/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCreateTableTest.java
index fc3d15c4b4..763413335a 100644
--- 
a/seatunnel-connectors-v2/connector-starrocks/src/test/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCreateTableTest.java
+++ 
b/seatunnel-connectors-v2/connector-starrocks/src/test/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCreateTableTest.java
@@ -55,7 +55,9 @@ public class StarRocksCreateTableTest {
         List<Column> columns = new ArrayList<>();
 
         columns.add(PhysicalColumn.of("id", BasicType.LONG_TYPE, (Long) null, 
true, null, ""));
-        columns.add(PhysicalColumn.of("name", BasicType.STRING_TYPE, (Long) 
null, true, null, ""));
+        columns.add(
+                PhysicalColumn.of(
+                        "name", BasicType.STRING_TYPE, (Long) null, true, 
null, "test comment"));
         columns.add(PhysicalColumn.of("age", BasicType.INT_TYPE, (Long) null, 
true, null, ""));
         columns.add(PhysicalColumn.of("score", BasicType.INT_TYPE, (Long) 
null, true, null, ""));
         columns.add(PhysicalColumn.of("gender", BasicType.BYTE_TYPE, (Long) 
null, true, null, ""));
@@ -112,7 +114,7 @@ public class StarRocksCreateTableTest {
         Assertions.assertEquals(
                 "CREATE TABLE IF NOT EXISTS `test1`.`test2` (                  
                                                                                
                                                 \n"
                         + "`id` BIGINT NULL ,`age` INT NULL   ,       \n"
-                        + "`name` STRING NULL ,`score` INT NULL  , \n"
+                        + "`name` STRING NULL COMMENT 'test comment',`score` 
INT NULL  , \n"
                         + "`create_time` DATETIME NOT NULL ,  \n"
                         + "`gender` TINYINT NULL   \n"
                         + ") ENGINE=OLAP  \n"
diff --git 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-doris-e2e/src/test/java/org/apache/seatunnel/e2e/connector/doris/DorisCatalogIT.java
 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-doris-e2e/src/test/java/org/apache/seatunnel/e2e/connector/doris/DorisCatalogIT.java
index b1d299004f..07fab00908 100644
--- 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-doris-e2e/src/test/java/org/apache/seatunnel/e2e/connector/doris/DorisCatalogIT.java
+++ 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-doris-e2e/src/test/java/org/apache/seatunnel/e2e/connector/doris/DorisCatalogIT.java
@@ -260,6 +260,9 @@ public class DorisCatalogIT extends AbstractDorisIT {
                 createdTable.getTableSchema().getColumns().stream()
                         .map(Column::getName)
                         .collect(Collectors.toList()));
+        Assertions.assertEquals(
+                "k1", 
createdTable.getTableSchema().getColumns().get(0).getComment());
+        ;
         return createdTable;
     }
 

Reply via email to