Skip to content

Commit 3983dcb

Browse files
committed
Imporove Arrow::ArrayStatistics#null_count
1 parent ad01140 commit 3983dcb

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

ruby/red-arrow/lib/arrow/array-statistics.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,18 @@
1717

1818
module Arrow
1919
class ArrayStatistics
20+
if method_defined?(:null_count_exact)
21+
alias_method :null_count_raw, :null_count
22+
def null_count
23+
return nil unless has_null_count?
24+
if null_count_exact?
25+
null_count_exact
26+
else
27+
null_count_approximate
28+
end
29+
end
30+
end
31+
2032
if method_defined?(:distinct_count_exact)
2133
alias_method :distinct_count_raw, :distinct_count
2234
def distinct_count

ruby/red-parquet/test/test-array-statistics.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,16 @@ def setup
2727
@statistics = loaded_table[:int64].data.chunks[0].statistics
2828
end
2929

30+
def test_null_count
31+
assert do
32+
@statistics.has_null_count?
33+
end
34+
assert do
35+
@statistics.null_count_exact?
36+
end
37+
assert_equal(1, @statistics.null_count)
38+
end
39+
3040
def test_distinct_count
3141
assert do
3242
not @statistics.has_distinct_count?

0 commit comments

Comments
 (0)