red-parquet 22.0.0 → 23.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2085af5a4bd9a53cf212330b33f12f475c541b9b63c8a400708dbff7db2a1860
4
- data.tar.gz: dd556666a402ce0e223e9a4339a0b869a6188ab157e1ff811af37208ea936d64
3
+ metadata.gz: 323fa3b4a88ef118dd4580d50a34c8f30db87b93338e3b43d142b17d19ee6efa
4
+ data.tar.gz: 0a0d9fb8fced5f7d4ac62d57138782d1a45a476030d25e40666d50c9fe0290cc
5
5
  SHA512:
6
- metadata.gz: 1484b3395a78d68679369dd0ed506d1194060618a13d7a93e66925c439248879ea6bd85e6b8f3f11181d98509b129bf423f151264628279fa9110ed0557ceb98
7
- data.tar.gz: 49093e6e40a172211db5d2558aee7fa71607b30d56c758dde7c1154d3b05d6cb2e94de61b55c666fb6f067b5259ecc7be5e44214fcd8d7f03433403f21b996ad
6
+ metadata.gz: 1e45caca717bdefade59a70d8273c8f20a20050651d256db56d47a814567626627e6bb5385f645a4b6ae97a56aa025fa0b48cddcf29ded4b81750e8713a65c76
7
+ data.tar.gz: 634879c4e7919e28094f963e5d6e44511e4a2ce48c0ef622fc1178c0c297779f4a020588835d4ed778188661f927c9709186bbfdda44356ba8cd38cde363045e
@@ -17,6 +17,8 @@
17
17
 
18
18
  module Parquet
19
19
  class ArrowFileReader
20
+ include Arrow::BlockClosable
21
+
20
22
  def each_row_group
21
23
  return to_enum(__method__) {n_row_groups} unless block_given?
22
24
 
@@ -17,6 +17,8 @@
17
17
 
18
18
  module Parquet
19
19
  class ArrowFileWriter
20
+ include Arrow::BlockClosable
21
+
20
22
  # Write data to Apache Parquet.
21
23
  #
22
24
  # @return [void]
@@ -16,7 +16,7 @@
16
16
  # under the License.
17
17
 
18
18
  module Parquet
19
- VERSION = "22.0.0"
19
+ VERSION = "23.0.0"
20
20
 
21
21
  module Version
22
22
  numbers, TAG = VERSION.split("-")
data/red-parquet.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  ]
30
30
  spec.version = version_components.compact.join(".")
31
31
  spec.homepage = "https://arrow.apache.org/"
32
- spec.authors = ["Apache Arrow Developers"]
32
+ spec.authors = ["The Apache Software Foundation"]
33
33
  spec.email = ["dev@arrow.apache.org"]
34
34
 
35
35
  spec.summary = "Red Parquet is the Ruby bindings of Apache Parquet"
@@ -27,6 +27,16 @@ class TestArrayStatistics < Test::Unit::TestCase
27
27
  @statistics = loaded_table[:int64].data.chunks[0].statistics
28
28
  end
29
29
 
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
+
30
40
  def test_distinct_count
31
41
  assert do
32
42
  not @statistics.has_distinct_count?
@@ -50,6 +50,7 @@ class TestArrowTable < Test::Unit::TestCase
50
50
  begin
51
51
  yield(@output)
52
52
  ensure
53
+ GC.start # Ensure freeing Arrow::Table that refers @output.path.
53
54
  @output.close!
54
55
  end
55
56
  end
@@ -17,15 +17,22 @@
17
17
 
18
18
  class TestBooleanStatistics < Test::Unit::TestCase
19
19
  def setup
20
- file = Tempfile.open(["data", ".parquet"])
21
- array = Arrow::BooleanArray.new([nil, false, true])
22
- table = Arrow::Table.new("boolean" => array)
23
- writer = Parquet::ArrowFileWriter.new(table.schema, file.path)
24
- chunk_size = 1024
25
- writer.write_table(table, chunk_size)
26
- writer.close
27
- reader = Parquet::ArrowFileReader.new(file.path)
28
- @statistics = reader.metadata.get_row_group(0).get_column_chunk(0).statistics
20
+ Tempfile.create(["data", ".parquet"]) do |file|
21
+ array = Arrow::BooleanArray.new([nil, false, true])
22
+ table = Arrow::Table.new("boolean" => array)
23
+ Parquet::ArrowFileWriter.open(table.schema, file.path) do |writer|
24
+ chunk_size = 1024
25
+ writer.write_table(table, chunk_size)
26
+ writer.close
27
+ end
28
+ Parquet::ArrowFileReader.open(file.path) do |reader|
29
+ @statistics =
30
+ reader.metadata.get_row_group(0).get_column_chunk(0).statistics
31
+ yield
32
+ @statistics = nil
33
+ end
34
+ GC.start # Ensure freeing @statistics that refers file.path.
35
+ end
29
36
  end
30
37
 
31
38
  def test_min
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red-parquet
3
3
  version: !ruby/object:Gem::Version
4
- version: 22.0.0
4
+ version: 23.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Apache Arrow Developers
7
+ - The Apache Software Foundation
8
8
  bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 22.0.0
18
+ version: 23.0.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 22.0.0
25
+ version: 23.0.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -113,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
113
  - !ruby/object:Gem::Version
114
114
  version: '0'
115
115
  requirements: []
116
- rubygems_version: 4.0.0.dev
116
+ rubygems_version: 3.6.7
117
117
  specification_version: 4
118
118
  summary: Red Parquet is the Ruby bindings of Apache Parquet
119
119
  test_files: