This is an automated email from the ASF dual-hosted git repository.
englefly 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 f24174ebf1 when estimated rowCount is 0, adjust to 1 (#18174)
f24174ebf1 is described below
commit f24174ebf1d0493aa3d6bbb2721d69ce2b486f8a
Author: minghong <[email protected]>
AuthorDate: Wed Mar 29 19:03:53 2023 +0800
when estimated rowCount is 0, adjust to 1 (#18174)
---
.../main/java/org/apache/doris/nereids/stats/FilterEstimation.java | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
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 c906490cb5..6bc3bc96c6 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
@@ -319,10 +319,8 @@ public class FilterEstimation extends
ExpressionVisitor<Statistics, EstimationCo
@Override
public Statistics visitNot(Not not, EstimationContext context) {
Statistics childStats = new FilterEstimation().estimate(not.child(),
context.statistics);
- double rowCount = Math.max(context.statistics.getRowCount() -
childStats.getRowCount(), 0);
- if (rowCount == 0.0) {
- return Statistics.zero(context.statistics);
- }
+ //if estimated rowCount is 0, adjust to 1 to make upper join reorder
reasonable.
+ double rowCount = Math.max(context.statistics.getRowCount() -
childStats.getRowCount(), 1);
StatisticsBuilder statisticsBuilder = new
StatisticsBuilder(context.statistics).setRowCount(rowCount);
for (Entry<Expression, ColumnStatistic> entry :
context.statistics.columnStatistics().entrySet()) {
Expression expr = entry.getKey();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]