diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java index c1d0d2dbf0..4246edb5e4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java @@ -109,7 +109,9 @@ public class Subquery extends Expr { ArrayList stmtResultExprs = stmt.getResultExprs(); if (stmtResultExprs.size() == 1) { type = stmtResultExprs.get(0).getType(); - Preconditions.checkState(!type.isComplexType()); + if (type.isComplexType()) { + throw new AnalysisException("A subquery should not return Array/Map/Struct type: " + toSql()); + } } else { type = createStructTypeFromExprList(); }