diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java index a8a831ae1b1d76..c666fe0ca286e1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java @@ -22,6 +22,7 @@ import org.apache.doris.nereids.analyzer.ComplexDataType; import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.types.NullType; +import org.apache.doris.nereids.types.VariantType; import org.apache.doris.nereids.types.coercion.AnyDataType; import org.apache.doris.nereids.types.coercion.FollowToAnyDataType; @@ -50,6 +51,9 @@ static boolean isPrimitiveExplicitlyCastable(DataType signatureType, DataType re if (realType instanceof NullType) { return true; } + if (signatureType instanceof VariantType) { + return false; + } if (signatureType instanceof ComplexDataType && !(realType instanceof ComplexDataType)) { return false; } diff --git a/regression-test/suites/variant_p0/load.groovy b/regression-test/suites/variant_p0/load.groovy index cbd6bc1178c3c8..43963b2ff7622d 100644 --- a/regression-test/suites/variant_p0/load.groovy +++ b/regression-test/suites/variant_p0/load.groovy @@ -473,6 +473,13 @@ suite("regression_test_variant", "nonConcurrent"){ sql """insert into var_as_key values(2, '{"b" : 11}')""" qt_sql "select * from var_as_key order by k" + test { + sql """ + SELECT "1234"["abc"] + """ + exception("errCode = 2, detailMessage = Can not find the compatibility") + } + } finally { // reset flags set_be_config.call("variant_ratio_of_defaults_as_sparse_column", "0.95")