This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch tpch500
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 24aecee15dcf4c91c502c965acb736db3c5ea7de
Author: minghong <engle...@gmail.com>
AuthorDate: Tue Dec 19 15:45:03 2023 +0800

    [fix](Nereids) stats estimation of lessThan #28444
---
 .../main/java/org/apache/doris/nereids/stats/FilterEstimation.java    | 4 ++++
 .../src/main/java/org/apache/doris/statistics/StatisticRange.java     | 4 ++++
 2 files changed, 8 insertions(+)

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 0a7d6b70c39..d4fef62fc20 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 @@ public class FilterEstimation extends 
ExpressionVisitor<Statistics, EstimationCo
             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 74b77c2ee7c..7b7b08ab246 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 class StatisticRange {
         return distinctValues;
     }
 
+    @Override
+    public String toString() {
+        return "(" + lowExpr + "," + highExpr + ")";
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to