| toJson() |  | 0% |  | 0% | 5 | 5 | 26 | 26 | 1 | 1 |
| fromJson(String) |  | 0% |  | 0% | 8 | 8 | 34 | 34 | 1 | 1 |
| ndvIntersection(ColumnStatistic) |   | 10% |   | 10% | 10 | 11 | 13 | 16 | 0 | 1 |
| fromResultRow(ResultRow, boolean) |   | 71% |   | 46% | 13 | 14 | 15 | 50 | 0 | 1 |
| updateBySelectivity(double, double) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| createUnknownByDataType(DataType) |   | 49% |   | 50% | 1 | 2 | 9 | 19 | 0 | 1 |
| hasIntersect(ColumnStatistic) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| enclosed(ColumnStatistic) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| isAlmostUnique(double, double) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| notEnclosed(ColumnStatistic) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| fromResultRowList(List) |   | 86% |   | 75% | 1 | 3 | 1 | 8 | 0 | 1 |
| getOriginalNdv() |   | 70% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 12 | 0 | 1 |
| toString() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| ColumnStatistic(double, double, ColumnStatistic, double, double, double, double, double, LiteralExpr, LiteralExpr, boolean, String, Map) |  | 100% | | n/a | 0 | 1 | 0 | 15 | 0 | 1 |
| getStringHotValues() |  | 100% |   | 66% | 2 | 4 | 0 | 7 | 0 | 1 |
| lambda$getStringHotValues$0(StringBuilder, Literal, Float) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| isMinMaxInvalid() |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| withAvgSizeByte(double) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| fromResultRow(ResultRow) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOriginal() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isUnKnown() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getHotValues() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |