[Fix](nereids) fix a bug in ColumnStatistics.numNulls update #21220

no impact on tpch
has impact on tpcds 95,
before 1.63 sec, after 1.30 sec
This commit is contained in:
minghong
2023-07-03 10:51:23 +08:00
committed by GitHub
parent 59c1bbd163
commit 2827bc1a39
3 changed files with 32 additions and 31 deletions

View File

@ -111,8 +111,8 @@ public class Statistics {
ColumnStatistic columnStatistic = entry.getValue();
ColumnStatisticBuilder columnStatisticBuilder = new ColumnStatisticBuilder(columnStatistic);
columnStatisticBuilder.setNdv(Math.min(columnStatistic.ndv, rowCount));
double nullFactor = (rowCount - columnStatistic.numNulls) / rowCount;
columnStatisticBuilder.setNumNulls(nullFactor * rowCount);
double numNulls = Math.min(columnStatistic.numNulls, rowCount - columnStatistic.ndv);
columnStatisticBuilder.setNumNulls(numNulls);
columnStatisticBuilder.setCount(rowCount);
statistics.addColumnStats(entry.getKey(), columnStatisticBuilder.build());
}