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 b86d4ac26c..1c79f5acc4 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 @@ -211,7 +211,6 @@ public class ColumnDef { break; case LARGEINT: LargeIntLiteral largeIntLiteral = new LargeIntLiteral(defaultValue); - largeIntLiteral.analyze(null); break; case FLOAT: FloatLiteral floatLiteral = new FloatLiteral(defaultValue); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/IntLiteral.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/IntLiteral.java index 86112c54ff..67f0482a92 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/IntLiteral.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/IntLiteral.java @@ -303,11 +303,7 @@ public class IntLiteral extends LiteralExpr { } return this; } else { - //return new LargeIntLiteral(Long.toString(value)); - /* LargeIntLiteral does not analyze in contructor, fixed by lide */ - Expr literalExpr = new LargeIntLiteral(Long.toString(value)); - literalExpr.analyze(null); - return literalExpr; + return new LargeIntLiteral(Long.toString(value)); } } else if (targetType.isFloatingPointType()) { return new FloatLiteral(new Double(value), targetType); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/LargeIntLiteral.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/LargeIntLiteral.java index 2720a6ebba..db01e01877 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LargeIntLiteral.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LargeIntLiteral.java @@ -53,12 +53,14 @@ public class LargeIntLiteral extends LiteralExpr { public LargeIntLiteral() { super(); + analysisDone(); } public LargeIntLiteral(boolean isMax) throws AnalysisException { super(); type = Type.LARGEINT; value = isMax ? LARGE_INT_MAX : LARGE_INT_MIN; + analysisDone(); } public LargeIntLiteral(String value) throws AnalysisException { @@ -77,6 +79,7 @@ public class LargeIntLiteral extends LiteralExpr { } this.value = bigInt; type = Type.LARGEINT; + analysisDone(); } protected LargeIntLiteral(LargeIntLiteral other) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java index 5f3ada10bd..2823480922 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LiteralExpr.java @@ -61,7 +61,6 @@ public abstract class LiteralExpr extends Expr { break; case LARGEINT: literalExpr = new LargeIntLiteral(value); - literalExpr.analyze(null); break; case FLOAT: case DOUBLE: