This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new b01d082b09e [fix](Nereids) stats estimation of lessThan #28444 (#28824)
b01d082b09e is described below
commit b01d082b09e54b3bbe9304e9548e9190ed03d69a
Author: minghong <[email protected]>
AuthorDate: Fri Dec 22 11:31:40 2023 +0800
[fix](Nereids) stats estimation of lessThan #28444 (#28824)
---
.../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 9c04b59ce6d..d5c9ded22e3 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: [email protected]
For additional commands, e-mail: [email protected]