diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/ArrayType.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/ArrayType.java index a2a9092b10..4e1441fdbe 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/ArrayType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/ArrayType.java @@ -118,7 +118,7 @@ public class ArrayType extends Type { return false; } ArrayType otherArrayType = (ArrayType) other; - return otherArrayType.itemType.equals(itemType); + return otherArrayType.itemType.equals(itemType) && otherArrayType.containsNull == containsNull; } public static boolean canCastTo(ArrayType type, ArrayType targetType) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java index 5e9b89c790..fd6fad49f9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java @@ -1200,7 +1200,7 @@ public class FunctionSet { if (!(descArgTypes[0] instanceof ScalarType) || !(candicateArgTypes[0] instanceof ScalarType)) { if (candicateArgTypes[0] instanceof ArrayType) { - return candicateArgTypes[0].matchesType(descArgTypes[0]); + return descArgTypes[0].matchesType(candicateArgTypes[0]); } return false;