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]