This is an automated email from the ASF dual-hosted git repository. morrysnow 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 45c89c1d3c [Fix](stats) Stats persistence failed when a column is all null values (#19412) 45c89c1d3c is described below commit 45c89c1d3c9751a97575159c66dad23d49ecdda7 Author: AKIRA <33112463+kikyou1...@users.noreply.github.com> AuthorDate: Thu May 11 18:44:44 2023 +0900 [Fix](stats) Stats persistence failed when a column is all null values (#19412) --- fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java | 4 ++++ .../main/java/org/apache/doris/catalog/InternalSchemaInitializer.java | 4 ++-- .../src/main/java/org/apache/doris/statistics/ColumnStatistic.java | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) 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); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org