From 84bad03ccba4a1e768e34d7a569de506c7f7eab5 Mon Sep 17 00:00:00 2001 From: minghong Date: Fri, 19 May 2023 09:02:40 +0800 Subject: [PATCH] [feature](nereids) set proper min/max value for column stats when minExpr/maxExpr is not avialable #19673 --- .../java/org/apache/doris/statistics/ColumnStatistic.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 c1a0632119..ff218d6f30 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 @@ -145,17 +145,17 @@ public class ColumnStatistic { } String min = resultRow.getColumnValue("min"); String max = resultRow.getColumnValue("max"); - if (!StatisticsUtil.isNullOrEmpty(min)) { + if (min != null) { columnStatisticBuilder.setMinValue(StatisticsUtil.convertToDouble(col.getType(), min)); columnStatisticBuilder.setMinExpr(StatisticsUtil.readableValue(col.getType(), min)); } else { - columnStatisticBuilder.setMinValue(Double.NaN); + columnStatisticBuilder.setMinValue(Double.MIN_VALUE); } - if (!StatisticsUtil.isNullOrEmpty(max)) { + if (max != null) { columnStatisticBuilder.setMaxValue(StatisticsUtil.convertToDouble(col.getType(), max)); columnStatisticBuilder.setMaxExpr(StatisticsUtil.readableValue(col.getType(), max)); } else { - columnStatisticBuilder.setMinValue(Double.NaN); + columnStatisticBuilder.setMaxValue(Double.MAX_VALUE); } columnStatisticBuilder.setSelectivity(1.0); columnStatisticBuilder.setOriginalNdv(ndv);