This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch dev-1.1.2
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/dev-1.1.2 by this push:
     new 4e462209b3 [refactor](column) remove confused field #12187 (#12266)
4e462209b3 is described below

commit 4e462209b3a3309daf84ea21b9238c1d55f8adf6
Author: Mingyu Chen <[email protected]>
AuthorDate: Thu Sep 1 18:54:59 2022 +0800

    [refactor](column) remove confused field #12187 (#12266)
---
 fe/fe-core/src/main/cup/sql_parser.cup                            | 5 -----
 fe/fe-core/src/main/java/org/apache/doris/analysis/CastExpr.java  | 3 +--
 fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java | 3 +--
 fe/fe-core/src/main/java/org/apache/doris/analysis/TypeDef.java   | 5 ++---
 fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java | 7 +++----
 5 files changed, 7 insertions(+), 16 deletions(-)

diff --git a/fe/fe-core/src/main/cup/sql_parser.cup 
b/fe/fe-core/src/main/cup/sql_parser.cup
index ba98bc8849..3bc3677cf4 100644
--- a/fe/fe-core/src/main/cup/sql_parser.cup
+++ b/fe/fe-core/src/main/cup/sql_parser.cup
@@ -4581,12 +4581,10 @@ type ::=
   {: RESULT = ScalarType.createStringType(); :}
   | KW_VARCHAR LPAREN INTEGER_LITERAL:len RPAREN
   {: ScalarType type = ScalarType.createVarcharType(len.intValue());
-     type.setAssignedStrLenInColDefinition();
      RESULT = type;
   :}
   | KW_VARCHAR LPAREN ident_or_text:lenStr RPAREN
   {: ScalarType type = ScalarType.createVarcharType(lenStr);
-     type.setAssignedStrLenInColDefinition();
      RESULT = type;
   :}
   | KW_VARCHAR
@@ -4599,12 +4597,10 @@ type ::=
   {: RESULT = new StructType(fields); :}
   | KW_CHAR LPAREN INTEGER_LITERAL:len RPAREN
   {: ScalarType type = ScalarType.createCharType(len.intValue());
-     type.setAssignedStrLenInColDefinition();
      RESULT = type;
   :}
   | KW_CHAR LPAREN ident_or_text:lenStr RPAREN
   {: ScalarType type = ScalarType.createCharType(lenStr);
-     type.setAssignedStrLenInColDefinition();
      RESULT = type;
   :}
   | KW_CHAR
@@ -4621,7 +4617,6 @@ type ::=
   {: RESULT = ScalarType.createDecimalV2Type(precision, scale); :}
   | KW_HLL
   {: ScalarType type = ScalarType.createHllType();
-     type.setAssignedStrLenInColDefinition();
      RESULT = type;
   :}
   | KW_ALL
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CastExpr.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/CastExpr.java
index 2b2d1165e1..261c1cf89a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CastExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CastExpr.java
@@ -272,8 +272,7 @@ public class CastExpr extends Expr {
         // of cast is decided by child.
         if (targetTypeDef.getType().isScalarType()) {
             final ScalarType targetType = (ScalarType) targetTypeDef.getType();
-            if (!(targetType.getPrimitiveType().isStringType() 
-                    && !targetType.isAssignedStrLenInColDefinition())) {
+            if (!(targetType.getPrimitiveType().isStringType() && 
!targetType.isLengthSet())) {
                 targetTypeDef.analyze(analyzer);
             }
         } else {
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 9ba614cec5..88bbf61c9e 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
@@ -174,8 +174,7 @@ public class ColumnDef {
         // When string type length is not assigned, it need to be assigned to 
1.
         if (typeDef.getType().isScalarType()) {
             final ScalarType targetType = (ScalarType) typeDef.getType();
-            if (targetType.getPrimitiveType().isStringType()
-                    && !targetType.isAssignedStrLenInColDefinition()) {
+            if (targetType.getPrimitiveType().isStringType() && 
!targetType.isLengthSet()) {
                 targetType.setLength(1);
             }
         }
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 6bce9b5ff1..32d513d4a4 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
@@ -115,9 +115,8 @@ public class TypeDef implements ParseNode {
     if (type.isNull()) {
       throw new AnalysisException("Unsupported data type: " + type.toSql());
     }
-    if (type.getPrimitiveType().isStringType()
-            && !type.isAssignedStrLenInColDefinition()) {
-      type.setLength(1);
+    if (type.getPrimitiveType().isStringType() && !type.isLengthSet()) {
+        type.setLength(1);
     }
     analyze(type);
   }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java
index 963f9cb047..35c73a11ba 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java
@@ -80,8 +80,6 @@ public class ScalarType extends Type {
     // Only used for type CHAR.
     @SerializedName(value = "len")
     private int len = -1;
-    @SerializedName(value = "isAssignedStrLenInColDefinition")
-    private boolean isAssignedStrLenInColDefinition = false;
 
     // Only used if type is DECIMAL. -1 (for both) is used to represent a
     // decimal with any precision and scale.
@@ -446,8 +444,9 @@ public class ScalarType extends Type {
     @Override
     public int getLength() { return len; }
     public void setLength(int len) {this.len = len; }
-    public boolean isAssignedStrLenInColDefinition() { return 
isAssignedStrLenInColDefinition; }
-    public void setAssignedStrLenInColDefinition() { 
this.isAssignedStrLenInColDefinition = true; }
+    public boolean isLengthSet() {
+        return getPrimitiveType() == PrimitiveType.HLL || len > 0 || 
!Strings.isNullOrEmpty(lenStr);
+    }
 
     // add scalar infix to override with getPrecision
     public int getScalarScale() { return scale; }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to