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

jshao pushed a commit to branch branch-1.0
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/branch-1.0 by this push:
     new 0f428d6f6b [#8277][#7019] fix(doris,starrocks,pg): fix unparsed 
default value and column type (#9052)
0f428d6f6b is described below

commit 0f428d6f6b7a40f3fba9aca77a163d7bad9183e4
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Nov 10 09:32:03 2025 -0800

    [#8277][#7019] fix(doris,starrocks,pg): fix unparsed default value and 
column type (#9052)
    
    ### What changes were proposed in this pull request?
    
     fix unparsed default value for doris and starrocks
    
    ### Why are the changes needed?
    
    Fix: #8277
    Fix: #7019
    
    ### Does this PR introduce _any_ user-facing change?
    
    no
    
    ### How was this patch tested?
    
    CI pass
    
    Co-authored-by: mchades <[email protected]>
---
 .../converter/DorisColumnDefaultValueConverter.java   |  2 +-
 .../postgresql/converter/PostgreSqlTypeConverter.java |  4 +++-
 .../integration/test/CatalogPostgreSqlIT.java         | 19 +++++++++++++++++--
 .../StarRocksColumnDefaultValueConverter.java         |  2 +-
 4 files changed, 22 insertions(+), 5 deletions(-)

diff --git 
a/catalogs/catalog-jdbc-doris/src/main/java/org/apache/gravitino/catalog/doris/converter/DorisColumnDefaultValueConverter.java
 
b/catalogs/catalog-jdbc-doris/src/main/java/org/apache/gravitino/catalog/doris/converter/DorisColumnDefaultValueConverter.java
index e9a7a7f898..2566f226cd 100644
--- 
a/catalogs/catalog-jdbc-doris/src/main/java/org/apache/gravitino/catalog/doris/converter/DorisColumnDefaultValueConverter.java
+++ 
b/catalogs/catalog-jdbc-doris/src/main/java/org/apache/gravitino/catalog/doris/converter/DorisColumnDefaultValueConverter.java
@@ -96,7 +96,7 @@ public class DorisColumnDefaultValueConverter extends 
JdbcColumnDefaultValueConv
       case JdbcTypeConverter.TEXT:
         return Literals.stringLiteral(columnDefaultValue);
       default:
-        throw new IllegalArgumentException("Unknown data columnType for 
literal: " + columnType);
+        return UnparsedExpression.of(columnDefaultValue);
     }
   }
 }
diff --git 
a/catalogs/catalog-jdbc-postgresql/src/main/java/org/apache/gravitino/catalog/postgresql/converter/PostgreSqlTypeConverter.java
 
b/catalogs/catalog-jdbc-postgresql/src/main/java/org/apache/gravitino/catalog/postgresql/converter/PostgreSqlTypeConverter.java
index 3d5f788b9e..a50e12baf0 100644
--- 
a/catalogs/catalog-jdbc-postgresql/src/main/java/org/apache/gravitino/catalog/postgresql/converter/PostgreSqlTypeConverter.java
+++ 
b/catalogs/catalog-jdbc-postgresql/src/main/java/org/apache/gravitino/catalog/postgresql/converter/PostgreSqlTypeConverter.java
@@ -78,7 +78,9 @@ public class PostgreSqlTypeConverter extends 
JdbcTypeConverter {
       case NUMERIC:
         return Types.DecimalType.of(typeBean.getColumnSize(), 
typeBean.getScale());
       case VARCHAR:
-        return Types.VarCharType.of(typeBean.getColumnSize());
+        return typeBean.getColumnSize() == null
+            ? Types.StringType.get()
+            : Types.VarCharType.of(typeBean.getColumnSize());
       case BPCHAR:
         return Types.FixedCharType.of(typeBean.getColumnSize());
       case TEXT:
diff --git 
a/catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/integration/test/CatalogPostgreSqlIT.java
 
b/catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/integration/test/CatalogPostgreSqlIT.java
index b944629c0e..59f405102c 100644
--- 
a/catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/integration/test/CatalogPostgreSqlIT.java
+++ 
b/catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/integration/test/CatalogPostgreSqlIT.java
@@ -1038,9 +1038,14 @@ public class CatalogPostgreSqlIT extends BaseIT {
             + "    date_col_5 date default '2012-12-31',\n"
             + "    decimal_6_2_col_1 decimal(6, 2) default 1.2,\n"
             + "    timestamp_col_1 timestamp default '2012-12-31 11:30:45',\n"
-            + "    time_col_1 time default '11:30:45'\n"
+            + "    time_col_1 time default '11:30:45',\n"
+            + "    uuid UUID NOT NULL,\n"
+            + "    character_col_1 CHARACTER VARYING(64) NOT NULL,\n"
+            + "    character_col_2 CHARACTER VARYING[],"
+            + "    character_col_3 CHARACTER(36) DEFAULT ''::bpchar,\n"
+            + "    character_col_4 CHARACTER VARYING[],\n"
+            + "    jsonb JSONB NOT NULL\n"
             + ");";
-    System.out.println(sql);
     postgreSqlService.executeQuery(sql);
     Table loadedTable =
         catalog.asTableCatalog().loadTable(NameIdentifier.of(schemaName, 
tableName));
@@ -1083,6 +1088,8 @@ public class CatalogPostgreSqlIT extends BaseIT {
           Assertions.assertEquals(UnparsedExpression.of("CURRENT_DATE"), 
column.defaultValue());
           break;
         case "date_col_2":
+        case "character_col_2":
+        case "character_col_4":
           Assertions.assertEquals(Literals.NULL, column.defaultValue());
           break;
         case "date_col_3":
@@ -1106,6 +1113,14 @@ public class CatalogPostgreSqlIT extends BaseIT {
           Assertions.assertEquals(
               Literals.decimalLiteral(Decimal.of("1.2", 6, 2)), 
column.defaultValue());
           break;
+        case "uuid":
+        case "character_col_1":
+        case "jsonb":
+          Assertions.assertEquals(Column.DEFAULT_VALUE_NOT_SET, 
column.defaultValue());
+          break;
+        case "character_col_3":
+          Assertions.assertEquals(Literals.stringLiteral("''::bpchar"), 
column.defaultValue());
+          break;
         default:
           Assertions.fail("Unexpected column name: " + column.name());
       }
diff --git 
a/catalogs/catalog-jdbc-starrocks/src/main/java/org/apache/gravitino/catalog/starrocks/converter/StarRocksColumnDefaultValueConverter.java
 
b/catalogs/catalog-jdbc-starrocks/src/main/java/org/apache/gravitino/catalog/starrocks/converter/StarRocksColumnDefaultValueConverter.java
index 4da2f8df41..34f3f03236 100644
--- 
a/catalogs/catalog-jdbc-starrocks/src/main/java/org/apache/gravitino/catalog/starrocks/converter/StarRocksColumnDefaultValueConverter.java
+++ 
b/catalogs/catalog-jdbc-starrocks/src/main/java/org/apache/gravitino/catalog/starrocks/converter/StarRocksColumnDefaultValueConverter.java
@@ -95,7 +95,7 @@ public class StarRocksColumnDefaultValueConverter extends 
JdbcColumnDefaultValue
       case CHAR:
         return Literals.of(columnDefaultValue, 
Types.FixedCharType.of(columnType.getColumnSize()));
       default:
-        throw new IllegalArgumentException("Unknown data columnType for 
literal: " + columnType);
+        return UnparsedExpression.of(columnDefaultValue);
     }
   }
 }

Reply via email to