This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 8251e7cbfc [refactor](column) remove confused field (#12187)
8251e7cbfc is described below
commit 8251e7cbfcabc0c0146bc7d79d2f84f110dffa03
Author: Mingyu Chen <[email protected]>
AuthorDate: Wed Aug 31 09:13:31 2022 +0800
[refactor](column) remove confused field (#12187)
---
fe/fe-core/src/main/cup/sql_parser.cup | 5 -----
.../src/main/java/org/apache/doris/analysis/CastExpr.java | 3 +--
.../src/main/java/org/apache/doris/analysis/ColumnDef.java | 3 +--
.../src/main/java/org/apache/doris/analysis/TypeDef.java | 3 +--
.../src/main/java/org/apache/doris/catalog/ScalarType.java | 10 ++--------
5 files changed, 5 insertions(+), 19 deletions(-)
diff --git a/fe/fe-core/src/main/cup/sql_parser.cup
b/fe/fe-core/src/main/cup/sql_parser.cup
index 6a7dd90242..6ebe1e6645 100644
--- a/fe/fe-core/src/main/cup/sql_parser.cup
+++ b/fe/fe-core/src/main/cup/sql_parser.cup
@@ -4837,12 +4837,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
@@ -4857,12 +4855,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
@@ -4889,7 +4885,6 @@ type ::=
{: RESULT = ScalarType.createDecimalV3Type(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 cca5e50d52..0c0a7e6346 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
@@ -342,8 +342,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 b74f34d00d..788b5e59f1 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
@@ -205,8 +205,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 7af29a8fc2..bf641f4db1 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
@@ -129,8 +129,7 @@ public class TypeDef implements ParseNode {
throw new AnalysisException("Array unsupported sub-type: " +
type.toSql());
}
- if (type.getPrimitiveType().isStringType()
- && !type.isAssignedStrLenInColDefinition()) {
+ 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 271e47d87b..116ee5506a 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
@@ -87,8 +87,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.
@@ -660,12 +658,8 @@ public class ScalarType extends Type {
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]