diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java index 9c04b59ce6df6b..d5c9ded22e360d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java @@ -512,6 +512,10 @@ private Statistics estimateColumnLessThanColumn(Expression leftExpr, ColumnStati context.addKeyIfSlot(rightExpr); return statistics; } + if (leftRange.isInfinite() || rightRange.isInfinite()) { + return context.statistics.withSel(DEFAULT_INEQUALITY_COEFFICIENT); + } + double leftOverlapPercent = leftRange.overlapPercentWith(rightRange); // Left always greater than right if (leftOverlapPercent == 0) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java index 74b77c2ee7c91f..7b7b08ab24669d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java @@ -239,4 +239,8 @@ public double getDistinctValues() { return distinctValues; } + @Override + public String toString() { + return "(" + lowExpr + "," + highExpr + ")"; + } }