diff --git a/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/InsertAnalyzer.java b/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/InsertAnalyzer.java index 8af3a6ef4f2722..0337f1a3733c71 100644 --- a/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/InsertAnalyzer.java +++ b/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/InsertAnalyzer.java @@ -160,7 +160,8 @@ public static void analyze(InsertStmt insertStmt, ConnectContext session) { LiteralExpr literalExpr = (LiteralExpr) partitionValue; Column column = icebergTable.getColumn(actualName); try { - literalExpr.castTo(column.getType()); + Expr expr = LiteralExpr.create(literalExpr.getStringValue(), column.getType()); + insertStmt.getTargetPartitionNames().getPartitionColValues().set(i, expr); } catch (AnalysisException e) { throw new SemanticException(e.getMessage()); } diff --git a/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeInsertTest.java b/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeInsertTest.java index 5c03b75764d756..0d038407330eb3 100644 --- a/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeInsertTest.java +++ b/fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeInsertTest.java @@ -175,7 +175,7 @@ public void testPartitionedIcebergTable(@Mocked IcebergTable icebergTable) { "Expected: p1, but actual: p2"); analyzeFail("insert into iceberg_catalog.db.tbl partition(p1=1, p2=\"aaffsssaa\") values (1)", - "annot cast '1' from TINYINT to ARRAY"); + "Type[ARRAY] not supported."); new Expectations() { {