| 797 | } |
| 798 | |
| 799 | EncodedStatistics Encode() override { |
| 800 | EncodedStatistics s; |
| 801 | if (HasMinMax()) { |
| 802 | s.set_min(this->EncodeMin()); |
| 803 | s.set_max(this->EncodeMax()); |
| 804 | s.is_min_value_exact = this->is_min_value_exact(); |
| 805 | s.is_max_value_exact = this->is_max_value_exact(); |
| 806 | } |
| 807 | if (HasNullCount()) { |
| 808 | s.set_null_count(this->null_count()); |
| 809 | // num_values_ is reliable and it means number of non-null values. |
| 810 | s.all_null_value = num_values_ == 0; |
| 811 | } |
| 812 | if (HasDistinctCount()) { |
| 813 | s.set_distinct_count(this->distinct_count()); |
| 814 | } |
| 815 | return s; |
| 816 | } |
| 817 | |
| 818 | int64_t null_count() const override { return statistics_.null_count; } |
| 819 | int64_t distinct_count() const override { return statistics_.distinct_count; } |
nothing calls this directly
no test coverage detected