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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]