diff --git a/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/iceberg/run30.sql b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/iceberg/run30.sql new file mode 100644 index 00000000000000..93e0419496f2cd --- /dev/null +++ b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/iceberg/run30.sql @@ -0,0 +1,11 @@ +create database if not exists demo.test_db; +use demo.test_db; +CREATE TABLE test_variant_repro ( + id INT, + v VARIANT +) +USING iceberg +TBLPROPERTIES ( + 'format-version' = '3', + 'write.format.default' = 'parquet' +); \ No newline at end of file diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java index 75db779d157549..ab615648bbbc5f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java @@ -622,6 +622,8 @@ public static Type icebergTypeToDorisType(org.apache.iceberg.types.Type type, bo icebergTypeToDorisType(x.type(), enableMappingVarbinary, enableMappingTimestampTz))) .collect(Collectors.toCollection(ArrayList::new)); return new StructType(nestedTypes); + case VARIANT: + return Type.UNSUPPORTED; default: throw new IllegalArgumentException("Cannot transform unknown type: " + type); } diff --git a/regression-test/data/external_table_p0/iceberg/test_iceberg_varbinary.out b/regression-test/data/external_table_p0/iceberg/test_iceberg_varbinary.out index 3d224775383640..65a20f0fb7cb7d 100644 Binary files a/regression-test/data/external_table_p0/iceberg/test_iceberg_varbinary.out and b/regression-test/data/external_table_p0/iceberg/test_iceberg_varbinary.out differ diff --git a/regression-test/suites/external_table_p0/iceberg/test_iceberg_varbinary.groovy b/regression-test/suites/external_table_p0/iceberg/test_iceberg_varbinary.groovy index 62d3d367f80582..cd7689e07b779d 100644 --- a/regression-test/suites/external_table_p0/iceberg/test_iceberg_varbinary.groovy +++ b/regression-test/suites/external_table_p0/iceberg/test_iceberg_varbinary.groovy @@ -161,4 +161,15 @@ suite("test_iceberg_varbinary", "p0,external,doris,external_docker,external_dock qt_select23 """ select * from binary_partitioned_table where from_hex(partition_bin)="0FF102FDFEFF"; """ + + sql """ use test_db; """ + qt_select23 """ + select id from test_variant_repro; + """ + test { + sql """ + select * from test_variant_repro; + """ + exception "UNSUPPORTED" + } }