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 2c120243ac..3500f1bb97 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 @@ -126,6 +126,10 @@ public class ColumnDef { this(name, typeDef, false, null, false, DefaultValue.NOT_SET, ""); } + public ColumnDef(String name, TypeDef typeDef, boolean isAllowNull) { + this(name, typeDef, false, null, isAllowNull, DefaultValue.NOT_SET, ""); + } + public ColumnDef(String name, TypeDef typeDef, boolean isKey, AggregateType aggregateType, boolean isAllowNull, DefaultValue defaultValue, String comment) { this(name, typeDef, isKey, aggregateType, isAllowNull, defaultValue, comment, true); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java index 6dfc2e8ba0..3abaa3b8e6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java @@ -159,8 +159,8 @@ public class InternalSchemaInitializer extends Thread { columnDefs.add(new ColumnDef("count", TypeDef.create(PrimitiveType.BIGINT))); columnDefs.add(new ColumnDef("ndv", TypeDef.create(PrimitiveType.BIGINT))); columnDefs.add(new ColumnDef("null_count", TypeDef.create(PrimitiveType.BIGINT))); - columnDefs.add(new ColumnDef("min", TypeDef.createVarchar(ScalarType.MAX_VARCHAR_LENGTH))); - columnDefs.add(new ColumnDef("max", TypeDef.createVarchar(ScalarType.MAX_VARCHAR_LENGTH))); + columnDefs.add(new ColumnDef("min", TypeDef.createVarchar(ScalarType.MAX_VARCHAR_LENGTH), true)); + columnDefs.add(new ColumnDef("max", TypeDef.createVarchar(ScalarType.MAX_VARCHAR_LENGTH), true)); columnDefs.add(new ColumnDef("data_size_in_bytes", TypeDef.create(PrimitiveType.BIGINT))); columnDefs.add(new ColumnDef("update_time", TypeDef.create(PrimitiveType.DATETIME))); String engineName = "olap"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java index 3dfc66adbd..f753201cf3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java @@ -147,10 +147,14 @@ public class ColumnStatistic { if (!StatisticsUtil.isNullOrEmpty(min)) { columnStatisticBuilder.setMinValue(StatisticsUtil.convertToDouble(col.getType(), min)); columnStatisticBuilder.setMinExpr(StatisticsUtil.readableValue(col.getType(), min)); + } else { + columnStatisticBuilder.setMinValue(Double.NaN); } if (!StatisticsUtil.isNullOrEmpty(max)) { columnStatisticBuilder.setMaxValue(StatisticsUtil.convertToDouble(col.getType(), max)); columnStatisticBuilder.setMaxExpr(StatisticsUtil.readableValue(col.getType(), max)); + } else { + columnStatisticBuilder.setMinValue(Double.NaN); } columnStatisticBuilder.setSelectivity(1.0); columnStatisticBuilder.setOriginalNdv(ndv);