This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new 0942ea831c5 [fix](char) fix create complex type like array/map/struct with char which without length (#25706) 0942ea831c5 is described below commit 0942ea831c58a89483d024d40f4e86d2c754dd54 Author: amory <wangqian...@selectdb.com> AuthorDate: Sat Oct 21 00:24:51 2023 +0800 [fix](char) fix create complex type like array/map/struct with char which without length (#25706) --- .../main/java/org/apache/doris/analysis/ColumnDef.java | 16 ---------------- .../src/main/java/org/apache/doris/analysis/TypeDef.java | 12 ++++++++++++ 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java index 349be4e45ef..238f1471a9e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java @@ -312,22 +312,6 @@ public class ColumnDef { } FeNameFormat.checkColumnName(name); - // When string type length is not assigned, it needs to be assigned to 1. - if (typeDef.getType().isScalarType()) { - final ScalarType targetType = (ScalarType) typeDef.getType(); - if (targetType.getPrimitiveType().isStringType() && !targetType.isLengthSet()) { - if (targetType.getPrimitiveType() == PrimitiveType.VARCHAR) { - // always set varchar length MAX_VARCHAR_LENGTH - targetType.setLength(ScalarType.MAX_VARCHAR_LENGTH); - } else if (targetType.getPrimitiveType() == PrimitiveType.STRING) { - // always set text length MAX_STRING_LENGTH - targetType.setLength(ScalarType.MAX_STRING_LENGTH); - } else { - targetType.setLength(1); - } - } - } - typeDef.analyze(null); Type type = typeDef.getType(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TypeDef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TypeDef.java index 199bb8a7917..e00af4c676c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TypeDef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TypeDef.java @@ -183,6 +183,18 @@ public class TypeDef implements ParseNode { private void analyzeScalarType(ScalarType scalarType) throws AnalysisException { PrimitiveType type = scalarType.getPrimitiveType(); + // When string type length is not assigned, it needs to be assigned to 1. + if (scalarType.getPrimitiveType().isStringType() && !scalarType.isLengthSet()) { + if (scalarType.getPrimitiveType() == PrimitiveType.VARCHAR) { + // always set varchar length MAX_VARCHAR_LENGTH + scalarType.setLength(ScalarType.MAX_VARCHAR_LENGTH); + } else if (scalarType.getPrimitiveType() == PrimitiveType.STRING) { + // always set text length MAX_STRING_LENGTH + scalarType.setLength(ScalarType.MAX_STRING_LENGTH); + } else { + scalarType.setLength(1); + } + } switch (type) { case CHAR: case VARCHAR: { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org