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

dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit d643e85a7fb47e95f19408195fdb506ae1f2fb29
Author: minghong <engle...@gmail.com>
AuthorDate: Thu Jul 11 10:48:46 2024 +0800

    [fix](nerieds) set row count to colStats if colStats.isUnknown (#37522)
---
 .../main/java/org/apache/doris/nereids/stats/StatsCalculator.java   | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
index 8785be7eb93..8bc71e936b2 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java
@@ -482,6 +482,9 @@ public class StatsCalculator extends 
DefaultPlanVisitor<Statistics, Void> {
         for (SlotReference slot : outputSlotReferences) {
             ColumnStatistic cache = getColumnStatsFromTableCache(olapScan, 
slot);
             ColumnStatisticBuilder colStatsBuilder = new 
ColumnStatisticBuilder(cache);
+            if (cache.isUnKnown) {
+                colStatsBuilder.setCount(rowCount);
+            }
             adjustColStats(olapScan, slot, colStatsBuilder);
             builder.putColumnStatistics(slot, colStatsBuilder.build());
             rowCount = Math.max(rowCount, colStatsBuilder.getCount());
@@ -1051,6 +1054,9 @@ public class StatsCalculator extends 
DefaultPlanVisitor<Statistics, Void> {
         for (SlotReference slot : slotSet) {
             ColumnStatistic cache = 
getColumnStatsFromTableCache(catalogRelation, slot);
             ColumnStatisticBuilder colStatsBuilder = new 
ColumnStatisticBuilder(cache);
+            if (cache.isUnKnown) {
+                colStatsBuilder.setCount(rowCount);
+            }
             adjustColStats(catalogRelation, slot, colStatsBuilder);
             rowCount = Math.max(rowCount, colStatsBuilder.getCount());
             builder.putColumnStatistics(slot, colStatsBuilder.build());


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

Reply via email to