You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2023/08/10 16:44:40 UTC
[arrow-rs] branch asf-site updated: deploy: ea19ce86d6c12f837eecc901cc66f7dd96883d48
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/asf-site by this push:
new c74111f8e2 deploy: ea19ce86d6c12f837eecc901cc66f7dd96883d48
c74111f8e2 is described below
commit c74111f8e2a922a2518e4debfc229349da213575
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Thu Aug 10 16:44:34 2023 +0000
deploy: ea19ce86d6c12f837eecc901cc66f7dd96883d48
---
implementors/core/clone/trait.Clone.js | 2 +-
implementors/core/default/trait.Default.js | 2 +-
implementors/core/fmt/trait.Debug.js | 2 +-
.../core/iter/traits/iterator/trait.Iterator.js | 2 +-
implementors/core/marker/trait.Freeze.js | 2 +-
implementors/core/marker/trait.Send.js | 2 +-
implementors/core/marker/trait.Sync.js | 2 +-
implementors/core/marker/trait.Unpin.js | 2 +-
.../core/panic/unwind_safe/trait.RefUnwindSafe.js | 2 +-
.../core/panic/unwind_safe/trait.UnwindSafe.js | 2 +-
parquet/all.html | 2 +-
parquet/arrow/arrow_reader/fn.apply_range.html | 2 +-
.../arrow/arrow_reader/fn.evaluate_predicate.html | 2 +-
parquet/arrow/arrow_reader/fn.selects_any.html | 2 +-
parquet/arrow/arrow_reader/index.html | 6 +-
parquet/arrow/arrow_reader/sidebar-items.js | 2 +-
.../arrow_reader/struct.ArrowReaderBuilder.html | 66 ++--
.../arrow_reader/struct.ArrowReaderMetadata.html | 37 ++
.../arrow_reader/struct.ArrowReaderOptions.html | 10 +-
.../struct.ParquetRecordBatchReader.html | 12 +-
.../struct.ReaderPageIterator.html} | 50 ++-
.../arrow/arrow_reader/struct.ReaderRowGroups.html | 20 +
parquet/arrow/arrow_reader/trait.RowGroups.html | 2 +-
.../type.ParquetRecordBatchReaderBuilder.html | 32 +-
.../arrow/async_reader/enum.ColumnChunkData.html | 4 +-
parquet/arrow/async_reader/enum.StreamState.html | 4 +-
parquet/arrow/async_reader/index.html | 2 +-
.../async_reader/struct.ColumnChunkIterator.html | 6 +-
.../async_reader/struct.InMemoryRowGroup.html | 6 +-
.../struct.ParquetRecordBatchStream.html | 8 +-
.../arrow/async_reader/struct.ReaderFactory.html | 8 +-
.../arrow/async_reader/trait.AsyncFileReader.html | 16 +-
.../type.ParquetRecordBatchStreamBuilder.html | 14 +-
parquet/arrow/async_reader/type.ReadResult.html | 2 +-
parquet/column/page/trait.PageIterator.html | 2 +-
parquet/column/page/trait.PageReader.html | 2 +-
parquet/file/reader/trait.ChunkReader.html | 2 +-
parquet/file/reader/trait.FileReader.html | 2 +-
parquet/file/reader/trait.Length.html | 2 +-
parquet/file/reader/trait.RowGroupReader.html | 2 +-
.../enum.SerializedPageReaderState.html | 2 +-
parquet/file/serialized_reader/fn.decode_page.html | 2 +-
.../serialized_reader/fn.get_midpoint_offset.html | 2 +-
.../serialized_reader/fn.read_page_header.html | 2 +-
.../serialized_reader/fn.read_page_header_len.html | 2 +-
parquet/file/serialized_reader/index.html | 2 +-
.../struct.SerializedFileReader.html | 6 +-
.../struct.SerializedPageReader.html | 14 +-
.../struct.SerializedRowGroupReader.html | 8 +-
search-index.js | 2 +-
src/parquet/arrow/array_reader/mod.rs.html | 86 ----
src/parquet/arrow/arrow_reader/mod.rs.html | 438 +++++++++++++++++++--
src/parquet/arrow/async_reader/mod.rs.html | 92 +++--
src/parquet/file/metadata.rs.html | 4 +-
src/parquet/file/serialized_reader.rs.html | 10 -
55 files changed, 715 insertions(+), 304 deletions(-)
diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js
index eeaa492bcf..44e18e4916 100644
--- a/implementors/core/clone/trait.Clone.js
+++ b/implementors/core/clone/trait.Clone.js
@@ -19,7 +19,7 @@
"flight_sql_client":[["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"flight_sql_cli [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</a>"]],
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</a>"]],
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"parquet/record/api/enum.Field.html\" title=\"enum parquet::record::api::Field\">Field</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"parquet/arrow/async_writer/struct.SharedBuffe [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"parquet/record/api/enum.Field.html\" title=\"enum parquet::record::api::Field\">Field</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"parquet/arrow/async_writer/struct.SharedBuffe [...]
"parquet_fromcsv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"parquet_fromcsv/enum.CsvDialect.html\" title=\"enum parquet_fromcsv::CsvDialect\">CsvDialect</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"parquet_fromcsv/enum.RecordTermi [...]
"parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"parquet_rewrite/enum.WriterVersionArgs.html\" title=\"enum parquet_rewrite::WriterVersionArgs\">WriterVersionArgs</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"parquet_rew [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js
index cddb39d0da..1519e22608 100644
--- a/implementors/core/default/trait.Default.js
+++ b/implementors/core/default/trait.Default.js
@@ -11,5 +11,5 @@
"arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"arrow_row/interner/struct.InternBuffer.html\" title=\"struct arrow_row::interner::InternBuffer\">InternBuffer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href [...]
"arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"arrow_schema/fields/struct.Fields.html\" title=\"struct arrow_schema::fields::Fields\">Fields</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"arrow_sche [...]
"arrow_select":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"arrow_select/take/struct.TakeOptions.html\" title=\"struct arrow_select::take::TakeOptions\">TakeOptions</a>"]],
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"parquet/format/struct.NanoSeconds.html\" title=\"struct parquet::format::NanoSeconds\">NanoSeconds</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"parquet/co [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"parquet/format/struct.NanoSeconds.html\" title=\"struct parquet::format::NanoSeconds\">NanoSeconds</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"parquet/co [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js
index c109853e71..a7f537d921 100644
--- a/implementors/core/fmt/trait.Debug.js
+++ b/implementors/core/fmt/trait.Debug.js
@@ -20,7 +20,7 @@
"flight_sql_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"flight_sql_client/struct.Args.html\" title=\"struct flight_sql_client::Args\">Args</a>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"flight_test_integration_client/struct.Args.html\" title=\"struct flight_test_integration_client::Args\">Args</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"flight_ [...]
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"flight_test_integration_server/struct.Args.html\" title=\"struct flight_test_integration_server::Args\">Args</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"flight_ [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"parquet/file/properties/struct.ColumnProperties.html\" title=\"struct parquet::file::properties::ColumnProperties\">ColumnProperties</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"parq [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"parquet/file/properties/struct.ColumnProperties.html\" title=\"struct parquet::file::properties::ColumnProperties\">ColumnProperties</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"parq [...]
"parquet_concat":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"parquet_concat/struct.Args.html\" title=\"struct parquet_concat::Args\">Args</a>"]],
"parquet_derive":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"parquet_derive/parquet_field/enum.Type.html\" title=\"enum parquet_derive::parquet_field::Type\">Type</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"parquet_derive/parquet_field/s [...]
"parquet_fromcsv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"parquet_fromcsv/enum.RecordTerminator.html\" title=\"enum parquet_fromcsv::RecordTerminator\">RecordTerminator</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"parquet_fromcsv/enum.P [...]
diff --git a/implementors/core/iter/traits/iterator/trait.Iterator.js b/implementors/core/iter/traits/iterator/trait.Iterator.js
index e6c21331c9..7eee7ff73d 100644
--- a/implementors/core/iter/traits/iterator/trait.Iterator.js
+++ b/implementors/core/iter/traits/iterator/trait.Iterator.js
@@ -7,5 +7,5 @@
"arrow_json":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow_json/reader/tape/struct.BufIter.html\" title=\"struct arrow_json::reader::tape::BufIter\">BufIter</a><'a>"],["impl<R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html\" title=\"trait std::io::BufRead\"> [...]
"arrow_row":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow_row/struct.RowsIter.html\" title=\"struct arrow_row::RowsIter\">RowsIter</a><'a>"]],
"arrow_select":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"arrow_select/filter/struct.IndexIterator.html\" title=\"struct arrow_select::filter::IndexIterator\">IndexIterator</a><'a>"],["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.htm [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"parquet/arrow/arrow_reader/struct.ParquetRecordBatchReader.html\" title=\"struct parquet::arrow::arrow_reader::ParquetRecordBatchReader\">ParquetRecordBatchReader</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"parquet/arrow/async_reader/struct.ColumnChunkIterator.html\" title=\"struct parquet::arrow::async_reader::ColumnChunkIterator\">ColumnChunkIterator</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\ [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js
index 6834cabb70..5b60f4e500 100644
--- a/implementors/core/marker/trait.Freeze.js
+++ b/implementors/core/marker/trait.Freeze.js
@@ -20,7 +20,7 @@
"flight_sql_client":[["impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"flight_sql_client/struct.KeyValue.html\" title=\"struct flight_sql_client::KeyValue\">KeyValue</a><K, V><span class=\"where fmt-newline\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Fre [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</a>",1,["flight_test_integration_client::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait [...]
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</a>",1,["flight_test_integration_server::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"str [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"str [...]
"parquet_concat":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"parquet_concat/struct.Args.html\" title=\"struct parquet_concat::Args\">Args</a>",1,["parquet_concat::Args"]]],
"parquet_derive":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"parquet_derive/parquet_field/struct.Field.html\" title=\"struct parquet_derive::parquet_field::Field\">Field</a>",1,["parquet_derive::parquet_field::Field"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Fr [...]
"parquet_derive_test":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"parquet_derive_test/struct.ACompleteRecord.html\" title=\"struct parquet_derive_test::ACompleteRecord\">ACompleteRecord</a><'a>",1,["parquet_derive_test::ACompleteRecord"]]],
diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js
index 630a47f8ab..c2a6b06f82 100644
--- a/implementors/core/marker/trait.Send.js
+++ b/implementors/core/marker/trait.Send.js
@@ -20,7 +20,7 @@
"flight_sql_client":[["impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"flight_sql_client/struct.KeyValue.html\" title=\"struct flight_sql_client::KeyValue\">KeyValue</a><K, V><span class=\"where fmt-newline\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</a>",1,["flight_test_integration_client::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::m [...]
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</a>",1,["flight_test_integration_server::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::m [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\ [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\ [...]
"parquet_concat":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"parquet_concat/struct.Args.html\" title=\"struct parquet_concat::Args\">Args</a>",1,["parquet_concat::Args"]]],
"parquet_derive":[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"parquet_derive/parquet_field/struct.Field.html\" title=\"struct parquet_derive::parquet_field::Field\">Field</a>",1,["parquet_derive::parquet_field::Field"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> fo [...]
"parquet_derive_test":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"parquet_derive_test/struct.ACompleteRecord.html\" title=\"struct parquet_derive_test::ACompleteRecord\">ACompleteRecord</a><'a>",1,["parquet_derive_test::ACompleteRecord"]]],
diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js
index c5339e98dd..f8be6c2b80 100644
--- a/implementors/core/marker/trait.Sync.js
+++ b/implementors/core/marker/trait.Sync.js
@@ -20,7 +20,7 @@
"flight_sql_client":[["impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"flight_sql_client/struct.KeyValue.html\" title=\"struct flight_sql_client::KeyValue\">KeyValue</a><K, V><span class=\"where fmt-newline\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</a>",1,["flight_test_integration_client::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::m [...]
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</a>",1,["flight_test_integration_server::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::m [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\ [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\ [...]
"parquet_concat":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"parquet_concat/struct.Args.html\" title=\"struct parquet_concat::Args\">Args</a>",1,["parquet_concat::Args"]]],
"parquet_derive":[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"parquet_derive/parquet_field/struct.Field.html\" title=\"struct parquet_derive::parquet_field::Field\">Field</a>",1,["parquet_derive::parquet_field::Field"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> fo [...]
"parquet_derive_test":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"parquet_derive_test/struct.ACompleteRecord.html\" title=\"struct parquet_derive_test::ACompleteRecord\">ACompleteRecord</a><'a>",1,["parquet_derive_test::ACompleteRecord"]]],
diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js
index de267859d1..80e1eb2217 100644
--- a/implementors/core/marker/trait.Unpin.js
+++ b/implementors/core/marker/trait.Unpin.js
@@ -20,7 +20,7 @@
"flight_sql_client":[["impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"flight_sql_client/struct.KeyValue.html\" title=\"struct flight_sql_client::KeyValue\">KeyValue</a><K, V><span class=\"where fmt-newline\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\" [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</a>",1,["flight_test_integration_client::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait cor [...]
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</a>",1,["flight_test_integration_server::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait cor [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" [...]
"parquet_concat":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"parquet_concat/struct.Args.html\" title=\"struct parquet_concat::Args\">Args</a>",1,["parquet_concat::Args"]]],
"parquet_derive":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"parquet_derive/parquet_field/struct.Field.html\" title=\"struct parquet_derive::parquet_field::Field\">Field</a>",1,["parquet_derive::parquet_field::Field"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</ [...]
"parquet_derive_test":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"parquet_derive_test/struct.ACompleteRecord.html\" title=\"struct parquet_derive_test::ACompleteRecord\">ACompleteRecord</a><'a>",1,["parquet_derive_test::ACompleteRecord"]]],
diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
index 7c96c9c1f0..fb012b85d9 100644
--- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
+++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
@@ -20,7 +20,7 @@
"flight_sql_client":[["impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"flight_sql_client/struct.KeyValue.html\" title=\"struct flight_sql_client::KeyValue\">KeyValue</a><K, V><span class=\"where fmt-newline\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_s [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</a>",1,["flight_test_integration_client::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/c [...]
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</a>",1,["flight_test_integration_server::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/c [...]
-"parquet":[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" tit [...]
+"parquet":[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" tit [...]
"parquet_concat":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"parquet_concat/struct.Args.html\" title=\"struct parquet_concat::Args\">Args</a>",1,["parquet_concat::Args"]]],
"parquet_derive":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"parquet_derive/parquet_field/struct.Field.html\" title=\"struct parquet_derive::parquet_field::Field\">Field</a>",1,["parquet_derive::parquet_field::Field"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trai [...]
"parquet_derive_test":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"parquet_derive_test/struct.ACompleteRecord.html\" title=\"struct parquet_derive_test::ACompleteRecord\">ACompleteRecord</a><'a>",1,["parquet_derive_test::ACompleteRecord"]]],
diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
index 24845006d5..bc725c9fba 100644
--- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
+++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
@@ -20,7 +20,7 @@
"flight_sql_client":[["impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"flight_sql_client/struct.KeyValue.html\" title=\"struct flight_sql_client::KeyValue\">KeyValue</a><K, V><span class=\"where fmt-newline\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait [...]
"flight_test_integration_client":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</a>",1,["flight_test_integration_client::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic [...]
"flight_test_integration_server":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</a>",1,["flight_test_integration_server::Scenario"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic [...]
-"parquet":[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait c [...]
+"parquet":[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>",1,["parquet::errors::ParquetError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait c [...]
"parquet_concat":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"parquet_concat/struct.Args.html\" title=\"struct parquet_concat::Args\">Args</a>",1,["parquet_concat::Args"]]],
"parquet_derive":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"parquet_derive/parquet_field/struct.Field.html\" title=\"struct parquet_derive::parquet_field::Field\">Field</a>",1,["parquet_derive::parquet_field::Field"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindS [...]
"parquet_derive_test":[["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"parquet_derive_test/struct.ACompleteRecord.html\" title=\"struct parquet_derive_test::ACompleteRecord\">ACompleteRecord</a><'a>",1,["parquet_derive_test::ACompleteRecord"]]],
diff --git a/parquet/all.html b/parquet/all.html
index 246d0f548d..6d2cc84878 100644
--- a/parquet/all.html
+++ b/parquet/all.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/fn.apply_range.html b/parquet/arrow/arrow_reader/fn.apply_range.html
index 225e5110b0..8b3aac8d99 100644
--- a/parquet/arrow/arrow_reader/fn.apply_range.html
+++ b/parquet/arrow/arrow_reader/fn.apply_range.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Applies an optional offset and limit to an optional `RowSelection`"><title>apply_range in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Applies an optional offset and limit to an optional `RowSelection`"><title>apply_range in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
selection: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection">RowSelection</a>>,
row_count: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
offset: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>,
diff --git a/parquet/arrow/arrow_reader/fn.evaluate_predicate.html b/parquet/arrow/arrow_reader/fn.evaluate_predicate.html
index 9facc43fc7..8413a08c52 100644
--- a/parquet/arrow/arrow_reader/fn.evaluate_predicate.html
+++ b/parquet/arrow/arrow_reader/fn.evaluate_predicate.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Evaluates an `ArrowPredicate` returning the `RowSelection`"><title>evaluate_predicate in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Evaluates an `ArrowPredicate` returning the `RowSelection`"><title>evaluate_predicate in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" [...]
batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
array_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn ArrayReader>,
input_selection: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection">RowSelection</a>>,
diff --git a/parquet/arrow/arrow_reader/fn.selects_any.html b/parquet/arrow/arrow_reader/fn.selects_any.html
index 0dc0a27861..7ca072ea9d 100644
--- a/parquet/arrow/arrow_reader/fn.selects_any.html
+++ b/parquet/arrow/arrow_reader/fn.selects_any.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns `true` if `selection` is `None` or selects some rows"><title>selects_any in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns `true` if `selection` is `None` or selects some rows"><title>selects_any in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as=" [...]
</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/index.html b/parquet/arrow/arrow_reader/index.html
index fba08d700f..150a30a09a 100644
--- a/parquet/arrow/arrow_reader/index.html
+++ b/parquet/arrow/arrow_reader/index.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Contains reader which reads parquet data into arrow `RecordBatch`"><title>parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Contains reader which reads parquet data into arrow `RecordBatch`"><title>parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type [...]
</div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="filter/index.html" title="mod parquet::arrow::arrow_reader::filter">filter</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="mod" href="selection/index.html" title="mod parquet::arrow::arrow_reader::selection">selection</a><span title="Restricted Visibility"> 🔒</span [...]
to be used directly, instead you should use the specialization for the type of reader
-you wish to use</div></li><li><div class="item-name"><a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a></div><div class="desc docblock-short">Options that control how metadata is read for a parquet file</div></li><li><div class="item-name"><a class="struct" href="struct.ParquetRecordBatchReader.html" title="struct parquet::arrow::arrow_reader::ParquetRecordBatchReader">ParquetRecordBatchReader</a> [...]
-read from a parquet data source</div></li><li><div class="item-name"><a class="struct" href="struct.RowFilter.html" title="struct parquet::arrow::arrow_reader::RowFilter">RowFilter</a></div><div class="desc docblock-short">A <a href="filter/struct.RowFilter.html" title="struct parquet::arrow::arrow_reader::filter::RowFilter"><code>RowFilter</code></a> allows pushing down a filter predicate to skip IO and decode</div></li><li><div class="item-name"><a class="struct" href="struct.RowSelect [...]
+you wish to use</div></li><li><div class="item-name"><a class="struct" href="struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata">ArrowReaderMetadata</a></div><div class="desc docblock-short">The cheaply clone-able metadata necessary to construct a <a href="struct.ArrowReaderBuilder.html" title="struct parquet::arrow::arrow_reader::ArrowReaderBuilder"><code>ArrowReaderBuilder</code></a></div></li><li><div class="item-name"><a class="struct" hr [...]
+read from a parquet data source</div></li><li><div class="item-name"><a class="struct" href="struct.ReaderPageIterator.html" title="struct parquet::arrow::arrow_reader::ReaderPageIterator">ReaderPageIterator</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="struct" href="struct.ReaderRowGroups.html" title="struct parquet::arrow::arrow_reader::ReaderRowGroups">ReaderRowGroups</a><span title="Restricted Visibility"> 🔒</span> </div></ [...]
when scanning the parquet file.</div></li><li><div class="item-name"><a class="struct" href="struct.RowSelector.html" title="struct parquet::arrow::arrow_reader::RowSelector">RowSelector</a></div><div class="desc docblock-short"><a href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection"><code>RowSelection</code></a> is a collection of <a href="selection/struct.RowSelector.html" title="struct parquet::arrow::arrow_reader::selection::R [...]
scanning a parquet file</div></li></ul><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.ArrowPredicate.html" title="trait parquet::arrow::arrow_reader::ArrowPredicate">ArrowPredicate</a></div><div class="desc docblock-short">A predicate operating on <a href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>Record [...]
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/sidebar-items.js b/parquet/arrow/arrow_reader/sidebar-items.js
index a5fa753894..1625b1ad1a 100644
--- a/parquet/arrow/arrow_reader/sidebar-items.js
+++ b/parquet/arrow/arrow_reader/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["apply_range","evaluate_predicate","selects_any"],"mod":["filter","selection"],"struct":["ArrowPredicateFn","ArrowReaderBuilder","ArrowReaderOptions","ParquetRecordBatchReader","RowFilter","RowSelection","RowSelector"],"trait":["ArrowPredicate","RowGroups"],"type":["ParquetRecordBatchReaderBuilder"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["apply_range","evaluate_predicate","selects_any"],"mod":["filter","selection"],"struct":["ArrowPredicateFn","ArrowReaderBuilder","ArrowReaderMetadata","ArrowReaderOptions","ParquetRecordBatchReader","ReaderPageIterator","ReaderRowGroups","RowFilter","RowSelection","RowSelector"],"trait":["ArrowPredicate","RowGroups"],"type":["ParquetRecordBatchReaderBuilder"]};
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/struct.ArrowReaderBuilder.html b/parquet/arrow/arrow_reader/struct.ArrowReaderBuilder.html
index 2ea61744b0..d430613439 100644
--- a/parquet/arrow/arrow_reader/struct.ArrowReaderBuilder.html
+++ b/parquet/arrow/arrow_reader/struct.ArrowReaderBuilder.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A generic builder for constructing sync or async arrow parquet readers. This is not intended to be used directly, instead you should use the specialization for the type of reader you wish to use"><title>ArrowReaderBuilder in parquet::arrow::arrow_reader - Rust</title><link rel="preload" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A generic builder for constructing sync or async arrow parquet readers. This is not intended to be used directly, instead you should use the specialization for the type of reader you wish to use"><title>ArrowReaderBuilder in parquet::arrow::arrow_reader - Rust</title><link rel="preload" [...]
pub(crate) input: T,
pub(crate) metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
pub(crate) schema: <a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
- pub(crate) fields: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ParquetField>,
+ pub(crate) fields: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><ParquetField>>,
pub(crate) batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
pub(crate) row_groups: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>,
pub(crate) projection: <a class="struct" href="../struct.ProjectionMask.html" title="struct parquet::arrow::ProjectionMask">ProjectionMask</a>,
@@ -17,43 +17,65 @@ you wish to use</p>
<li>For a synchronous API - <a href="type.ParquetRecordBatchReaderBuilder.html" title="type parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder"><code>ParquetRecordBatchReaderBuilder</code></a></li>
<li>For an asynchronous API - <a href="../async_reader/type.ParquetRecordBatchStreamBuilder.html" title="type parquet::arrow::async_reader::ParquetRecordBatchStreamBuilder"><code>ParquetRecordBatchStreamBuilder</code></a></li>
</ul>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.input" class="structfield small-section-header"><a href="#structfield.input" class="anchor field">§</a><code>input: T</code></span><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct [...]
- input: T,
- metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
- options: <a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
-) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section><details class="toggle method-toggle" open><summary><section id="method.metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#110-112">source</a><h4 class="code-header">pub fn <a href="#method.metadata" class="fn">metadata</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nigh [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.parquet_schema" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#115-117">source</a><h4 class="code-header">pub fn <a href="#method.parquet_schema" class="fn">parquet_schema</a>(&self) -> &<a class="struct" href="../../schema/types/struct.SchemaDescriptor.html" title="struct parquet::schema::types::SchemaDescriptor">SchemaDescriptor</a></h4>< [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.schema" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#120-122">source</a><h4 class="code-header">pub fn <a href="#method.schema" class="fn">schema</a>(&self) -> &<a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></h4></section></summary><div class="docblock"><p [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_batch_size" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#126-131">source</a><h4 class="code-header">pub fn <a href="#method.with_batch_size" class="fn">with_batch_size</a>(self, batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</h4></section></summary><div class="docblock">< [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.input" class="structfield small-section-header"><a href="#structfield.input" class="anchor field">§</a><code>input: T</code></span><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.parquet_schema" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#102-104">source</a><h4 class="code-header">pub fn <a href="#method.parquet_schema" class="fn">parquet_schema</a>(&self) -> &<a class="struct" href="../../schema/types/struct.SchemaDescriptor.html" title="struct parquet::schema::types::SchemaDescriptor">SchemaDescriptor</a></h4>< [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.schema" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#107-109">source</a><h4 class="code-header">pub fn <a href="#method.schema" class="fn">schema</a>(&self) -> &<a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></h4></section></summary><div class="docblock"><p [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_batch_size" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#113-118">source</a><h4 class="code-header">pub fn <a href="#method.with_batch_size" class="fn">with_batch_size</a>(self, batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</h4></section></summary><div class="docblock">< [...]
If the batch_size more than the file row count, use the file row count.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_row_groups" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#134-139">source</a><h4 class="code-header">pub fn <a href="#method.with_row_groups" class="fn">with_row_groups</a>(self, row_groups: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="ht [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_projection" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#142-147">source</a><h4 class="code-header">pub fn <a href="#method.with_projection" class="fn">with_projection</a>(self, mask: <a class="struct" href="../struct.ProjectionMask.html" title="struct parquet::arrow::ProjectionMask">ProjectionMask</a>) -> Self</h4></section></summary><div c [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_row_selection" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#159-164">source</a><h4 class="code-header">pub fn <a href="#method.with_row_selection" class="fn">with_row_selection</a>(self, selection: <a class="struct" href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection">RowSelection</a>) - [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_row_groups" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#121-126">source</a><h4 class="code-header">pub fn <a href="#method.with_row_groups" class="fn">with_row_groups</a>(self, row_groups: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="ht [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_projection" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#129-134">source</a><h4 class="code-header">pub fn <a href="#method.with_projection" class="fn">with_projection</a>(self, mask: <a class="struct" href="../struct.ProjectionMask.html" title="struct parquet::arrow::ProjectionMask">ProjectionMask</a>) -> Self</h4></section></summary><div c [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_row_selection" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#146-151">source</a><h4 class="code-header">pub fn <a href="#method.with_row_selection" class="fn">with_row_selection</a>(self, selection: <a class="struct" href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection">RowSelection</a>) - [...]
data into memory.</p>
<p>Row group filtering is applied prior to this, and therefore rows from skipped
row groups should not be included in the <a href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection"><code>RowSelection</code></a></p>
<p>An example use case of this would be applying a selection determined by
evaluating predicates against the <a href="../../file/page_index/index/enum.Index.html" title="enum parquet::file::page_index::index::Index"><code>Index</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_row_filter" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#169-174">source</a><h4 class="code-header">pub fn <a href="#method.with_row_filter" class="fn">with_row_filter</a>(self, filter: <a class="struct" href="filter/struct.RowFilter.html" title="struct parquet::arrow::arrow_reader::filter::RowFilter">RowFilter</a>) -> Self</h4></section></s [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_row_filter" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#156-161">source</a><h4 class="code-header">pub fn <a href="#method.with_row_filter" class="fn">with_row_filter</a>(self, filter: <a class="struct" href="filter/struct.RowFilter.html" title="struct parquet::arrow::arrow_reader::filter::RowFilter">RowFilter</a>) -> Self</h4></section></s [...]
<p>Row filters are applied after row group selection and row selection</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_limit" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#180-185">source</a><h4 class="code-header">pub fn <a href="#method.with_limit" class="fn">with_limit</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</h4></section></summary><div class="docblock"><p>Provide a limit to [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_limit" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#167-172">source</a><h4 class="code-header">pub fn <a href="#method.with_limit" class="fn">with_limit</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</h4></section></summary><div class="docblock"><p>Provide a limit to [...]
<p>The limit will be applied after any <a href="struct.ArrowReaderBuilder.html#method.with_row_selection" title="method parquet::arrow::arrow_reader::ArrowReaderBuilder::with_row_selection"><code>Self::with_row_selection</code></a> and <a href="struct.ArrowReaderBuilder.html#method.with_row_filter" title="method parquet::arrow::arrow_reader::ArrowReaderBuilder::with_row_filter"><code>Self::with_row_filter</code></a>
allowing it to limit the final set of rows decoded after any pushed down predicates</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_offset" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#191-196">source</a><h4 class="code-header">pub fn <a href="#method.with_offset" class="fn">with_offset</a>(self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</h4></section></summary><div class="docblock"><p>Provide an off [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_offset" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#178-183">source</a><h4 class="code-header">pub fn <a href="#method.with_offset" class="fn">with_offset</a>(self, offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</h4></section></summary><div class="docblock"><p>Provide an off [...]
<p>The offset will be applied after any <a href="struct.ArrowReaderBuilder.html#method.with_row_selection" title="method parquet::arrow::arrow_reader::ArrowReaderBuilder::with_row_selection"><code>Self::with_row_selection</code></a> and <a href="struct.ArrowReaderBuilder.html#method.with_row_filter" title="method parquet::arrow::arrow_reader::ArrowReaderBuilder::with_row_filter"><code>Self::with_row_filter</code></a>
allowing it to skip rows after any pushed down predicates</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowReaderBuilder%3CSyncReader%3CT%3E%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#246-314">source</a><a href="#impl-ArrowReaderBuilder%3CSyncReader%3CT%3E%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../../file/reader/trait.ChunkReader.html" title="trait parquet::file::reader::ChunkReader" [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_with_options" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#253-264">source</a><h4 class="code-header">pub fn <a href="#method.try_new_with_options" class="fn">try_new_with_options</a>(
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowReaderBuilder%3CSyncReader%3CT%3E%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#309-437">source</a><a href="#impl-ArrowReaderBuilder%3CSyncReader%3CT%3E%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../../file/reader/trait.ChunkReader.html" title="trait parquet::file::reader::ChunkReader" [...]
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = ParquetRecordBatchReaderBuilder::try_new(file).unwrap();
+
+<span class="comment">// Inspect metadata
+</span><span class="macro">assert_eq!</span>(builder.metadata().num_row_groups(), <span class="number">1</span>);
+
+<span class="comment">// Construct reader
+</span><span class="kw">let </span><span class="kw-2">mut </span>reader: ParquetRecordBatchReader = builder.with_row_groups(<span class="macro">vec!</span>[<span class="number">0</span>]).build().unwrap();
+
+<span class="comment">// Read data
+</span><span class="kw">let </span>_batch = reader.next().unwrap().unwrap();</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_with_options" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#343-346">source</a><h4 class="code-header">pub fn <a href="#method.try_new_with_options" class="fn">try_new_with_options</a>(
reader: T,
options: <a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Create a new <a href="type.ParquetRecordBatchReaderBuilder.html" title="type parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder"><code>ParquetRecordBatchReaderBuilder</code></a> with <a href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions"><code>ArrowReaderOption [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#269-313">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="struct.ParquetRecordBatchReader.html" title="struct parquet::arr [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#376-378">source</a><h4 class="code-header">pub fn <a href="#method.new_with_metadata" class="fn">new_with_metadata</a>(input: T, metadata: <a class="struct" href="struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata">ArrowReaderMetadata</a>) - [...]
+<p>This allows loading metadata once and using it to create multiple builders with
+potentially different settings</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>metadata = ArrowReaderMetadata::load(<span class="kw-2">&</span>file, Default::default()).unwrap();
+<span class="kw">let </span><span class="kw-2">mut </span>a = ParquetRecordBatchReaderBuilder::new_with_metadata(file.clone(), metadata.clone()).build().unwrap();
+<span class="kw">let </span><span class="kw-2">mut </span>b = ParquetRecordBatchReaderBuilder::new_with_metadata(file, metadata).build().unwrap();
+
+<span class="comment">// Should be able to read from both in parallel
+</span><span class="macro">assert_eq!</span>(a.next().unwrap().unwrap(), b.next().unwrap().unwrap());</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#383-436">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="struct.ParquetRecordBatchReader.html" title="struct parquet::arr [...]
<p>Note: this will eagerly evaluate any <code>RowFilter</code> before returning</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowReaderBuilder%3CAsyncReader%3CT%3E%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#223-291">source</a><a href="#impl-ArrowReaderBuilder%3CAsyncReader%3CT%3E%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../async_reader/trait.AsyncFileReader.html" title="trait parquet::arrow::async_reader::A [...]
-</div></details><section id="method.new_with_options" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#230-247">source</a><h4 class="code-header">pub async fn <a href="#method.new_with_options" class="fn">new_with_options</a>(
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowReaderBuilder%3CAsyncReader%3CT%3E%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#246-312">source</a><a href="#impl-ArrowReaderBuilder%3CAsyncReader%3CT%3E%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../async_reader/trait.AsyncFileReader.html" title="trait parquet::arrow::async_reader::A [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_options" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#254-260">source</a><h4 class="code-header">pub async fn <a href="#method.new_with_options" class="fn">new_with_options</a>(
input: T,
options: <a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
-) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section><details class="toggle method-toggle" open><summary><section id="method.build-1" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#250-290">source</a><h4 class="code-header">pub fn <a href="#method.build-1" class="fn">build</a>(self) -> <a class="type" href="../../errors/type.Result.html" title="type parq [...]
+) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Create a new <a href="../async_reader/type.ParquetRecordBatchStreamBuilder.html" title="type parquet::arrow::async_reader::ParquetRecordBatchStreamBuilder"><code>ParquetRecordBatchStreamBuilder</code></a> with the provided parquet file
+and <a href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions"><code>ArrowReaderOptions</code></a></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_metadata-1" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#266-268">source</a><h4 class="code-header">pub fn <a href="#method.new_with_metadata-1" class="fn">new_with_metadata</a>(input: T, metadata: <a class="struct" href="struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata">ArrowReaderMetadata</a [...]
+<p>This allows loading metadata once and using it to create multiple builders with
+potentially different settings</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build-1" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#271-311">source</a><h4 class="code-header">pub fn <a href="#method.build-1" class="fn">build</a>(self) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="../async_reader/struct.ParquetRecordBatchStream.html" title= [...]
</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-ArrowReaderBuilder%3CT%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ArrowReaderBuilder%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/pani [...]
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section><section id="impl-Sync-for-ArrowReaderBuilder%3CT%3E" class="impl"><a href="#impl-Sync-for-ArrowReaderBuilder%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="st [...]
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</span></h3></section><section id="impl-UnwindSafe-for-ArrowReaderBuilder%3CT%3E" class="impl"><a href="#impl-UnwindSafe-for-ArrowReaderBuilder%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::U [...]
diff --git a/parquet/arrow/arrow_reader/struct.ArrowReaderMetadata.html b/parquet/arrow/arrow_reader/struct.ArrowReaderMetadata.html
new file mode 100644
index 0000000000..c6210937cb
--- /dev/null
+++ b/parquet/arrow/arrow_reader/struct.ArrowReaderMetadata.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The cheaply clone-able metadata necessary to construct a `ArrowReaderBuilder`"><title>ArrowReaderMetadata in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2" [...]
+ pub(crate) metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
+ pub(crate) schema: <a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
+ pub(crate) fields: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><ParquetField>>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The cheaply clone-able metadata necessary to construct a <a href="struct.ArrowReaderBuilder.html" title="struct parquet::arrow::arrow_reader::ArrowReaderBuilder"><code>ArrowReaderBuilder</code></a></p>
+<p>This allows loading the metadata for a file once and then using this to construct
+multiple separate readers, for example, to distribute readers across multiple threads</p>
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::fil [...]
+ reader: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a>,
+ options: <a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
+) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Loads <a href="struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata"><code>ArrowReaderMetadata</code></a> from the provided <a href="../../file/reader/trait.ChunkReader.html" title="trait parquet::file::reader::ChunkReader"><code>ChunkReader</code></a></p>
+<p>See <a href="struct.ArrowReaderBuilder.html#method.new_with_metadata" title="associated function parquet::arrow::arrow_reader::ArrowReaderBuilder::new_with_metadata"><code>ParquetRecordBatchReaderBuilder::new_with_metadata</code></a> for how this can be used</p>
+</div></details><section id="method.try_new" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#262-282">source</a><h4 class="code-header">pub(crate) fn <a href="#method.try_new" class="fn">try_new</a>(
+ metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
+ options: <a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
+) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section><details class="toggle method-toggle" open><summary><section id="method.metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#285-287">source</a><h4 class="code-header">pub fn <a href="#method.metadata" class="fn">metadata</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nigh [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.parquet_schema" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#290-292">source</a><h4 class="code-header">pub fn <a href="#method.parquet_schema" class="fn">parquet_schema</a>(&self) -> &<a class="struct" href="../../schema/types/struct.SchemaDescriptor.html" title="struct parquet::schema::types::SchemaDescriptor">SchemaDescriptor</a></h4>< [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.schema" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#295-297">source</a><h4 class="code-header">pub fn <a href="#method.schema" class="fn">schema</a>(&self) -> &<a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a></h4></section></summary><div class="docblock"><p [...]
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ArrowReaderMetadata-1" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#209-230">source</a><a href="#impl-ArrowReaderMetadata-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata">ArrowReaderMetadata</a></h3></section [...]
+ input: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut T</a>,
+ options: <a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
+) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Returns a new <a href="struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata"><code>ArrowReaderMetadata</code></a> for this builder</p>
+<p>See <a href="struct.ArrowReaderBuilder.html#method.new_with_metadata" title="associated function parquet::arrow::arrow_reader::ArrowReaderBuilder::new_with_metadata"><code>ParquetRecordBatchStreamBuilder::new_with_metadata</code></a> for how this can be used</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ArrowReaderMetadata" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#228">source</a><a href="#impl-Clone-for-ArrowReaderMetadata" class="anchor" [...]
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
+ T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
+ T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+ U: FromCast<T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method trait-impl"><a href="#method.cast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cast</a>(self) -> U</h4></section></summary><div class='docblock'>Numeric cast from <code>self</code> to <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="im [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromCast%3CT%3E-for-ArrowReaderMetadata" class="impl"><a href="#impl-FromCast%3CT%3E-for-ArrowReaderMetadata" class="anchor">§</a><h3 class="code-header">impl<T> FromCast<T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_cast" class="method trait-impl"><a href="#method.from_cast" class="ancho [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-ArrowReaderMetadata" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-ArrowReaderMetadata" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwne [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associat [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" c [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Err [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></div></section></div></m [...]
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/struct.ArrowReaderOptions.html b/parquet/arrow/arrow_reader/struct.ArrowReaderOptions.html
index 47f566998a..e4945667b1 100644
--- a/parquet/arrow/arrow_reader/struct.ArrowReaderOptions.html
+++ b/parquet/arrow/arrow_reader/struct.ArrowReaderOptions.html
@@ -1,17 +1,17 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Options that control how metadata is read for a parquet file"><title>ArrowReaderOptions in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preloa [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Options that control how metadata is read for a parquet file"><title>ArrowReaderOptions in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preloa [...]
skip_arrow_metadata: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
pub(crate) page_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Options that control how metadata is read for a parquet file</p>
<p>See <a href="struct.ArrowReaderBuilder.html" title="struct parquet::arrow::arrow_reader::ArrowReaderBuilder"><code>ArrowReaderBuilder</code></a> for how to configure how the column data
is then read from the file, including projection and filter pushdown</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.skip_arrow_metadata" class="structfield small-section-header"><a href="#structfield.skip_arrow_metadata" class="anchor field">§</a><code>skip_arrow_metadata: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><span id="structfield.page_index" class="structfield small-section-header"><a href="#st [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_skip_arrow_metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#221-226">source</a><h4 class="code-header">pub fn <a href="#method.with_skip_arrow_metadata" class="fn">with_skip_arrow_metadata</a>(self, skip_arrow_metadata: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> Self</h4></section [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.skip_arrow_metadata" class="structfield small-section-header"><a href="#structfield.skip_arrow_metadata" class="anchor field">§</a><code>skip_arrow_metadata: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><span id="structfield.page_index" class="structfield small-section-header"><a href="#st [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_skip_arrow_metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#208-213">source</a><h4 class="code-header">pub fn <a href="#method.with_skip_arrow_metadata" class="fn">with_skip_arrow_metadata</a>(self, skip_arrow_metadata: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> Self</h4></section [...]
schema and metadata. This may not be correct or compatible with your system.</p>
<p>For example:<a href="https://issues.apache.org/jira/browse/ARROW-16184">ARROW-16184</a></p>
<p>Set <code>skip_arrow_metadata</code> to true, to skip decoding this</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_page_index" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#232-234">source</a><h4 class="code-header">pub fn <a href="#method.with_page_index" class="fn">with_page_index</a>(self, page_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> Self</h4></section></summary><div class="docblock"><p> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_page_index" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#219-221">source</a><h4 class="code-header">pub fn <a href="#method.with_page_index" class="fn">with_page_index</a>(self, page_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> Self</h4></section></summary><div class="docblock"><p> [...]
to push down predicates to the parquet scan, potentially eliminating unnecessary IO</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ArrowReaderOptions" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#203">source</a><a href="#impl-Clone-for-ArrowReaderOptions" class="anchor">§ [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ArrowReaderOptions" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#190">source</a><a href="#impl-Clone-for-ArrowReaderOptions" class="anchor">§ [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/arrow/arrow_reader/struct.ParquetRecordBatchReader.html b/parquet/arrow/arrow_reader/struct.ParquetRecordBatchReader.html
index 397397380a..60e74b28a7 100644
--- a/parquet/arrow/arrow_reader/struct.ParquetRecordBatchReader.html
+++ b/parquet/arrow/arrow_reader/struct.ParquetRecordBatchReader.html
@@ -1,16 +1,16 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An `Iterator<Item = ArrowResult<RecordBatch>>` that yields `RecordBatch` read from a parquet data source"><title>ParquetRecordBatchReader in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/Sour [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An `Iterator<Item = ArrowResult<RecordBatch>>` that yields `RecordBatch` read from a parquet data source"><title>ParquetRecordBatchReader in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/Sour [...]
batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
array_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn ArrayReader>,
schema: <a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
selection: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/vec_deque/struct.VecDeque.html" title="struct alloc::collections::vec_deque::VecDeque">VecDeque</a><<a class="struct" href="selection/struct.RowSelector.html" title="struct parquet::arrow::arrow_reader::selection::RowSelector">RowSelector</a>>>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An <code>Iterator<Item = ArrowResult<RecordBatch>></code> that yields <a href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a>
read from a parquet data source</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.batch_size" class="structfield small-section-header"><a href="#structfield.batch_size" class="anchor field">§</a><code>batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.array_reader" class="structfield small-section-header"><a href="#structfield.array_reader" [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.batch_size" class="structfield small-section-header"><a href="#structfield.batch_size" class="anchor field">§</a><code>batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.array_reader" class="structfield small-section-header"><a href="#structfield.array_reader" [...]
reader: T,
batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.ParquetRecordBatchReader.html" title="struct parquet::arrow::arrow_reader::ParquetRecordBatchReader"><code>ParquetRecordBatchReader</code></a> from the provided chunk reader</p>
<p>See <a href="type.ParquetRecordBatchReaderBuilder.html" title="type parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder"><code>ParquetRecordBatchReaderBuilder</code></a> for more options</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_with_row_groups" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#424-442">source</a><h4 class="code-header">pub fn <a href="#method.try_new_with_row_groups" class="fn">try_new_with_row_groups</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_with_row_groups" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#600-618">source</a><h4 class="code-header">pub fn <a href="#method.try_new_with_row_groups" class="fn">try_new_with_row_groups</a>(
levels: &<a class="struct" href="../struct.FieldLevels.html" title="struct parquet::arrow::FieldLevels">FieldLevels</a>,
row_groups: &dyn <a class="trait" href="trait.RowGroups.html" title="trait parquet::arrow::arrow_reader::RowGroups">RowGroups</a>,
batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
@@ -18,14 +18,14 @@ read from a parquet data source</p>
) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.ParquetRecordBatchReader.html" title="struct parquet::arrow::arrow_reader::ParquetRecordBatchReader"><code>ParquetRecordBatchReader</code></a> from the provided <a href="trait.RowGroups.html" title="trait parquet::arrow::arrow_reader::RowGroups"><code>RowGroups</code></a></p>
<p>Note: this is a low-level interface see <a href="struct.ParquetRecordBatchReader.html#method.try_new" title="associated function parquet::arrow::arrow_reader::ParquetRecordBatchReader::try_new"><code>ParquetRecordBatchReader::try_new</code></a> for a
higher-level interface for reading parquet data from a file</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#447-463">source</a><h4 class="code-header">pub(crate) fn <a href="#method.new" class="fn">new</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#623-639">source</a><h4 class="code-header">pub(crate) fn <a href="#method.new" class="fn">new</a>(
batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
array_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn ArrayReader>,
selection: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection">RowSelection</a>>
) -> Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.ParquetRecordBatchReader.html" title="struct parquet::arrow::arrow_reader::ParquetRecordBatchReader"><code>ParquetRecordBatchReader</code></a> that will read at most <code>batch_size</code> rows at
a time from [<code>ArrayReader</code>] based on the configured <code>selection</code>. If <code>selection</code> is <code>None</code>
all rows will be returned</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-ParquetRecordBatchReader" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#325-399">source</a><a href="#impl-Iterator-for-ParquetRecordBatchRe [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-ParquetRecordBatchReader" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#501-575">source</a><a href="#impl-Iterator-for-ParquetRecordBatchRe [...]
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.o [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/ [...]
@@ -207,7 +207,7 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/ni
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> K,
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><K>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
-function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatchReader-for-ParquetRecordBatchReader" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#401-405">source</a><a href="#impl-RecordBatchReader-for-ParquetRecordBatchReader" class="anchor">§</a>< [...]
+function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RecordBatchReader-for-ParquetRecordBatchReader" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#577-581">source</a><a href="#impl-RecordBatchReader-for-ParquetRecordBatchReader" class="anchor">§</a>< [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/arrow/async_reader/struct.ColumnChunkIterator.html b/parquet/arrow/arrow_reader/struct.ReaderPageIterator.html
similarity index 92%
copy from parquet/arrow/async_reader/struct.ColumnChunkIterator.html
copy to parquet/arrow/arrow_reader/struct.ReaderPageIterator.html
index 62e2fb4d2a..54d623124a 100644
--- a/parquet/arrow/async_reader/struct.ColumnChunkIterator.html
+++ b/parquet/arrow/arrow_reader/struct.ReaderPageIterator.html
@@ -1,7 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Implements `PageIterator` for a single column chunk, yielding a single `PageReader`"><title>ColumnChunkIterator in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf. [...]
- reader: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="../../column/page/trait.PageReader.html" title="trait parquet::column::page::PageRea [...]
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements <a href="../../column/page/trait.PageIterator.html" title="trait parquet::column::page::PageIterator"><code>PageIterator</code></a> for a single column chunk, yielding a single <a href="../../column/page/trait.PageReader.html" title="trait parquet::column::page::PageReader"><code>PageReader</code></a></p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.reader" class="structfield small-section-header"><a href="#structfield.reader" class="anchor field">§</a><code>reader: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a> [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ReaderPageIterator` struct in crate `parquet`."><title>ReaderPageIterator in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2" [...]
+ reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T>,
+ column_idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+ row_groups: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/into_iter/struct.IntoIter.html" title="struct alloc::vec::into_iter::IntoIter">IntoIter</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>,
+ metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.reader" class="structfield small-section-header"><a href="#structfield.reader" class="anchor field">§</a><code>reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T></code></span><span id="structfield.column_idx" class="structfield small-section-header"><a href="#str [...]
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.o [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/ [...]
@@ -45,22 +47,13 @@ if the underlying iterator ends sooner. <a href="https://doc.rust-lang.org/night
unlike <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fold" title="method core::iter::traits::iterator::Iterator::fold"><code>fold</code></a>, produces a new iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.scan">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flat_map" class="method trait-impl"><span class="rightside"><span class= [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
- F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> U,</span></h4></section></summary><div class='docblock'>Creates an iterator that works like map, but flattens nested structure. [...]
- Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
- Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,</span></h4></section></summary><div class='docblock'>Creates an iterator that flattens nested struct [...]
+ F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> U,</span></h4></section></summary><div class='docblock'>Creates an iterator that works like map, but flattens nested structure. [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an iterator which ends after the first <a href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a>. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.fu [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>),</span></h4></section></summary><div class='docblock'>Does something with each element of an iterator, passing the value on. <a h [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Borrows an iterator, rather than consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.by_ref">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect" class="method trait-impl"><span clas [...]
B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>>,
- Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_collect" class="method trait-impl"><a class=" [...]
- &mut self
-) -> <<Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/try_trait/trait.Try.html#associatedtype.Residua [...]
- Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
- Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>,
- <Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/try_trait/trait.Try.html#associatedtype.Residual" title [...]
- B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a><<Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try_trait/trait.Try.htm [...]
-a failure is encountered. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.try_collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#2044-2046">source</a><a href="#method.collect_into" class="anchor">§</a><h4 class="code-header">fn <a href="https [...]
+ Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect_into" class="method trait-impl"><a class= [...]
E: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>>,
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_collect_into</code>)</span></div></span><div class='docblock'>Collects all the items from an iterator into a collection. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/ [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
@@ -183,17 +176,19 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/ni
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> K,
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><K>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
-function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><section id="impl-PageIterator-for-ColumnChunkIterator" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#745">source</a><a href="#impl-PageIterator-for-ColumnChunkIterator" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../column/page/trait.PageIte [...]
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
- T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
- T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
- U: FromCast<T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method trait-impl"><a href="#method.cast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cast</a>(self) -> U</h4></section></summary><div class='docblock'>Numeric cast from <code>self</code> to <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="im [...]
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromCast%3CT%3E-for-ColumnChunkIterator" class="impl"><a href="#impl-FromCast%3CT%3E-for-ColumnChunkIterator" class="anchor">§</a><h3 class="code-header">impl<T> FromCast<T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_cast" class="method trait-impl"><a href="#method.from_cast" class="ancho [...]
+function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><section id="impl-PageIterator-for-ReaderPageIterator%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#490">source</a><a href="#impl-PageIterator-for-ReaderPageIterator%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../../file/re [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section><section id="impl-Send-for-ReaderPageIterator%3CT%3E" class="impl"><a href="#impl-Send-for-ReaderPageIterator%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::mark [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-ReaderPageIterat [...]
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
+ T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
+ T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+ U: FromCast<T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method trait-impl"><a href="#method.cast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cast</a>(self) -> U</h4></section></summary><div class='docblock'>Numeric cast from <code>self</code> to <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="im [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromCast%3CT%3E-for-ReaderPageIterator%3CT%3E" class="impl"><a href="#impl-FromCast%3CT%3E-for-ReaderPageIterator%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> FromCast<T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_cast" class="method trait-impl"><a href="#method.from_cast" [...]
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href [...]
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoIterator-for-ColumnChunkIterator" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#272">source</a><a href="#impl-IntoIterator-for-ColumnChunkIterator" class="anchor">§</a><h3 class="code-header">impl<I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" tit [...]
- I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/t [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoIterator-for-ReaderPageIterator%3CT%3E" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#272">source</a><a href="#impl-IntoIterator-for-ReaderPageIterator%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterat [...]
+ I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/t [...]
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.interleave" class="method trait-impl"><a class="src r [...]
self,
other: J
@@ -429,7 +424,7 @@ and return the same iterator again. <a href="https://docs.rs/itertools/0.8/itert
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><<Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'><code>.collect_vec()</code> is simply a type specialization of <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.collect" title="method core::iter::traits::iterator::Iterator::collect"><code>Iterator::collect</code></a>,
-for convenience.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_collect-1" class="method trait-impl"><a class="src rightside" href="https://docs.rs/itertools/0.8/src/itertools/lib.rs.html#2009-2012">source</a><a href="#method.try_collect-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/itertools/0.8/itertools/trait.Itertools.html#method.try_collect" class="fn">try_collect</a><T, U, E>(self) -> <a class="enum" [...]
+for convenience.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_collect" class="method trait-impl"><a class="src rightside" href="https://docs.rs/itertools/0.8/src/itertools/lib.rs.html#2009-2012">source</a><a href="#method.try_collect" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/itertools/0.8/itertools/trait.Itertools.html#method.try_collect" class="fn">try_collect</a><T, U, E>(self) -> <a class="enum" href [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, E>>,
<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, E>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, E>>,</span></h4></ [...]
<code>.collect::<Result<_, _>>()</code> <a href="https://docs.rs/itertools/0.8/itertools/trait.Itertools.html#method.try_collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.set_from" class="method trait-impl"><a class="src rightside" href="https://docs.rs/itertools/0.8/src/itertools/lib.rs.html#2033-2035">source</a><a href="#method.set_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/iterto [...]
@@ -580,6 +575,7 @@ of times it appears. <a href="https://docs.rs/itertools/0.8/itertools/trait.Iter
contains each item that appears in the iterator and the number
of times it appears,
determining identity using a keying function. <a href="https://docs.rs/itertools/0.8/itertools/trait.Itertools.html#method.counts_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.multiunzip" class="method trait-impl"><a class="src rightside" href="https://docs.rs/itertools/0.8/src/itertools/lib.rs.html#3654-3656">source</a><a href="#method.multiunzip" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/itertools/ [...]
- Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://docs.rs/itertools/0.8/itertools/unziptuple/trait.MultiUnzip.html" title="trait itertools::unziptuple::MultiUnzip">MultiUnzip</a><FromI>,</span></h4></section></summary><div class='docblock'>Converts an iterator of tuples into a tuple of containers. <a href="https://docs.rs/itertools/0.8/itertools/trait.Itertool [...]
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" c [...]
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Err [...]
\ No newline at end of file
+ Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://docs.rs/itertools/0.8/itertools/unziptuple/trait.MultiUnzip.html" title="trait itertools::unziptuple::MultiUnzip">MultiUnzip</a><FromI>,</span></h4></section></summary><div class='docblock'>Converts an iterator of tuples into a tuple of containers. <a href="https://docs.rs/itertools/0.8/itertools/trait.Itertool [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" c [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Err [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></div></section></div></m [...]
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/struct.ReaderRowGroups.html b/parquet/arrow/arrow_reader/struct.ReaderRowGroups.html
new file mode 100644
index 0000000000..dcf71dc4e6
--- /dev/null
+++ b/parquet/arrow/arrow_reader/struct.ReaderRowGroups.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ReaderRowGroups` struct in crate `parquet`."><title>ReaderRowGroups in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link [...]
+ reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T>,
+ metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
+ row_groups: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.reader" class="structfield small-section-header"><a href="#structfield.reader" class="anchor field">§</a><code>reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T></code></span><span id="structfield.metadata" class="structfield small-section-header"><a href="#struc [...]
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RowGroups-for-ReaderRowGroups%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#447-464">source</a><a href="#impl-RowGroups-for-ReaderRowGroups%3CT%3E" class="anchor">§</a><h3 clas [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section><section id="impl-Send-for-ReaderRowGroups%3CT%3E" class="impl"><a href="#impl-Send-for-ReaderRowGroups%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Se [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-ReaderRowGroups% [...]
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
+ T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
+ T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+ U: FromCast<T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method trait-impl"><a href="#method.cast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cast</a>(self) -> U</h4></section></summary><div class='docblock'>Numeric cast from <code>self</code> to <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="im [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromCast%3CT%3E-for-ReaderRowGroups%3CT%3E" class="impl"><a href="#impl-FromCast%3CT%3E-for-ReaderRowGroups%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> FromCast<T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_cast" class="method trait-impl"><a href="#method.from_cast" class= [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-ReaderRowGroups%3CT%3E" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-ReaderRowGroups%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait co [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" c [...]
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Err [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></div></section></div></m [...]
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/trait.RowGroups.html b/parquet/arrow/arrow_reader/trait.RowGroups.html
index 0f3b4309a6..9609dfc73e 100644
--- a/parquet/arrow/arrow_reader/trait.RowGroups.html
+++ b/parquet/arrow/arrow_reader/trait.RowGroups.html
@@ -5,4 +5,4 @@
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A collection of row groups</p>
</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.num_rows" class="method"><a class="src rightside" href="../../../src/parquet/arrow/array_reader/mod.rs.html#104">source</a><h4 class="code-header">fn <a href="#tymethod.num_rows" class="fn">num_rows</a>(&self) -> <a class="primitive" href="https://do [...]
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.column_chunks" class="method"><a class="src rightside" href="../../../src/parquet/arrow/array_reader/mod.rs.html#107">source</a><h4 class="code-header">fn <a href="#tymethod.column_chunks" class="fn">column_chunks</a>(&self, i: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="type" href="../../errors/type.Result.html" title="type p [...]
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RowGroups-for-Arc%3Cdyn+FileReader%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/array_reader/mod.rs.html#110-119">source</a><a href="#impl-RowGroups-for-Arc%3Cdyn+FileReader%3E" class="anchor">§</a><h3 class="code-header">impl <a class [...]
\ No newline at end of file
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RowGroups-for-Arc%3Cdyn+FileReader%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/array_reader/mod.rs.html#110-119">source</a><a href="#impl-RowGroups-for-Arc%3Cdyn+FileReader%3E" class="anchor">§</a><h3 class="code-header">impl <a class [...]
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/type.ParquetRecordBatchReaderBuilder.html b/parquet/arrow/arrow_reader/type.ParquetRecordBatchReaderBuilder.html
index 7c1ed40d2b..9cf6536a6a 100644
--- a/parquet/arrow/arrow_reader/type.ParquetRecordBatchReaderBuilder.html
+++ b/parquet/arrow/arrow_reader/type.ParquetRecordBatchReaderBuilder.html
@@ -1,3 +1,31 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A synchronous builder used to construct `ParquetRecordBatchReader` for a file"><title>ParquetRecordBatchReaderBuilder in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac529 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A synchronous builder used to construct `ParquetRecordBatchReader` for a file"><title>ParquetRecordBatchReaderBuilder in parquet::arrow::arrow_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac529 [...]
<p>For an async API see <a href="../async_reader/type.ParquetRecordBatchStreamBuilder.html" title="type parquet::arrow::async_reader::ParquetRecordBatchStreamBuilder"><code>crate::arrow::async_reader::ParquetRecordBatchStreamBuilder</code></a></p>
-</div></details></section></div></main></body></html>
\ No newline at end of file
+</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetRecordBatchReaderBuilder%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#309-437">source</a><a href="#impl-ParquetRecordBatchReaderBuilder%3CT%3E" class="anchor">§</a><h3 class="code-he [...]
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>builder = ParquetRecordBatchReaderBuilder::try_new(file).unwrap();
+
+<span class="comment">// Inspect metadata
+</span><span class="macro">assert_eq!</span>(builder.metadata().num_row_groups(), <span class="number">1</span>);
+
+<span class="comment">// Construct reader
+</span><span class="kw">let </span><span class="kw-2">mut </span>reader: ParquetRecordBatchReader = builder.with_row_groups(<span class="macro">vec!</span>[<span class="number">0</span>]).build().unwrap();
+
+<span class="comment">// Read data
+</span><span class="kw">let </span>_batch = reader.next().unwrap().unwrap();</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_with_options" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#343-346">source</a><h4 class="code-header">pub fn <a href="#method.try_new_with_options" class="fn">try_new_with_options</a>(
+ reader: T,
+ options: <a class="struct" href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
+) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Create a new <a href="type.ParquetRecordBatchReaderBuilder.html" title="type parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder"><code>ParquetRecordBatchReaderBuilder</code></a> with <a href="struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions"><code>ArrowReaderOption [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#376-378">source</a><h4 class="code-header">pub fn <a href="#method.new_with_metadata" class="fn">new_with_metadata</a>(input: T, metadata: <a class="struct" href="struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata">ArrowReaderMetadata</a>) - [...]
+<p>This allows loading metadata once and using it to create multiple builders with
+potentially different settings</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>metadata = ArrowReaderMetadata::load(<span class="kw-2">&</span>file, Default::default()).unwrap();
+<span class="kw">let </span><span class="kw-2">mut </span>a = ParquetRecordBatchReaderBuilder::new_with_metadata(file.clone(), metadata.clone()).build().unwrap();
+<span class="kw">let </span><span class="kw-2">mut </span>b = ParquetRecordBatchReaderBuilder::new_with_metadata(file, metadata).build().unwrap();
+
+<span class="comment">// Should be able to read from both in parallel
+</span><span class="macro">assert_eq!</span>(a.next().unwrap().unwrap(), b.next().unwrap().unwrap());</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/mod.rs.html#383-436">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="struct.ParquetRecordBatchReader.html" title="struct parquet::arr [...]
+<p>Note: this will eagerly evaluate any <code>RowFilter</code> before returning</p>
+</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/parquet/arrow/async_reader/enum.ColumnChunkData.html b/parquet/arrow/async_reader/enum.ColumnChunkData.html
index aaa21f33f5..8a85b970f3 100644
--- a/parquet/arrow/async_reader/enum.ColumnChunkData.html
+++ b/parquet/arrow/async_reader/enum.ColumnChunkData.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An in-memory column chunk"><title>ColumnChunkData in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An in-memory column chunk"><title>ColumnChunkData in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
Sparse {
length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Bytes)>,
@@ -13,7 +13,7 @@
of (page offset, page data)</p>
</div></div></div><div class="docblock"><p>Column chunk data representing only a subset of data pages</p>
</div><section id="variant.Dense" class="variant"><a href="#variant.Dense" class="anchor">§</a><h3 class="code-header">Dense</h3></section><div class="sub-variant" id="variant.Dense.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Dense.field.offset" class="small-section-header"><a href="#variant.Dense.field.offset" class="anchor field">§</a><code>offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span>< [...]
-</div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ColumnChunkData" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#692-709">source</a><a href="#impl-ColumnChunkData" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.ColumnChunkD [...]
+</div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ColumnChunkData" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#713-730">source</a><a href="#impl-ColumnChunkData" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.ColumnChunkD [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/arrow/async_reader/enum.StreamState.html b/parquet/arrow/async_reader/enum.StreamState.html
index 5994e61942..352ffaae01 100644
--- a/parquet/arrow/async_reader/enum.StreamState.html
+++ b/parquet/arrow/async_reader/enum.StreamState.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `StreamState` enum in crate `parquet`."><title>StreamState in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="prel [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `StreamState` enum in crate `parquet`."><title>StreamState in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="prel [...]
Init,
Decoding(<a class="struct" href="../arrow_reader/struct.ParquetRecordBatchReader.html" title="struct parquet::arrow::arrow_reader::ParquetRecordBatchReader">ParquetRecordBatchReader</a>),
Reading(BoxFuture<'static, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><(<a class="struct" href="struct.ReaderFactory.html" title="struct parquet::arrow::async_reader::ReaderFactory">ReaderFactory</a><T>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../arrow_reader/struct.ParquetRecordBatchReader.html" tit [...]
@@ -7,7 +7,7 @@
</div><section id="variant.Decoding" class="variant"><a href="#variant.Decoding" class="anchor">§</a><h3 class="code-header">Decoding(<a class="struct" href="../arrow_reader/struct.ParquetRecordBatchReader.html" title="struct parquet::arrow::arrow_reader::ParquetRecordBatchReader">ParquetRecordBatchReader</a>)</h3></section><div class="docblock"><p>Decoding a batch</p>
</div><section id="variant.Reading" class="variant"><a href="#variant.Reading" class="anchor">§</a><h3 class="code-header">Reading(BoxFuture<'static, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><(<a class="struct" href="struct.ReaderFactory.html" title="struct parquet::arrow::async_reader::ReaderFactory">ReaderFactory</a><T>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enu [...]
</div><section id="variant.Error" class="variant"><a href="#variant.Error" class="anchor">§</a><h3 class="code-header">Error</h3></section><div class="docblock"><p>Error</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-StreamState%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#425-434">source</a><a href="#impl-Debug-for-StreamState%3CT%3E" class="anchor">§</a><h3 class="code-he [...]
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-StreamState%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#446-455">source</a><a href="#impl-Debug-for-StreamState%3CT%3E" class="anchor">§</a><h3 class="code-he [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/arrow/async_reader/index.html b/parquet/arrow/async_reader/index.html
index 26de1c4c07..d117efe9c8 100644
--- a/parquet/arrow/async_reader/index.html
+++ b/parquet/arrow/async_reader/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Provides `async` API for reading parquet files as `RecordBatch`es"><title>parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Provides `async` API for reading parquet files as `RecordBatch`es"><title>parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type [...]
<a href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a>es</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>arrow_array::RecordBatch;
diff --git a/parquet/arrow/async_reader/struct.ColumnChunkIterator.html b/parquet/arrow/async_reader/struct.ColumnChunkIterator.html
index 62e2fb4d2a..939df7af15 100644
--- a/parquet/arrow/async_reader/struct.ColumnChunkIterator.html
+++ b/parquet/arrow/async_reader/struct.ColumnChunkIterator.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Implements `PageIterator` for a single column chunk, yielding a single `PageReader`"><title>ColumnChunkIterator in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf. [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Implements `PageIterator` for a single column chunk, yielding a single `PageReader`"><title>ColumnChunkIterator in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf. [...]
reader: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="../../column/page/trait.PageReader.html" title="trait parquet::column::page::PageRea [...]
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements <a href="../../column/page/trait.PageIterator.html" title="trait parquet::column::page::PageIterator"><code>PageIterator</code></a> for a single column chunk, yielding a single <a href="../../column/page/trait.PageReader.html" title="trait parquet::column::page::PageReader"><code>PageReader</code></a></p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.reader" class="structfield small-section-header"><a href="#structfield.reader" class="anchor field">§</a><code>reader: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a> [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.reader" class="structfield small-section-header"><a href="#structfield.reader" class="anchor field">§</a><code>reader: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a> [...]
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.o [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/ [...]
@@ -183,7 +183,7 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/ni
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> K,
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><K>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
-function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><section id="impl-PageIterator-for-ColumnChunkIterator" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#745">source</a><a href="#impl-PageIterator-for-ColumnChunkIterator" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../column/page/trait.PageIte [...]
+function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><section id="impl-PageIterator-for-ColumnChunkIterator" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#766">source</a><a href="#impl-PageIterator-for-ColumnChunkIterator" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../column/page/trait.PageIte [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/arrow/async_reader/struct.InMemoryRowGroup.html b/parquet/arrow/async_reader/struct.InMemoryRowGroup.html
index bb635d45c3..803348b8a4 100644
--- a/parquet/arrow/async_reader/struct.InMemoryRowGroup.html
+++ b/parquet/arrow/async_reader/struct.InMemoryRowGroup.html
@@ -1,16 +1,16 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An in-memory collection of column chunks"><title>InMemoryRowGroup in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="fon [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An in-memory collection of column chunks"><title>InMemoryRowGroup in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="fon [...]
metadata: &'a <a class="struct" href="../../file/metadata/struct.RowGroupMetaData.html" title="struct parquet::file::metadata::RowGroupMetaData">RowGroupMetaData</a>,
page_locations: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'a [<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../format/struct.PageLocation.html" title="struct parquet::format::PageLocation">PageLocation</a>>]>,
column_chunks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="enum" href="enum.ColumnChunkData.html" title="enum parquet::arrow::async_ [...]
row_count: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An in-memory collection of column chunks</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: &'a <a class="struct" href="../../file/metadata/struct.RowGroupMetaData.html" title="struct parquet::file::metadata::RowGroupMetaData">RowGroupMetaData</a></code></span><span id="structfield.page_locations" class="structfiel [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: &'a <a class="struct" href="../../file/metadata/struct.RowGroupMetaData.html" title="struct parquet::file::metadata::RowGroupMetaData">RowGroupMetaData</a></code></span><span id="structfield.page_locations" class="structfiel [...]
&mut self,
input: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut T</a>,
projection: &<a class="struct" href="../struct.ProjectionMask.html" title="struct parquet::arrow::ProjectionMask">ProjectionMask</a>,
selection: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="../arrow_reader/selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection">RowSelection</a>>
) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></h4></section></summary><div class="docblock"><p>Fetches the necessary column data into memory</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RowGroups-for-InMemoryRowGroup%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#649-675">source</a><a href="#impl-RowGroups-for-InMemoryRowGroup%3 [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RowGroups-for-InMemoryRowGroup%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#670-696">source</a><a href="#impl-RowGroups-for-InMemoryRowGroup%3 [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/arrow/async_reader/struct.ParquetRecordBatchStream.html b/parquet/arrow/async_reader/struct.ParquetRecordBatchStream.html
index fc4f35634b..5faca6896f 100644
--- a/parquet/arrow/async_reader/struct.ParquetRecordBatchStream.html
+++ b/parquet/arrow/async_reader/struct.ParquetRecordBatchStream.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An asynchronous `Stream` of `RecordBatch` for a parquet file that can be constructed using `ParquetRecordBatchStreamBuilder`."><title>ParquetRecordBatchStream in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.f [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An asynchronous `Stream` of `RecordBatch` for a parquet file that can be constructed using `ParquetRecordBatchStreamBuilder`."><title>ParquetRecordBatchStream in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.f [...]
metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
schema: <a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
row_groups: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/vec_deque/struct.VecDeque.html" title="struct alloc::collections::vec_deque::VecDeque">VecDeque</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>,
@@ -10,9 +10,9 @@
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An asynchronous <a href="https://docs.rs/futures/latest/futures/stream/trait.Stream.html"><code>Stream</code></a> of <a href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a>
for a parquet file that can be constructed using <a href="type.ParquetRecordBatchStreamBuilder.html" title="type parquet::arrow::async_reader::ParquetRecordBatchStreamBuilder"><code>ParquetRecordBatchStreamBuilder</code></a>.</p>
</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::fil [...]
-</div><span id="structfield.state" class="structfield small-section-header"><a href="#structfield.state" class="anchor field">§</a><code>state: <a class="enum" href="enum.StreamState.html" title="enum parquet::arrow::async_reader::StreamState">StreamState</a><T></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary> [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-ParquetRecordBatchStream%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#457-467">source</a><a href="#impl-Debug-for-ParquetRecordBatchS [...]
- T: <a class="trait" href="trait.AsyncFileReader.html" title="trait parquet::arrow::async_reader::AsyncFileReader">AsyncFileReader</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</span></h3></section></summary><div class="impl-items"><details class="toggle" o [...]
+</div><span id="structfield.state" class="structfield small-section-header"><a href="#structfield.state" class="anchor field">§</a><code>state: <a class="enum" href="enum.StreamState.html" title="enum parquet::arrow::async_reader::StreamState">StreamState</a><T></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary> [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-ParquetRecordBatchStream%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#478-488">source</a><a href="#impl-Debug-for-ParquetRecordBatchS [...]
+ T: <a class="trait" href="trait.AsyncFileReader.html" title="trait parquet::arrow::async_reader::AsyncFileReader">AsyncFileReader</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</span></h3></section></summary><div class="impl-items"><details class="toggle" o [...]
self: <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::Item>></h4></section></summary><div class='docblock'>Attempt to pull out the next value of this stream, registering the
diff --git a/parquet/arrow/async_reader/struct.ReaderFactory.html b/parquet/arrow/async_reader/struct.ReaderFactory.html
index c064a66d21..6aff6f5c7b 100644
--- a/parquet/arrow/async_reader/struct.ReaderFactory.html
+++ b/parquet/arrow/async_reader/struct.ReaderFactory.html
@@ -1,14 +1,14 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`ReaderFactory` is used by `ParquetRecordBatchStream` to create `ParquetRecordBatchReader`"><title>ReaderFactory in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`ReaderFactory` is used by `ParquetRecordBatchStream` to create `ParquetRecordBatchReader`"><title>ReaderFactory in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf [...]
metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
- fields: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ParquetField>,
+ fields: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><ParquetField>>,
input: T,
filter: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../arrow_reader/filter/struct.RowFilter.html" title="struct parquet::arrow::arrow_reader::filter::RowFilter">RowFilter</a>>,
limit: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>,
offset: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="struct.ReaderFactory.html" title="struct parquet::arrow::async_reader::ReaderFactory"><code>ReaderFactory</code></a> is used by <a href="struct.ParquetRecordBatchStream.html" title="struct parquet::arrow::async_reader::ParquetRecordBatchStream"><code>ParquetRecordBatchStream</code></a> to create
<a href="../arrow_reader/struct.ParquetRecordBatchReader.html" title="struct parquet::arrow::arrow_reader::ParquetRecordBatchReader"><code>ParquetRecordBatchReader</code></a></p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::fil [...]
- T: <a class="trait" href="trait.AsyncFileReader.html" title="trait parquet::arrow::async_reader::AsyncFileReader">AsyncFileReader</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read_row_group" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_r [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.metadata" class="structfield small-section-header"><a href="#structfield.metadata" class="anchor field">§</a><code>metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::fil [...]
+ T: <a class="trait" href="trait.AsyncFileReader.html" title="trait parquet::arrow::async_reader::AsyncFileReader">AsyncFileReader</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read_row_group" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_r [...]
self,
row_group_idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
selection: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../arrow_reader/selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection">RowSelection</a>>,
diff --git a/parquet/arrow/async_reader/trait.AsyncFileReader.html b/parquet/arrow/async_reader/trait.AsyncFileReader.html
index 27cb974220..77e40be41e 100644
--- a/parquet/arrow/async_reader/trait.AsyncFileReader.html
+++ b/parquet/arrow/async_reader/trait.AsyncFileReader.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The asynchronous interface used by `ParquetRecordBatchStream` to read parquet files"><title>AsyncFileReader in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The asynchronous interface used by `ParquetRecordBatchStream` to read parquet files"><title>AsyncFileReader in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff [...]
// Required methods
fn <a href="#tymethod.get_bytes" class="fn">get_bytes</a>(&mut self, range: <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Bytes>>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_metadata" class="fn">get_metadata</a>(&mut self) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../file/metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetM [...]
@@ -9,20 +9,20 @@
ranges: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>
) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Bytes>>> { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The asynchronous interface used by <a href="struct.ParquetRecordBatchStream.html" title="struct parquet::arrow::async_reader::ParquetRecordBatchStream"><code>ParquetRecordBatchStream</code></a> to read parquet files</p>
-</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.get_bytes" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#127">source</a><h4 class="code-header">fn <a href="#tymethod.get_bytes" class="fn">get_bytes</a>(&mut self, range: <a class="struct" href="https [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#150">source</a><h4 class="code-header">fn <a href="#tymethod.get_metadata" class="fn">get_metadata</a>(&mut self) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang [...]
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.get_bytes" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#128">source</a><h4 class="code-header">fn <a href="#tymethod.get_bytes" class="fn">get_bytes</a>(&mut self, range: <a class="struct" href="https [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#151">source</a><h4 class="code-header">fn <a href="#tymethod.get_metadata" class="fn">get_metadata</a>(&mut self) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang [...]
allowing fine-grained control over how metadata is sourced, in particular allowing
for caching, pre-fetching, catalog metadata, etc…</p>
-</div></details></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.get_byte_ranges" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#130-145">source</a><h4 class="code-header">fn <a href="#method.get_byte_ranges" class="fn">get_byte_ranges</a>(
+</div></details></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.get_byte_ranges" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#131-146">source</a><h4 class="code-header">fn <a href="#method.get_byte_ranges" class="fn">get_byte_ranges</a>(
&mut self,
ranges: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>
) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Bytes>>></h4></section></summary><div class="docblock"><p>Retrieve multiple byte ranges. The default implementation will call <code>get_bytes</code> sequentially</p>
-</div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncFileReader-for-Box%3Cdyn+AsyncFileReader%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#153-168">source</a><a href="#impl-AsyncFileReader-for-Box%3Cdyn+AsyncFil [...]
+</div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncFileReader-for-Box%3Cdyn+AsyncFileReader%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#154-169">source</a><a href="#impl-AsyncFileReader-for-Box%3Cdyn+AsyncFil [...]
&mut self,
ranges: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>
-) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Bytes>>></h4></section></summary><div class='docblock'>Retrieve multiple byte ranges. The default implementation will call <code>get_bytes</code> sequentially</div></details><details class="toggle method-toggle" open><summary>< [...]
+) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Bytes>>></h4></section></summary><div class='docblock'>Retrieve multiple byte ranges. The default implementation will call <code>get_bytes</code> sequentially</div></details><details class="toggle method-toggle" open><summary>< [...]
allowing fine-grained control over how metadata is sourced, in particular allowing
-for caching, pre-fetching, catalog metadata, etc…</div></details></div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-AsyncFileReader-for-Box%3Cdyn+AsyncFileReader%3E-1" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#153-168">source</a><a href="#impl-AsyncFileReader-fo [...]
+for caching, pre-fetching, catalog metadata, etc…</div></details></div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-AsyncFileReader-for-Box%3Cdyn+AsyncFileReader%3E-1" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#154-169">source</a><a href="#impl-AsyncFileReader-fo [...]
&mut self,
ranges: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>
-) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Bytes>>></h4></section><section id="method.get_metadata-1" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#165-167">source</a><a href="#method.get_metadata-1" class=" [...]
\ No newline at end of file
+) -> BoxFuture<'_, <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Bytes>>></h4></section><section id="method.get_metadata-1" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#166-168">source</a><a href="#method.get_metadata-1" class=" [...]
\ No newline at end of file
diff --git a/parquet/arrow/async_reader/type.ParquetRecordBatchStreamBuilder.html b/parquet/arrow/async_reader/type.ParquetRecordBatchStreamBuilder.html
index 50a917d3f5..bc440b1dcc 100644
--- a/parquet/arrow/async_reader/type.ParquetRecordBatchStreamBuilder.html
+++ b/parquet/arrow/async_reader/type.ParquetRecordBatchStreamBuilder.html
@@ -1,5 +1,15 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A builder used to construct a `ParquetRecordBatchStream` for a parquet file"><title>ParquetRecordBatchStreamBuilder in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295. [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A builder used to construct a `ParquetRecordBatchStream` for a parquet file"><title>ParquetRecordBatchStreamBuilder in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295. [...]
<p>In particular, this handles reading the parquet file metadata, allowing consumers
to use this information to select what specific columns, row groups, etc…
they wish to be read by the resulting stream</p>
-</div></details></section></div></main></body></html>
\ No newline at end of file
+</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetRecordBatchStreamBuilder%3CT%3E" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#246-312">source</a><a href="#impl-ParquetRecordBatchStreamBuilder%3CT%3E" class="anchor">§</a><h3 class="code-he [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_options" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#254-260">source</a><h4 class="code-header">pub async fn <a href="#method.new_with_options" class="fn">new_with_options</a>(
+ input: T,
+ options: <a class="struct" href="../arrow_reader/struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions">ArrowReaderOptions</a>
+) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Create a new <a href="type.ParquetRecordBatchStreamBuilder.html" title="type parquet::arrow::async_reader::ParquetRecordBatchStreamBuilder"><code>ParquetRecordBatchStreamBuilder</code></a> with the provided parquet file
+and <a href="../arrow_reader/struct.ArrowReaderOptions.html" title="struct parquet::arrow::arrow_reader::ArrowReaderOptions"><code>ArrowReaderOptions</code></a></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_metadata" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#266-268">source</a><h4 class="code-header">pub fn <a href="#method.new_with_metadata" class="fn">new_with_metadata</a>(input: T, metadata: <a class="struct" href="../arrow_reader/struct.ArrowReaderMetadata.html" title="struct parquet::arrow::arrow_reader::ArrowReaderMetadata">ArrowReade [...]
+<p>This allows loading metadata once and using it to create multiple builders with
+potentially different settings</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#271-311">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="struct" href="struct.ParquetRecordBatchStream.html" title="struct parquet::arr [...]
+</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/parquet/arrow/async_reader/type.ReadResult.html b/parquet/arrow/async_reader/type.ReadResult.html
index 8a05a0eb75..3cdad7b279 100644
--- a/parquet/arrow/async_reader/type.ReadResult.html
+++ b/parquet/arrow/async_reader/type.ReadResult.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ReadResult` type in crate `parquet`."><title>ReadResult in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preloa [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ReadResult` type in crate `parquet`."><title>ReadResult in parquet::arrow::async_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preloa [...]
\ No newline at end of file
diff --git a/parquet/column/page/trait.PageIterator.html b/parquet/column/page/trait.PageIterator.html
index 849e3282b7..6b7762ef40 100644
--- a/parquet/column/page/trait.PageIterator.html
+++ b/parquet/column/page/trait.PageIterator.html
@@ -1,2 +1,2 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An iterator over pages of one specific column in a parquet file."><title>PageIterator in parquet::column::page - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="fo [...]
-</div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-PageIterator-for-ColumnChunkIterator" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#745">source</a><a href="#impl-PageIterator-for-ColumnChunkIterator" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.PageIterator.html" title="trait parque [...]
\ No newline at end of file
+</div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-PageIterator-for-ColumnChunkIterator" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/async_reader/mod.rs.html#766">source</a><a href="#impl-PageIterator-for-ColumnChunkIterator" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.PageIterator.html" title="trait parque [...]
\ No newline at end of file
diff --git a/parquet/column/page/trait.PageReader.html b/parquet/column/page/trait.PageReader.html
index 39b82cb370..46eb2cf8e6 100644
--- a/parquet/column/page/trait.PageReader.html
+++ b/parquet/column/page/trait.PageReader.html
@@ -11,4 +11,4 @@ Returns <code>None</code> if there are no pages left.</p>
column index information</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.skip_next_page" class="method"><a class="src rightside" href="../../../src/parquet/column/page.rs.html#322">source</a><h4 class="code-header">fn <a href="#tymethod.skip_next_page" class="fn">skip_next_page</a>(&mut self) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/pr [...]
column index information</p>
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-PageReader-for-SerializedPageReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#604-778">source</a><a href="#impl-PageReader-for-SerializedPageReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R: <a class="trait" href="../../file/reade [...]
\ No newline at end of file
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-PageReader-for-SerializedPageReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#599-773">source</a><a href="#impl-PageReader-for-SerializedPageReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R: <a class="trait" href="../../file/reade [...]
\ No newline at end of file
diff --git a/parquet/file/reader/trait.ChunkReader.html b/parquet/file/reader/trait.ChunkReader.html
index 330dc4c5cb..ef9dd6294d 100644
--- a/parquet/file/reader/trait.ChunkReader.html
+++ b/parquet/file/reader/trait.ChunkReader.html
@@ -13,4 +13,4 @@ side-effect on previously returned <a href="trait.ChunkReader.html#associatedtyp
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_bytes" class="method"><a class="src rightside" href="../../../src/parquet/file/reader.rs.html#67">source</a><h4 class="code-header">fn <a href="#tymethod.get_bytes" class="fn">get_bytes</a>(&self, start: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, length: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">u [...]
<p>Concurrent calls to <a href="trait.ChunkReader.html#tymethod.get_bytes"><code>Self::get_bytes</code></a> may result in interleaved output</p>
<p>See <a href="https://doc.rust-lang.org/nightly/std/fs/struct.File.html#method.try_clone" title="method std::fs::File::try_clone"><code>File::try_clone</code></a> for more information</p>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-ChunkReader-for-File" class="impl"><a class="src rightside" href="../../../src/parquet/file/reader.rs.html#76-100">source</a><a href="#impl-ChunkReader-for-File" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ChunkReader.html" title=" [...]
\ No newline at end of file
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-ChunkReader-for-File" class="impl"><a class="src rightside" href="../../../src/parquet/file/reader.rs.html#76-100">source</a><a href="#impl-ChunkReader-for-File" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ChunkReader.html" title=" [...]
\ No newline at end of file
diff --git a/parquet/file/reader/trait.FileReader.html b/parquet/file/reader/trait.FileReader.html
index 97965c11da..ab1f687275 100644
--- a/parquet/file/reader/trait.FileReader.html
+++ b/parquet/file/reader/trait.FileReader.html
@@ -16,4 +16,4 @@ Parquet file, can get reader for each row group, and access record iterator.</p>
<p>Iterator will automatically load the next row group to advance.</p>
<p>Projected schema can be a subset of or equal to the file schema, when it is None,
full file schema is assumed.</p>
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-FileReader-for-SerializedFileReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#264-289">source</a><a href="#impl-FileReader-for-SerializedFileReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R: 'static + <a class="trait" href="trait. [...]
\ No newline at end of file
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-FileReader-for-SerializedFileReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#259-284">source</a><a href="#impl-FileReader-for-SerializedFileReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R: 'static + <a class="trait" href="trait. [...]
\ No newline at end of file
diff --git a/parquet/file/reader/trait.Length.html b/parquet/file/reader/trait.Length.html
index 3e33e2b70c..d0db75524a 100644
--- a/parquet/file/reader/trait.Length.html
+++ b/parquet/file/reader/trait.Length.html
@@ -4,4 +4,4 @@
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Length should return the total number of bytes in the input source.
It’s mainly used to read the metadata, which is at the end of the source.</p>
</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.len" class="method"><a class="src rightside" href="../../../src/parquet/file/reader.rs.html#45">source</a><h4 class="code-header">fn <a href="#tymethod.len" class="fn">len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std [...]
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Length-for-Bytes" class="impl"><a class="src rightside" href="../../../src/parquet/file/reader.rs.html#102-106">source</a><a href="#impl-Length-for-Bytes" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Length.html" title="trait parque [...]
\ No newline at end of file
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Length-for-Bytes" class="impl"><a class="src rightside" href="../../../src/parquet/file/reader.rs.html#102-106">source</a><a href="#impl-Length-for-Bytes" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Length.html" title="trait parque [...]
\ No newline at end of file
diff --git a/parquet/file/reader/trait.RowGroupReader.html b/parquet/file/reader/trait.RowGroupReader.html
index 3fc4c075da..03cbbdec55 100644
--- a/parquet/file/reader/trait.RowGroupReader.html
+++ b/parquet/file/reader/trait.RowGroupReader.html
@@ -22,4 +22,4 @@ to read bloom filters.</p>
<p>Projected schema can be a subset of or equal to the file schema, when it is None,
full file schema is assumed.</p>
</div></details></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.get_column_reader" class="method"><a class="src rightside" href="../../../src/parquet/file/reader.rs.html#159-196">source</a><h4 class="code-header">fn <a href="#method.get_column_reader" class="fn">get_column_reader</a>(&self, i: <a class="primitiv [...]
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-RowGroupReader-for-SerializedRowGroupReader%3C'a,+R%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#327-360">source</a><a href="#impl-RowGroupReader-for-SerializedRowGroupReader%3C'a,+R%3E" class="anchor">§</a><h3 class="code-header">impl<'a, R: 'static + < [...]
\ No newline at end of file
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-RowGroupReader-for-SerializedRowGroupReader%3C'a,+R%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#322-355">source</a><a href="#impl-RowGroupReader-for-SerializedRowGroupReader%3C'a,+R%3E" class="anchor">§</a><h3 class="code-header">impl<'a, R: 'static + < [...]
\ No newline at end of file
diff --git a/parquet/file/serialized_reader/enum.SerializedPageReaderState.html b/parquet/file/serialized_reader/enum.SerializedPageReaderState.html
index 29785ea307..0ac9f4c0a3 100644
--- a/parquet/file/serialized_reader/enum.SerializedPageReaderState.html
+++ b/parquet/file/serialized_reader/enum.SerializedPageReaderState.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SerializedPageReaderState` enum in crate `parquet`."><title>SerializedPageReaderState in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafa [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SerializedPageReaderState` enum in crate `parquet`."><title>SerializedPageReaderState in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafa [...]
Values {
offset: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
remaining_bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
diff --git a/parquet/file/serialized_reader/fn.decode_page.html b/parquet/file/serialized_reader/fn.decode_page.html
index 6032d29554..0987438cbc 100644
--- a/parquet/file/serialized_reader/fn.decode_page.html
+++ b/parquet/file/serialized_reader/fn.decode_page.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decodes a `Page` from the provided `buffer`"><title>decode_page in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="f [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decodes a `Page` from the provided `buffer`"><title>decode_page in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="f [...]
page_header: <a class="struct" href="../../format/struct.PageHeader.html" title="struct parquet::format::PageHeader">PageHeader</a>,
buffer: ByteBufferPtr,
physical_type: <a class="enum" href="../../basic/enum.Type.html" title="enum parquet::basic::Type">Type</a>,
diff --git a/parquet/file/serialized_reader/fn.get_midpoint_offset.html b/parquet/file/serialized_reader/fn.get_midpoint_offset.html
index 7585f0396d..d7e2e8ad68 100644
--- a/parquet/file/serialized_reader/fn.get_midpoint_offset.html
+++ b/parquet/file/serialized_reader/fn.get_midpoint_offset.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Get midpoint offset for a row group"><title>get_midpoint_offset in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="f [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Get midpoint offset for a row group"><title>get_midpoint_offset in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="f [...]
</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/parquet/file/serialized_reader/fn.read_page_header.html b/parquet/file/serialized_reader/fn.read_page_header.html
index 2e208a0188..886c9ff8af 100644
--- a/parquet/file/serialized_reader/fn.read_page_header.html
+++ b/parquet/file/serialized_reader/fn.read_page_header.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Reads a `PageHeader` from the provided `Read`"><title>read_page_header in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Reads a `PageHeader` from the provided `Read`"><title>read_page_header in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/parquet/file/serialized_reader/fn.read_page_header_len.html b/parquet/file/serialized_reader/fn.read_page_header_len.html
index 2723775212..1e73717117 100644
--- a/parquet/file/serialized_reader/fn.read_page_header_len.html
+++ b/parquet/file/serialized_reader/fn.read_page_header_len.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Reads a `PageHeader` from the provided `Read` returning the number of bytes read"><title>read_page_header_len in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.tt [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Reads a `PageHeader` from the provided `Read` returning the number of bytes read"><title>read_page_header_len in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.tt [...]
</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/parquet/file/serialized_reader/index.html b/parquet/file/serialized_reader/index.html
index 465f953150..e47ec3ea8a 100644
--- a/parquet/file/serialized_reader/index.html
+++ b/parquet/file/serialized_reader/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Contains implementations of the reader traits FileReader, RowGroupReader and PageReader Also contains implementations of the ChunkReader for files (with buffering) and byte arrays (RAM)"><title>parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Contains implementations of the reader traits FileReader, RowGroupReader and PageReader Also contains implementations of the ChunkReader for files (with buffering) and byte arrays (RAM)"><title>parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" [...]
Also contains implementations of the ChunkReader for files (with buffering) and byte arrays (RAM)</p>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.ReadOptions.html" title="struct parquet::file::serialized_reader::ReadOptions">ReadOptions</a></div><div class="desc docblock-short">A collection of options for reading a Parquet file.</div></li><li><div class="item-name"><a class="struct" href="struct.ReadOptionsBuilder.html" title="struct parquet::file::seriali [...]
For the predicates that are added to the builder,
diff --git a/parquet/file/serialized_reader/struct.SerializedFileReader.html b/parquet/file/serialized_reader/struct.SerializedFileReader.html
index e326f9ca23..0be6fb3a3a 100644
--- a/parquet/file/serialized_reader/struct.SerializedFileReader.html
+++ b/parquet/file/serialized_reader/struct.SerializedFileReader.html
@@ -1,13 +1,13 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A serialized implementation for Parquet `FileReader`."><title>SerializedFileReader in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A serialized implementation for Parquet `FileReader`."><title>SerializedFileReader in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
chunk_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R>,
metadata: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../metadata/struct.ParquetMetaData.html" title="struct parquet::file::metadata::ParquetMetaData">ParquetMetaData</a>>,
props: <a class="type" href="../properties/type.ReaderPropertiesPtr.html" title="type parquet::file::properties::ReaderPropertiesPtr">ReaderPropertiesPtr</a>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A serialized implementation for Parquet <a href="../reader/trait.FileReader.html" title="trait parquet::file::reader::FileReader"><code>FileReader</code></a>.</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chunk_reader" class="structfield small-section-header"><a href="#structfield.chunk_reader" class="anchor field">§</a><code>chunk_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R></code></span><span id="structfield.metadata" class="structfield small-section-hea [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chunk_reader" class="structfield small-section-header"><a href="#structfield.chunk_reader" class="anchor field">§</a><code>chunk_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R></code></span><span id="structfield.metadata" class="structfield small-section-hea [...]
Returns error if Parquet file does not exist or is corrupt.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_options" class="method"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#193-244">source</a><h4 class="code-header">pub fn <a href="#method.new_with_options" class="fn">new_with_options</a>(chunk_reader: R, options: <a class="struct" href="struct.ReadOptions.html" title="struct parquet::file::serialized_reader::ReadOptions">ReadOptions</a>) -> <a class="ty [...]
Returns error if Parquet file does not exist or is corrupt.</p>
-</div></details><section id="method.metadata_ref" class="method"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#247-249">source</a><h4 class="code-header">pub(crate) fn <a href="#method.metadata_ref" class="fn">metadata_ref</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../metadata/struct.ParquetMetaData.html" title="struc [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-FileReader-for-SerializedFileReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#259-284">source</a><a href="#impl-FileReader-for-SerializedFil [...]
using the full file schema over all row groups.</p>
</div><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="associatedtype">Item</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a [...]
R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section><section id="impl-Send-for-SerializedFileReader%3CR%3E" class="impl"><a href="#impl-Send-for-SerializedFileReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core:: [...]
diff --git a/parquet/file/serialized_reader/struct.SerializedPageReader.html b/parquet/file/serialized_reader/struct.SerializedPageReader.html
index a32c8987ae..7d77d2aaa4 100644
--- a/parquet/file/serialized_reader/struct.SerializedPageReader.html
+++ b/parquet/file/serialized_reader/struct.SerializedPageReader.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A serialized implementation for Parquet `PageReader`."><title>SerializedPageReader in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A serialized implementation for Parquet `PageReader`."><title>SerializedPageReader in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R>,
decompressor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn Codec>>,
physical_type: <a class="enum" href="../../basic/enum.Type.html" title="enum parquet::basic::Type">Type</a>,
@@ -7,20 +7,20 @@
</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.reader" class="structfield small-section-header"><a href="#structfield.reader" class="anchor field">§</a><code>reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R></code></span><div class="docblock"><p>The chunk reader</p>
</div><span id="structfield.decompressor" class="structfield small-section-header"><a href="#structfield.decompressor" class="anchor field">§</a><code>decompressor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn Codec>></code></span><div class="docblock"><p>The co [...]
</div><span id="structfield.physical_type" class="structfield small-section-header"><a href="#structfield.physical_type" class="anchor field">§</a><code>physical_type: <a class="enum" href="../../basic/enum.Type.html" title="enum parquet::basic::Type">Type</a></code></span><div class="docblock"><p>Column chunk type.</p>
-</div><span id="structfield.state" class="structfield small-section-header"><a href="#structfield.state" class="anchor field">§</a><code>state: <a class="enum" href="enum.SerializedPageReaderState.html" title="enum parquet::file::serialized_reader::SerializedPageReaderState">SerializedPageReaderState</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggl [...]
+</div><span id="structfield.state" class="structfield small-section-header"><a href="#structfield.state" class="anchor field">§</a><code>state: <a class="enum" href="enum.SerializedPageReaderState.html" title="enum parquet::file::serialized_reader::SerializedPageReaderState">SerializedPageReaderState</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggl [...]
reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R>,
meta: &<a class="struct" href="../metadata/struct.ColumnChunkMetaData.html" title="struct parquet::file::metadata::ColumnChunkMetaData">ColumnChunkMetaData</a>,
total_rows: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
page_locations: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../format/struct.PageLocation.html" title="struct parquet::format::PageLocation">PageLocation</a>>>
) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Creates a new serialized page reader from a chunk reader and metadata</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_properties" class="method"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#550-593">source</a><h4 class="code-header">pub fn <a href="#method.new_with_properties" class="fn">new_with_properties</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_properties" class="method"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#545-588">source</a><h4 class="code-header">pub fn <a href="#method.new_with_properties" class="fn">new_with_properties</a>(
reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R>,
meta: &<a class="struct" href="../metadata/struct.ColumnChunkMetaData.html" title="struct parquet::file::metadata::ColumnChunkMetaData">ColumnChunkMetaData</a>,
total_rows: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
page_locations: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../format/struct.PageLocation.html" title="struct parquet::format::PageLocation">PageLocation</a>>>,
props: <a class="type" href="../properties/type.ReaderPropertiesPtr.html" title="type parquet::file::properties::ReaderPropertiesPtr">ReaderPropertiesPtr</a>
) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Creates a new serialized page with custom options.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-SerializedPageReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#596-602">source</a><a href="#impl-Iterator-for-SerializedPageRea [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-SerializedPageReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#591-597">source</a><a href="#impl-Iterator-for-SerializedPageRea [...]
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.o [...]
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/ [...]
@@ -193,9 +193,9 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/ni
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> K,
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><K>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
-function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PageReader-for-SerializedPageReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#604-778">source</a><a href="#impl-PageReader-for-SerializedPageReader%3CR%3E" class="anchor">§</a><h3 class [...]
-Returns <code>None</code> if there are no pages left.</div></details><details class="toggle method-toggle" open><summary><section id="method.peek_next_page" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#687-749">source</a><a href="#method.peek_next_page" class="anchor">§</a><h4 class="code-header">fn <a href="../../column/page/trait.PageReader.html#tymethod.peek_next_page" class="fn">peek_next_page</a>(&mut self) -> <a [...]
-column index information</div></details><details class="toggle method-toggle" open><summary><section id="method.skip_next_page" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#751-777">source</a><a href="#method.skip_next_page" class="anchor">§</a><h4 class="code-header">fn <a href="../../column/page/trait.PageReader.html#tymethod.skip_next_page" class="fn">skip_next_page</a>(&mut self) -> <a class="type" href="../../err [...]
+function. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PageReader-for-SerializedPageReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#599-773">source</a><a href="#impl-PageReader-for-SerializedPageReader%3CR%3E" class="anchor">§</a><h3 class [...]
+Returns <code>None</code> if there are no pages left.</div></details><details class="toggle method-toggle" open><summary><section id="method.peek_next_page" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#682-744">source</a><a href="#method.peek_next_page" class="anchor">§</a><h4 class="code-header">fn <a href="../../column/page/trait.PageReader.html#tymethod.peek_next_page" class="fn">peek_next_page</a>(&mut self) -> <a [...]
+column index information</div></details><details class="toggle method-toggle" open><summary><section id="method.skip_next_page" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#746-772">source</a><a href="#method.skip_next_page" class="anchor">§</a><h4 class="code-header">fn <a href="../../column/page/trait.PageReader.html#tymethod.skip_next_page" class="fn">skip_next_page</a>(&mut self) -> <a class="type" href="../../err [...]
column index information</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-SerializedPageReader%3CR%3E" class="impl"><a href="#impl-RefUnwindSafe-for-SerializedPageReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R> !<a class="trait" href="https://doc.rus [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
diff --git a/parquet/file/serialized_reader/struct.SerializedRowGroupReader.html b/parquet/file/serialized_reader/struct.SerializedRowGroupReader.html
index 88275c8f1a..d26900ba86 100644
--- a/parquet/file/serialized_reader/struct.SerializedRowGroupReader.html
+++ b/parquet/file/serialized_reader/struct.SerializedRowGroupReader.html
@@ -1,18 +1,18 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A serialized implementation for Parquet `RowGroupReader`."><title>SerializedRowGroupReader in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel= [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A serialized implementation for Parquet `RowGroupReader`."><title>SerializedRowGroupReader in parquet::file::serialized_reader - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel= [...]
chunk_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R>,
metadata: &'a <a class="struct" href="../metadata/struct.RowGroupMetaData.html" title="struct parquet::file::metadata::RowGroupMetaData">RowGroupMetaData</a>,
page_locations: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'a [<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../format/struct.PageLocation.html" title="struct parquet::format::PageLocation">PageLocation</a>>]>,
props: <a class="type" href="../properties/type.ReaderPropertiesPtr.html" title="type parquet::file::properties::ReaderPropertiesPtr">ReaderPropertiesPtr</a>,
bloom_filters: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bloom_filter/struct.Sbbf.html" title="struct parquet::bloom_filter::Sbbf">Sbbf</a>>>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A serialized implementation for Parquet <a href="../reader/trait.RowGroupReader.html" title="trait parquet::file::reader::RowGroupReader"><code>RowGroupReader</code></a>.</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chunk_reader" class="structfield small-section-header"><a href="#structfield.chunk_reader" class="anchor field">§</a><code>chunk_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R></code></span><span id="structfield.metadata" class="structfield small-section-hea [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chunk_reader" class="structfield small-section-header"><a href="#structfield.chunk_reader" class="anchor field">§</a><code>chunk_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R></code></span><span id="structfield.metadata" class="structfield small-section-hea [...]
chunk_reader: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><R>,
metadata: &'a <a class="struct" href="../metadata/struct.RowGroupMetaData.html" title="struct parquet::file::metadata::RowGroupMetaData">RowGroupMetaData</a>,
page_locations: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'a [<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../format/struct.PageLocation.html" title="struct parquet::format::PageLocation">PageLocation</a>>]>,
props: <a class="type" href="../properties/type.ReaderPropertiesPtr.html" title="type parquet::file::properties::ReaderPropertiesPtr">ReaderPropertiesPtr</a>
) -> <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a><Self></h4></section></summary><div class="docblock"><p>Creates new row group reader from a file, row group metadata and custom config.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RowGroupReader-for-SerializedRowGroupReader%3C'a,+R%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#327-360">source</a><a href="#impl-RowGroupReader-f [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.metadata" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#328-330">source</a><a href="#method.metadata" class="anchor">§</a><h4 class="code-header">fn <a href="../reader/trait.RowGroupReader.html#tymethod.metadata" class="fn">metadata</a>(&self) -> &<a class="struct" href="../metadata/struct.RowGroupMetaData.html" title="struct pa [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RowGroupReader-for-SerializedRowGroupReader%3C'a,+R%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#322-355">source</a><a href="#impl-RowGroupReader-f [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.metadata" class="method trait-impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#323-325">source</a><a href="#method.metadata" class="anchor">§</a><h4 class="code-header">fn <a href="../reader/trait.RowGroupReader.html#tymethod.metadata" class="fn">metadata</a>(&self) -> &<a class="struct" href="../metadata/struct.RowGroupMetaData.html" title="struct pa [...]
R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section><section id="impl-Send-for-SerializedRowGroupReader%3C'a,+R%3E" class="impl"><a href="#impl-Send-for-SerializedRowGroupReader%3C'a,+R%3E" class="anchor">§</a><h3 class="code-header">impl<'a, R> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" [...]
R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-SerializedRowGro [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
diff --git a/search-index.js b/search-index.js
index a8dbad37b8..0dd426edcc 100644
--- a/search-index.js
+++ b/search-index.js
@@ -23,7 +23,7 @@ var searchIndex = JSON.parse('{\
"flight_test_integration_client":{"doc":"","t":"DNGNGELLLLLLLLLLLLLLLLLLLLLLMLLLLFMMMLLLLLLLLLLLLL","n":["Args","AuthBasicProto","Error","Middleware","Result","Scenario","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","cast","cast","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_cast","from_cast","from_ref","group_id","host","into","into","into_request","into_request","main" [...]
"flight_test_integration_server":{"doc":"","t":"DNGNGELLLLLLLLLLLLLLLLLLLLLLLLLLFMMLLLLLLLLLLLLL","n":["Args","AuthBasicProto","Error","Middleware","Result","Scenario","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","cast","cast","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_cast","from_cast","from_ref","group_id","into","into","into_request","into_request","main","port"," [...]
"gen":{"doc":"","t":"FF","n":["main","prost_config"],"q":[[0,"gen"]],"d":["",""],"i":[0,0],"f":[[[],[[3,[[2,[1]]]]]],[[],4]],"c":[],"p":[[8,"Error"],[3,"Box"],[4,"Result"],[3,"Config"]]},\
-"parquet":{"doc":"This crate contains the official Native Rust …","t":"AAAAAAOAAAARCCDCDLAFAAALLLLALLLLLLAMLLLLLLLLLLMMFFFALLLLLLLLLIDDDDGDIDDFMMMLLLLLLLLLLLLLKLKFMMAMLLLLLLLMLLLLMLMLLLLLLKMMLMKMMMMLLMMAMMMFMMLLLLLLLLLLLLLLLLLLLLLLLIDDLLLLLLKLMLLLLLLLLMKLMLLLLLLDDFLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLMLLMLLMLLLLLLLLLLDEDDDNDNGLMLLLLLLLLLLLLMMALLLLLLLLLLMLLLLLLLLLLLLLLLLLFFLFFLFFFLMLLLLLLLLLLMAMLLLLMLLLLLLLLLLLLLLLLLLLLLLFFLLFMMDDNNDDENLMLLLLLLLLLLLLLLLFLLMOOOFLLMLLLLLMLLLLLLLLLLLLLLLLLLLM [...]
+"parquet":{"doc":"This crate contains the official Native Rust …","t":"AAAAAAOAAAARCCDCDLAFAAALLLLALLLLLLAMLLLLLLLLLLMMFFFALLLLLLLLLIDDDDDGDDDIDDFMMMLLLLLLLLLLLLLLLLLLLLLLLLLKLMLKFMMMAMLLLLLLLLLLLLLLMLLLLLLLLMLLLLMMMMLLLLLLLLLLKLMMLLMKMMMMMMMMLLLMMMAMMMFMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIDDLLLLLLKLMLLLLLLLLMKLMLLLLLLDDFLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLMLLMLLMLLLLLLLLLLDEDDDNDNGLMLLLLLLLLLLLLMMALLLLLLLLLLMLLLLLLLLLLLLLLLLLFFLFFLFFFLMLLLLLLLLLLMAMLLLLMLLLLLLLLLLLLLLLLLLLLLLFFLLFMMDD [...]
"parquet_concat":{"doc":"Binary that concatenates the column data of one or more …","t":"DLLLLLLLLLLLLLMLFMLLLLLL","n":["Args","augment_args","augment_args_for_update","borrow","borrow_mut","cast","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","from_cast","group_id","input","into","main","output","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut"],"q":[[0,"parquet_concat"]],"d":["Concatenates one or more pa [...]
"parquet_derive":{"doc":"","t":"YANNNDNNNEENNNLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMLLLLLLLLLMLLLLLLMLLLL","n":["ParquetRecordWriter","parquet_field","Array","ChronoNaiveDate","ChronoNaiveDateTime","Field","Option","Reference","Slice","ThirdPartyType","Type","TypePath","Uuid","Vec","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","column_writer","converted_type","copied_direct_vals","eq","eq","eq","fmt","fmt","fmt","from","from","from","from","from","from_type","from_type_array [...]
"parquet_derive_test":{"doc":"","t":"DMMMMLLMMMMMMLMMLLMMLMMMMMMMMMMMLLLM","n":["ACompleteRecord","a_bool","a_borrowed_string","a_str","a_string","borrow","borrow_mut","borrowed_byte_vec","borrowed_maybe_a_str","borrowed_maybe_a_string","borrowed_maybe_borrowed_byte_vec","borrowed_maybe_byte_vec","byte_vec","cast","double","float","from","from_cast","i16","i32","into","isize","maybe_a_str","maybe_a_string","maybe_byte_vec","maybe_double","maybe_float","maybe_i16","maybe_u32","maybe_u8"," [...]
diff --git a/src/parquet/arrow/array_reader/mod.rs.html b/src/parquet/arrow/array_reader/mod.rs.html
index e4e45e466e..80e2327d76 100644
--- a/src/parquet/arrow/array_reader/mod.rs.html
+++ b/src/parquet/arrow/array_reader/mod.rs.html
@@ -185,49 +185,6 @@
<a href="#185" id="185">185</a>
<a href="#186" id="186">186</a>
<a href="#187" id="187">187</a>
-<a href="#188" id="188">188</a>
-<a href="#189" id="189">189</a>
-<a href="#190" id="190">190</a>
-<a href="#191" id="191">191</a>
-<a href="#192" id="192">192</a>
-<a href="#193" id="193">193</a>
-<a href="#194" id="194">194</a>
-<a href="#195" id="195">195</a>
-<a href="#196" id="196">196</a>
-<a href="#197" id="197">197</a>
-<a href="#198" id="198">198</a>
-<a href="#199" id="199">199</a>
-<a href="#200" id="200">200</a>
-<a href="#201" id="201">201</a>
-<a href="#202" id="202">202</a>
-<a href="#203" id="203">203</a>
-<a href="#204" id="204">204</a>
-<a href="#205" id="205">205</a>
-<a href="#206" id="206">206</a>
-<a href="#207" id="207">207</a>
-<a href="#208" id="208">208</a>
-<a href="#209" id="209">209</a>
-<a href="#210" id="210">210</a>
-<a href="#211" id="211">211</a>
-<a href="#212" id="212">212</a>
-<a href="#213" id="213">213</a>
-<a href="#214" id="214">214</a>
-<a href="#215" id="215">215</a>
-<a href="#216" id="216">216</a>
-<a href="#217" id="217">217</a>
-<a href="#218" id="218">218</a>
-<a href="#219" id="219">219</a>
-<a href="#220" id="220">220</a>
-<a href="#221" id="221">221</a>
-<a href="#222" id="222">222</a>
-<a href="#223" id="223">223</a>
-<a href="#224" id="224">224</a>
-<a href="#225" id="225">225</a>
-<a href="#226" id="226">226</a>
-<a href="#227" id="227">227</a>
-<a href="#228" id="228">228</a>
-<a href="#229" id="229">229</a>
-<a href="#230" id="230">230</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -348,49 +305,6 @@
}
}
-<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">struct </span>FileReaderRowGroups {
- <span class="doccomment">/// The underling file reader
- </span>reader: Arc<<span class="kw">dyn </span>FileReader>,
- <span class="doccomment">/// Optional list of row group indices to scan
- </span>row_groups: <span class="prelude-ty">Option</span><Vec<usize>>,
-}
-
-<span class="kw">impl </span>FileReaderRowGroups {
- <span class="doccomment">/// Creates a new [`RowGroups`] from a `FileReader` and an optional
- /// list of row group indexes to scan
- </span><span class="kw">pub fn </span>new(reader: Arc<<span class="kw">dyn </span>FileReader>, row_groups: <span class="prelude-ty">Option</span><Vec<usize>>) -> <span class="self">Self </span>{
- <span class="self">Self </span>{ reader, row_groups }
- }
-}
-
-<span class="kw">impl </span>RowGroups <span class="kw">for </span>FileReaderRowGroups {
- <span class="kw">fn </span>num_rows(<span class="kw-2">&</span><span class="self">self</span>) -> usize {
- <span class="kw">match </span><span class="kw-2">&</span><span class="self">self</span>.row_groups {
- <span class="prelude-val">None </span>=> <span class="self">self</span>.reader.metadata().file_metadata().num_rows() <span class="kw">as </span>usize,
- <span class="prelude-val">Some</span>(row_groups) => {
- <span class="kw">let </span>meta = <span class="self">self</span>.reader.metadata().row_groups();
- row_groups
- .iter()
- .map(|x| meta[<span class="kw-2">*</span>x].num_rows() <span class="kw">as </span>usize)
- .sum()
- }
- }
- }
-
- <span class="kw">fn </span>column_chunks(<span class="kw-2">&</span><span class="self">self</span>, i: usize) -> <span class="prelude-ty">Result</span><Box<<span class="kw">dyn </span>PageIterator>> {
- <span class="kw">let </span>iterator = <span class="kw">match </span><span class="kw-2">&</span><span class="self">self</span>.row_groups {
- <span class="prelude-val">Some</span>(row_groups) => FilePageIterator::with_row_groups(
- i,
- Box::new(row_groups.clone().into_iter()),
- Arc::clone(<span class="kw-2">&</span><span class="self">self</span>.reader),
- )<span class="question-mark">?</span>,
- <span class="prelude-val">None </span>=> FilePageIterator::new(i, Arc::clone(<span class="kw-2">&</span><span class="self">self</span>.reader))<span class="question-mark">?</span>,
- };
-
- <span class="prelude-val">Ok</span>(Box::new(iterator))
- }
-}
-
<span class="doccomment">/// Uses `record_reader` to read up to `batch_size` records from `pages`
///
/// Returns the number of records read, which can be less than `batch_size` if
diff --git a/src/parquet/arrow/arrow_reader/mod.rs.html b/src/parquet/arrow/arrow_reader/mod.rs.html
index 609bd4d38c..6a9342aea7 100644
--- a/src/parquet/arrow/arrow_reader/mod.rs.html
+++ b/src/parquet/arrow/arrow_reader/mod.rs.html
@@ -2781,6 +2781,182 @@
<a href="#2781" id="2781">2781</a>
<a href="#2782" id="2782">2782</a>
<a href="#2783" id="2783">2783</a>
+<a href="#2784" id="2784">2784</a>
+<a href="#2785" id="2785">2785</a>
+<a href="#2786" id="2786">2786</a>
+<a href="#2787" id="2787">2787</a>
+<a href="#2788" id="2788">2788</a>
+<a href="#2789" id="2789">2789</a>
+<a href="#2790" id="2790">2790</a>
+<a href="#2791" id="2791">2791</a>
+<a href="#2792" id="2792">2792</a>
+<a href="#2793" id="2793">2793</a>
+<a href="#2794" id="2794">2794</a>
+<a href="#2795" id="2795">2795</a>
+<a href="#2796" id="2796">2796</a>
+<a href="#2797" id="2797">2797</a>
+<a href="#2798" id="2798">2798</a>
+<a href="#2799" id="2799">2799</a>
+<a href="#2800" id="2800">2800</a>
+<a href="#2801" id="2801">2801</a>
+<a href="#2802" id="2802">2802</a>
+<a href="#2803" id="2803">2803</a>
+<a href="#2804" id="2804">2804</a>
+<a href="#2805" id="2805">2805</a>
+<a href="#2806" id="2806">2806</a>
+<a href="#2807" id="2807">2807</a>
+<a href="#2808" id="2808">2808</a>
+<a href="#2809" id="2809">2809</a>
+<a href="#2810" id="2810">2810</a>
+<a href="#2811" id="2811">2811</a>
+<a href="#2812" id="2812">2812</a>
+<a href="#2813" id="2813">2813</a>
+<a href="#2814" id="2814">2814</a>
+<a href="#2815" id="2815">2815</a>
+<a href="#2816" id="2816">2816</a>
+<a href="#2817" id="2817">2817</a>
+<a href="#2818" id="2818">2818</a>
+<a href="#2819" id="2819">2819</a>
+<a href="#2820" id="2820">2820</a>
+<a href="#2821" id="2821">2821</a>
+<a href="#2822" id="2822">2822</a>
+<a href="#2823" id="2823">2823</a>
+<a href="#2824" id="2824">2824</a>
+<a href="#2825" id="2825">2825</a>
+<a href="#2826" id="2826">2826</a>
+<a href="#2827" id="2827">2827</a>
+<a href="#2828" id="2828">2828</a>
+<a href="#2829" id="2829">2829</a>
+<a href="#2830" id="2830">2830</a>
+<a href="#2831" id="2831">2831</a>
+<a href="#2832" id="2832">2832</a>
+<a href="#2833" id="2833">2833</a>
+<a href="#2834" id="2834">2834</a>
+<a href="#2835" id="2835">2835</a>
+<a href="#2836" id="2836">2836</a>
+<a href="#2837" id="2837">2837</a>
+<a href="#2838" id="2838">2838</a>
+<a href="#2839" id="2839">2839</a>
+<a href="#2840" id="2840">2840</a>
+<a href="#2841" id="2841">2841</a>
+<a href="#2842" id="2842">2842</a>
+<a href="#2843" id="2843">2843</a>
+<a href="#2844" id="2844">2844</a>
+<a href="#2845" id="2845">2845</a>
+<a href="#2846" id="2846">2846</a>
+<a href="#2847" id="2847">2847</a>
+<a href="#2848" id="2848">2848</a>
+<a href="#2849" id="2849">2849</a>
+<a href="#2850" id="2850">2850</a>
+<a href="#2851" id="2851">2851</a>
+<a href="#2852" id="2852">2852</a>
+<a href="#2853" id="2853">2853</a>
+<a href="#2854" id="2854">2854</a>
+<a href="#2855" id="2855">2855</a>
+<a href="#2856" id="2856">2856</a>
+<a href="#2857" id="2857">2857</a>
+<a href="#2858" id="2858">2858</a>
+<a href="#2859" id="2859">2859</a>
+<a href="#2860" id="2860">2860</a>
+<a href="#2861" id="2861">2861</a>
+<a href="#2862" id="2862">2862</a>
+<a href="#2863" id="2863">2863</a>
+<a href="#2864" id="2864">2864</a>
+<a href="#2865" id="2865">2865</a>
+<a href="#2866" id="2866">2866</a>
+<a href="#2867" id="2867">2867</a>
+<a href="#2868" id="2868">2868</a>
+<a href="#2869" id="2869">2869</a>
+<a href="#2870" id="2870">2870</a>
+<a href="#2871" id="2871">2871</a>
+<a href="#2872" id="2872">2872</a>
+<a href="#2873" id="2873">2873</a>
+<a href="#2874" id="2874">2874</a>
+<a href="#2875" id="2875">2875</a>
+<a href="#2876" id="2876">2876</a>
+<a href="#2877" id="2877">2877</a>
+<a href="#2878" id="2878">2878</a>
+<a href="#2879" id="2879">2879</a>
+<a href="#2880" id="2880">2880</a>
+<a href="#2881" id="2881">2881</a>
+<a href="#2882" id="2882">2882</a>
+<a href="#2883" id="2883">2883</a>
+<a href="#2884" id="2884">2884</a>
+<a href="#2885" id="2885">2885</a>
+<a href="#2886" id="2886">2886</a>
+<a href="#2887" id="2887">2887</a>
+<a href="#2888" id="2888">2888</a>
+<a href="#2889" id="2889">2889</a>
+<a href="#2890" id="2890">2890</a>
+<a href="#2891" id="2891">2891</a>
+<a href="#2892" id="2892">2892</a>
+<a href="#2893" id="2893">2893</a>
+<a href="#2894" id="2894">2894</a>
+<a href="#2895" id="2895">2895</a>
+<a href="#2896" id="2896">2896</a>
+<a href="#2897" id="2897">2897</a>
+<a href="#2898" id="2898">2898</a>
+<a href="#2899" id="2899">2899</a>
+<a href="#2900" id="2900">2900</a>
+<a href="#2901" id="2901">2901</a>
+<a href="#2902" id="2902">2902</a>
+<a href="#2903" id="2903">2903</a>
+<a href="#2904" id="2904">2904</a>
+<a href="#2905" id="2905">2905</a>
+<a href="#2906" id="2906">2906</a>
+<a href="#2907" id="2907">2907</a>
+<a href="#2908" id="2908">2908</a>
+<a href="#2909" id="2909">2909</a>
+<a href="#2910" id="2910">2910</a>
+<a href="#2911" id="2911">2911</a>
+<a href="#2912" id="2912">2912</a>
+<a href="#2913" id="2913">2913</a>
+<a href="#2914" id="2914">2914</a>
+<a href="#2915" id="2915">2915</a>
+<a href="#2916" id="2916">2916</a>
+<a href="#2917" id="2917">2917</a>
+<a href="#2918" id="2918">2918</a>
+<a href="#2919" id="2919">2919</a>
+<a href="#2920" id="2920">2920</a>
+<a href="#2921" id="2921">2921</a>
+<a href="#2922" id="2922">2922</a>
+<a href="#2923" id="2923">2923</a>
+<a href="#2924" id="2924">2924</a>
+<a href="#2925" id="2925">2925</a>
+<a href="#2926" id="2926">2926</a>
+<a href="#2927" id="2927">2927</a>
+<a href="#2928" id="2928">2928</a>
+<a href="#2929" id="2929">2929</a>
+<a href="#2930" id="2930">2930</a>
+<a href="#2931" id="2931">2931</a>
+<a href="#2932" id="2932">2932</a>
+<a href="#2933" id="2933">2933</a>
+<a href="#2934" id="2934">2934</a>
+<a href="#2935" id="2935">2935</a>
+<a href="#2936" id="2936">2936</a>
+<a href="#2937" id="2937">2937</a>
+<a href="#2938" id="2938">2938</a>
+<a href="#2939" id="2939">2939</a>
+<a href="#2940" id="2940">2940</a>
+<a href="#2941" id="2941">2941</a>
+<a href="#2942" id="2942">2942</a>
+<a href="#2943" id="2943">2943</a>
+<a href="#2944" id="2944">2944</a>
+<a href="#2945" id="2945">2945</a>
+<a href="#2946" id="2946">2946</a>
+<a href="#2947" id="2947">2947</a>
+<a href="#2948" id="2948">2948</a>
+<a href="#2949" id="2949">2949</a>
+<a href="#2950" id="2950">2950</a>
+<a href="#2951" id="2951">2951</a>
+<a href="#2952" id="2952">2952</a>
+<a href="#2953" id="2953">2953</a>
+<a href="#2954" id="2954">2954</a>
+<a href="#2955" id="2955">2955</a>
+<a href="#2956" id="2956">2956</a>
+<a href="#2957" id="2957">2957</a>
+<a href="#2958" id="2958">2958</a>
+<a href="#2959" id="2959">2959</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -2809,19 +2985,21 @@
<span class="kw">use </span>arrow_schema::{ArrowError, DataType <span class="kw">as </span>ArrowType, Schema, SchemaRef};
<span class="kw">use </span>arrow_select::filter::prep_null_mask_filter;
-<span class="kw">use </span><span class="kw">crate</span>::arrow::array_reader::{build_array_reader, ArrayReader, FileReaderRowGroups};
+<span class="kw">use </span><span class="kw">crate</span>::arrow::array_reader::{build_array_reader, ArrayReader};
<span class="kw">use </span><span class="kw">crate</span>::arrow::schema::{parquet_to_arrow_schema_and_fields, ParquetField};
<span class="kw">use </span><span class="kw">crate</span>::arrow::{FieldLevels, ProjectionMask};
<span class="kw">use </span><span class="kw">crate</span>::errors::{ParquetError, <span class="prelude-ty">Result</span>};
<span class="kw">use </span><span class="kw">crate</span>::file::metadata::ParquetMetaData;
-<span class="kw">use </span><span class="kw">crate</span>::file::reader::{ChunkReader, SerializedFileReader};
-<span class="kw">use </span><span class="kw">crate</span>::file::serialized_reader::ReadOptionsBuilder;
+<span class="kw">use </span><span class="kw">crate</span>::file::reader::{ChunkReader, SerializedPageReader};
<span class="kw">use </span><span class="kw">crate</span>::schema::types::SchemaDescriptor;
<span class="kw">mod </span>filter;
<span class="kw">mod </span>selection;
<span class="kw">pub use </span><span class="kw">crate</span>::arrow::array_reader::RowGroups;
+<span class="kw">use </span><span class="kw">crate</span>::column::page::{PageIterator, PageReader};
+<span class="kw">use </span><span class="kw">crate</span>::file::footer;
+<span class="kw">use </span><span class="kw">crate</span>::file::page_index::index_reader;
<span class="kw">pub use </span>filter::{ArrowPredicate, ArrowPredicateFn, RowFilter};
<span class="kw">pub use </span>selection::{RowSelection, RowSelector};
@@ -2840,7 +3018,7 @@
<span class="kw">pub</span>(<span class="kw">crate</span>) schema: SchemaRef,
- <span class="kw">pub</span>(<span class="kw">crate</span>) fields: <span class="prelude-ty">Option</span><ParquetField>,
+ <span class="kw">pub</span>(<span class="kw">crate</span>) fields: <span class="prelude-ty">Option</span><Arc<ParquetField>>,
<span class="kw">pub</span>(<span class="kw">crate</span>) batch_size: usize,
@@ -2858,27 +3036,12 @@
}
<span class="kw">impl</span><T> ArrowReaderBuilder<T> {
- <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>new_builder(
- input: T,
- metadata: Arc<ParquetMetaData>,
- options: ArrowReaderOptions,
- ) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
- <span class="kw">let </span>kv_metadata = <span class="kw">match </span>options.skip_arrow_metadata {
- <span class="bool-val">true </span>=> <span class="prelude-val">None</span>,
- <span class="bool-val">false </span>=> metadata.file_metadata().key_value_metadata(),
- };
-
- <span class="kw">let </span>(schema, fields) = parquet_to_arrow_schema_and_fields(
- metadata.file_metadata().schema_descr(),
- ProjectionMask::all(),
- kv_metadata,
- )<span class="question-mark">?</span>;
-
- <span class="prelude-val">Ok</span>(<span class="self">Self </span>{
+ <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>new_builder(input: T, metadata: ArrowReaderMetadata) -> <span class="self">Self </span>{
+ <span class="self">Self </span>{
input,
- metadata,
- schema: Arc::new(schema),
- fields,
+ metadata: metadata.metadata,
+ schema: metadata.schema,
+ fields: metadata.fields,
batch_size: <span class="number">1024</span>,
row_groups: <span class="prelude-val">None</span>,
projection: ProjectionMask::all(),
@@ -2886,7 +3049,7 @@
selection: <span class="prelude-val">None</span>,
limit: <span class="prelude-val">None</span>,
offset: <span class="prelude-val">None</span>,
- })
+ }
}
<span class="doccomment">/// Returns a reference to the [`ParquetMetaData`] for this parquet file
@@ -3017,48 +3180,184 @@
}
}
+<span class="doccomment">/// The cheaply clone-able metadata necessary to construct a [`ArrowReaderBuilder`]
+///
+/// This allows loading the metadata for a file once and then using this to construct
+/// multiple separate readers, for example, to distribute readers across multiple threads
+</span><span class="attr">#[derive(Debug, Clone)]
+</span><span class="kw">pub struct </span>ArrowReaderMetadata {
+ <span class="kw">pub</span>(<span class="kw">crate</span>) metadata: Arc<ParquetMetaData>,
+
+ <span class="kw">pub</span>(<span class="kw">crate</span>) schema: SchemaRef,
+
+ <span class="kw">pub</span>(<span class="kw">crate</span>) fields: <span class="prelude-ty">Option</span><Arc<ParquetField>>,
+}
+
+<span class="kw">impl </span>ArrowReaderMetadata {
+ <span class="doccomment">/// Loads [`ArrowReaderMetadata`] from the provided [`ChunkReader`]
+ ///
+ /// See [`ParquetRecordBatchReaderBuilder::new_with_metadata`] for how this can be used
+ </span><span class="kw">pub fn </span>load<T: ChunkReader>(reader: <span class="kw-2">&</span>T, options: ArrowReaderOptions) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
+ <span class="kw">let </span><span class="kw-2">mut </span>metadata = footer::parse_metadata(reader)<span class="question-mark">?</span>;
+ <span class="kw">if </span>options.page_index {
+ <span class="kw">let </span>column_index = metadata
+ .row_groups()
+ .iter()
+ .map(|rg| index_reader::read_columns_indexes(reader, rg.columns()))
+ .collect::<<span class="prelude-ty">Result</span><Vec<<span class="kw">_</span>>>>()<span class="question-mark">?</span>;
+ metadata.set_column_index(<span class="prelude-val">Some</span>(column_index));
+
+ <span class="kw">let </span>offset_index = metadata
+ .row_groups()
+ .iter()
+ .map(|rg| index_reader::read_pages_locations(reader, rg.columns()))
+ .collect::<<span class="prelude-ty">Result</span><Vec<<span class="kw">_</span>>>>()<span class="question-mark">?</span>;
+
+ metadata.set_offset_index(<span class="prelude-val">Some</span>(offset_index))
+ }
+ <span class="self">Self</span>::try_new(Arc::new(metadata), options)
+ }
+
+ <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>try_new(
+ metadata: Arc<ParquetMetaData>,
+ options: ArrowReaderOptions,
+ ) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
+ <span class="kw">let </span>kv_metadata = <span class="kw">match </span>options.skip_arrow_metadata {
+ <span class="bool-val">true </span>=> <span class="prelude-val">None</span>,
+ <span class="bool-val">false </span>=> metadata.file_metadata().key_value_metadata(),
+ };
+
+ <span class="kw">let </span>(schema, fields) = parquet_to_arrow_schema_and_fields(
+ metadata.file_metadata().schema_descr(),
+ ProjectionMask::all(),
+ kv_metadata,
+ )<span class="question-mark">?</span>;
+
+ <span class="prelude-val">Ok</span>(<span class="self">Self </span>{
+ metadata,
+ schema: Arc::new(schema),
+ fields: fields.map(Arc::new),
+ })
+ }
+
+ <span class="doccomment">/// Returns a reference to the [`ParquetMetaData`] for this parquet file
+ </span><span class="kw">pub fn </span>metadata(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>Arc<ParquetMetaData> {
+ <span class="kw-2">&</span><span class="self">self</span>.metadata
+ }
+
+ <span class="doccomment">/// Returns the parquet [`SchemaDescriptor`] for this parquet file
+ </span><span class="kw">pub fn </span>parquet_schema(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>SchemaDescriptor {
+ <span class="self">self</span>.metadata.file_metadata().schema_descr()
+ }
+
+ <span class="doccomment">/// Returns the arrow [`SchemaRef`] for this parquet file
+ </span><span class="kw">pub fn </span>schema(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>SchemaRef {
+ <span class="kw-2">&</span><span class="self">self</span>.schema
+ }
+}
+
<span class="attr">#[doc(hidden)]
</span><span class="doccomment">/// A newtype used within [`ReaderOptionsBuilder`] to distinguish sync readers from async
-</span><span class="kw">pub struct </span>SyncReader<T: ChunkReader>(SerializedFileReader<T>);
+</span><span class="kw">pub struct </span>SyncReader<T: ChunkReader>(T);
<span class="doccomment">/// A synchronous builder used to construct [`ParquetRecordBatchReader`] for a file
///
/// For an async API see [`crate::arrow::async_reader::ParquetRecordBatchStreamBuilder`]
</span><span class="kw">pub type </span>ParquetRecordBatchReaderBuilder<T> = ArrowReaderBuilder<SyncReader<T>>;
-<span class="kw">impl</span><T: ChunkReader + <span class="lifetime">'static</span>> ArrowReaderBuilder<SyncReader<T>> {
+<span class="kw">impl</span><T: ChunkReader + <span class="lifetime">'static</span>> ParquetRecordBatchReaderBuilder<T> {
<span class="doccomment">/// Create a new [`ParquetRecordBatchReaderBuilder`]
+ ///
+ /// ```
+ /// # use std::sync::Arc;
+ /// # use bytes::Bytes;
+ /// # use arrow_array::{Int32Array, RecordBatch};
+ /// # use arrow_schema::{DataType, Field, Schema};
+ /// # use parquet::arrow::arrow_reader::{ParquetRecordBatchReader, ParquetRecordBatchReaderBuilder};
+ /// # use parquet::arrow::ArrowWriter;
+ /// # let mut file: Vec<u8> = Vec::with_capacity(1024);
+ /// # let schema = Arc::new(Schema::new(vec![Field::new("i32", DataType::Int32, false)]));
+ /// # let mut writer = ArrowWriter::try_new(&mut file, schema.clone(), None).unwrap();
+ /// # let batch = RecordBatch::try_new(schema, vec![Arc::new(Int32Array::from(vec![1, 2, 3]))]).unwrap();
+ /// # writer.write(&batch).unwrap();
+ /// # writer.close().unwrap();
+ /// # let file = Bytes::from(file);
+ /// #
+ /// let mut builder = ParquetRecordBatchReaderBuilder::try_new(file).unwrap();
+ ///
+ /// // Inspect metadata
+ /// assert_eq!(builder.metadata().num_row_groups(), 1);
+ ///
+ /// // Construct reader
+ /// let mut reader: ParquetRecordBatchReader = builder.with_row_groups(vec![0]).build().unwrap();
+ ///
+ /// // Read data
+ /// let _batch = reader.next().unwrap().unwrap();
+ /// ```
</span><span class="kw">pub fn </span>try_new(reader: T) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
<span class="self">Self</span>::try_new_with_options(reader, Default::default())
}
<span class="doccomment">/// Create a new [`ParquetRecordBatchReaderBuilder`] with [`ArrowReaderOptions`]
</span><span class="kw">pub fn </span>try_new_with_options(reader: T, options: ArrowReaderOptions) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
- <span class="kw">let </span>reader = <span class="kw">match </span>options.page_index {
- <span class="bool-val">true </span>=> {
- <span class="kw">let </span>read_options = ReadOptionsBuilder::new().with_page_index().build();
- SerializedFileReader::new_with_options(reader, read_options)<span class="question-mark">?
- </span>}
- <span class="bool-val">false </span>=> SerializedFileReader::new(reader)<span class="question-mark">?</span>,
- };
+ <span class="kw">let </span>metadata = ArrowReaderMetadata::load(<span class="kw-2">&</span>reader, options)<span class="question-mark">?</span>;
+ <span class="prelude-val">Ok</span>(<span class="self">Self</span>::new_with_metadata(reader, metadata))
+ }
- <span class="kw">let </span>metadata = Arc::clone(reader.metadata_ref());
- <span class="self">Self</span>::new_builder(SyncReader(reader), metadata, options)
+ <span class="doccomment">/// Create a [`ParquetRecordBatchReaderBuilder`] from the provided [`ArrowReaderMetadata`]
+ ///
+ /// This allows loading metadata once and using it to create multiple builders with
+ /// potentially different settings
+ ///
+ /// ```
+ /// # use std::fs::metadata;
+ /// # use std::sync::Arc;
+ /// # use bytes::Bytes;
+ /// # use arrow_array::{Int32Array, RecordBatch};
+ /// # use arrow_schema::{DataType, Field, Schema};
+ /// # use parquet::arrow::arrow_reader::{ArrowReaderMetadata, ParquetRecordBatchReader, ParquetRecordBatchReaderBuilder};
+ /// # use parquet::arrow::ArrowWriter;
+ /// # let mut file: Vec<u8> = Vec::with_capacity(1024);
+ /// # let schema = Arc::new(Schema::new(vec![Field::new("i32", DataType::Int32, false)]));
+ /// # let mut writer = ArrowWriter::try_new(&mut file, schema.clone(), None).unwrap();
+ /// # let batch = RecordBatch::try_new(schema, vec![Arc::new(Int32Array::from(vec![1, 2, 3]))]).unwrap();
+ /// # writer.write(&batch).unwrap();
+ /// # writer.close().unwrap();
+ /// # let file = Bytes::from(file);
+ /// #
+ /// let metadata = ArrowReaderMetadata::load(&file, Default::default()).unwrap();
+ /// let mut a = ParquetRecordBatchReaderBuilder::new_with_metadata(file.clone(), metadata.clone()).build().unwrap();
+ /// let mut b = ParquetRecordBatchReaderBuilder::new_with_metadata(file, metadata).build().unwrap();
+ ///
+ /// // Should be able to read from both in parallel
+ /// assert_eq!(a.next().unwrap().unwrap(), b.next().unwrap().unwrap());
+ /// ```
+ </span><span class="kw">pub fn </span>new_with_metadata(input: T, metadata: ArrowReaderMetadata) -> <span class="self">Self </span>{
+ <span class="self">Self</span>::new_builder(SyncReader(input), metadata)
}
<span class="doccomment">/// Build a [`ParquetRecordBatchReader`]
///
/// Note: this will eagerly evaluate any `RowFilter` before returning
</span><span class="kw">pub fn </span>build(<span class="self">self</span>) -> <span class="prelude-ty">Result</span><ParquetRecordBatchReader> {
- <span class="kw">let </span>reader = FileReaderRowGroups::new(Arc::new(<span class="self">self</span>.input.<span class="number">0</span>), <span class="self">self</span>.row_groups);
-
- <span class="kw">let </span><span class="kw-2">mut </span>filter = <span class="self">self</span>.filter;
- <span class="kw">let </span><span class="kw-2">mut </span>selection = <span class="self">self</span>.selection;
-
<span class="comment">// Try to avoid allocate large buffer
</span><span class="kw">let </span>batch_size = <span class="self">self
</span>.batch_size
.min(<span class="self">self</span>.metadata.file_metadata().num_rows() <span class="kw">as </span>usize);
+
+ <span class="kw">let </span>row_groups = <span class="self">self
+ </span>.row_groups
+ .unwrap_or_else(|| (<span class="number">0</span>..<span class="self">self</span>.metadata.num_row_groups()).collect());
+
+ <span class="kw">let </span>reader = ReaderRowGroups {
+ reader: Arc::new(<span class="self">self</span>.input.<span class="number">0</span>),
+ metadata: <span class="self">self</span>.metadata,
+ row_groups,
+ };
+
+ <span class="kw">let </span><span class="kw-2">mut </span>filter = <span class="self">self</span>.filter;
+ <span class="kw">let </span><span class="kw-2">mut </span>selection = <span class="self">self</span>.selection;
+
<span class="kw">if let </span><span class="prelude-val">Some</span>(filter) = filter.as_mut() {
<span class="kw">for </span>predicate <span class="kw">in </span>filter.predicates.iter_mut() {
<span class="kw">if </span>!selects_any(selection.as_ref()) {
@@ -3066,7 +3365,7 @@
}
<span class="kw">let </span>array_reader = build_array_reader(
- <span class="self">self</span>.fields.as_ref(),
+ <span class="self">self</span>.fields.as_deref(),
predicate.projection(),
<span class="kw-2">&</span>reader,
)<span class="question-mark">?</span>;
@@ -3081,7 +3380,7 @@
}
<span class="kw">let </span>array_reader =
- build_array_reader(<span class="self">self</span>.fields.as_ref(), <span class="kw-2">&</span><span class="self">self</span>.projection, <span class="kw-2">&</span>reader)<span class="question-mark">?</span>;
+ build_array_reader(<span class="self">self</span>.fields.as_deref(), <span class="kw-2">&</span><span class="self">self</span>.projection, <span class="kw-2">&</span>reader)<span class="question-mark">?</span>;
<span class="comment">// If selection is empty, truncate
</span><span class="kw">if </span>!selects_any(selection.as_ref()) {
@@ -3096,6 +3395,59 @@
}
}
+<span class="kw">struct </span>ReaderRowGroups<T: ChunkReader> {
+ reader: Arc<T>,
+
+ metadata: Arc<ParquetMetaData>,
+ <span class="doccomment">/// Optional list of row group indices to scan
+ </span>row_groups: Vec<usize>,
+}
+
+<span class="kw">impl</span><T: ChunkReader + <span class="lifetime">'static</span>> RowGroups <span class="kw">for </span>ReaderRowGroups<T> {
+ <span class="kw">fn </span>num_rows(<span class="kw-2">&</span><span class="self">self</span>) -> usize {
+ <span class="kw">let </span>meta = <span class="self">self</span>.metadata.row_groups();
+ <span class="self">self</span>.row_groups
+ .iter()
+ .map(|x| meta[<span class="kw-2">*</span>x].num_rows() <span class="kw">as </span>usize)
+ .sum()
+ }
+
+ <span class="kw">fn </span>column_chunks(<span class="kw-2">&</span><span class="self">self</span>, i: usize) -> <span class="prelude-ty">Result</span><Box<<span class="kw">dyn </span>PageIterator>> {
+ <span class="prelude-val">Ok</span>(Box::new(ReaderPageIterator {
+ column_idx: i,
+ reader: <span class="self">self</span>.reader.clone(),
+ metadata: <span class="self">self</span>.metadata.clone(),
+ row_groups: <span class="self">self</span>.row_groups.clone().into_iter(),
+ }))
+ }
+}
+
+<span class="kw">struct </span>ReaderPageIterator<T: ChunkReader> {
+ reader: Arc<T>,
+ column_idx: usize,
+ row_groups: std::vec::IntoIter<usize>,
+ metadata: Arc<ParquetMetaData>,
+}
+
+<span class="kw">impl</span><T: ChunkReader + <span class="lifetime">'static</span>> Iterator <span class="kw">for </span>ReaderPageIterator<T> {
+ <span class="kw">type </span>Item = <span class="prelude-ty">Result</span><Box<<span class="kw">dyn </span>PageReader>>;
+
+ <span class="kw">fn </span>next(<span class="kw-2">&mut </span><span class="self">self</span>) -> <span class="prelude-ty">Option</span><<span class="self">Self</span>::Item> {
+ <span class="kw">let </span>rg_idx = <span class="self">self</span>.row_groups.next()<span class="question-mark">?</span>;
+ <span class="kw">let </span>rg = <span class="self">self</span>.metadata.row_group(rg_idx);
+ <span class="kw">let </span>meta = rg.column(<span class="self">self</span>.column_idx);
+ <span class="kw">let </span>offset_index = <span class="self">self</span>.metadata.offset_index();
+ <span class="kw">let </span>page_locations = offset_index.map(|i| i[rg_idx][<span class="self">self</span>.column_idx].clone());
+ <span class="kw">let </span>total_rows = rg.num_rows() <span class="kw">as </span>usize;
+ <span class="kw">let </span>reader = <span class="self">self</span>.reader.clone();
+
+ <span class="kw">let </span>ret = SerializedPageReader::new(reader, meta, total_rows, page_locations);
+ <span class="prelude-val">Some</span>(ret.map(|x| Box::new(x) <span class="kw">as _</span>))
+ }
+}
+
+<span class="kw">impl</span><T: ChunkReader + <span class="lifetime">'static</span>> PageIterator <span class="kw">for </span>ReaderPageIterator<T> {}
+
<span class="doccomment">/// An `Iterator<Item = ArrowResult<RecordBatch>>` that yields [`RecordBatch`]
/// read from a parquet data source
</span><span class="kw">pub struct </span>ParquetRecordBatchReader {
diff --git a/src/parquet/arrow/async_reader/mod.rs.html b/src/parquet/arrow/async_reader/mod.rs.html
index 0fcda7434b..df9c37bffb 100644
--- a/src/parquet/arrow/async_reader/mod.rs.html
+++ b/src/parquet/arrow/async_reader/mod.rs.html
@@ -1482,6 +1482,27 @@
<a href="#1482" id="1482">1482</a>
<a href="#1483" id="1483">1483</a>
<a href="#1484" id="1484">1484</a>
+<a href="#1485" id="1485">1485</a>
+<a href="#1486" id="1486">1486</a>
+<a href="#1487" id="1487">1487</a>
+<a href="#1488" id="1488">1488</a>
+<a href="#1489" id="1489">1489</a>
+<a href="#1490" id="1490">1490</a>
+<a href="#1491" id="1491">1491</a>
+<a href="#1492" id="1492">1492</a>
+<a href="#1493" id="1493">1493</a>
+<a href="#1494" id="1494">1494</a>
+<a href="#1495" id="1495">1495</a>
+<a href="#1496" id="1496">1496</a>
+<a href="#1497" id="1497">1497</a>
+<a href="#1498" id="1498">1498</a>
+<a href="#1499" id="1499">1499</a>
+<a href="#1500" id="1500">1500</a>
+<a href="#1501" id="1501">1501</a>
+<a href="#1502" id="1502">1502</a>
+<a href="#1503" id="1503">1503</a>
+<a href="#1504" id="1504">1504</a>
+<a href="#1505" id="1505">1505</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -1580,8 +1601,9 @@
<span class="kw">use </span><span class="kw">crate</span>::arrow::array_reader::{build_array_reader, RowGroups};
<span class="kw">use </span><span class="kw">crate</span>::arrow::arrow_reader::{
- apply_range, evaluate_predicate, selects_any, ArrowReaderBuilder, ArrowReaderOptions,
- ParquetRecordBatchReader, RowFilter, RowSelection,
+ apply_range, evaluate_predicate, selects_any, ArrowReaderBuilder,
+ ArrowReaderMetadata, ArrowReaderOptions, ParquetRecordBatchReader, RowFilter,
+ RowSelection,
};
<span class="kw">use </span><span class="kw">crate</span>::arrow::ProjectionMask;
@@ -1689,6 +1711,29 @@
}
}
+<span class="kw">impl </span>ArrowReaderMetadata {
+ <span class="doccomment">/// Returns a new [`ArrowReaderMetadata`] for this builder
+ ///
+ /// See [`ParquetRecordBatchStreamBuilder::new_with_metadata`] for how this can be used
+ </span><span class="kw">pub async fn </span>load_async<T: AsyncFileReader>(
+ input: <span class="kw-2">&mut </span>T,
+ options: ArrowReaderOptions,
+ ) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
+ <span class="kw">let </span><span class="kw-2">mut </span>metadata = input.get_metadata().<span class="kw">await</span><span class="question-mark">?</span>;
+
+ <span class="kw">if </span>options.page_index
+ && metadata.column_index().is_none()
+ && metadata.offset_index().is_none()
+ {
+ <span class="kw">let </span>m = Arc::try_unwrap(metadata).unwrap_or_else(|e| e.as_ref().clone());
+ <span class="kw">let </span><span class="kw-2">mut </span>loader = MetadataLoader::new(input, m);
+ loader.load_page_index(<span class="bool-val">true</span>, <span class="bool-val">true</span>).<span class="kw">await</span><span class="question-mark">?</span>;
+ metadata = Arc::new(loader.finish())
+ }
+ <span class="self">Self</span>::try_new(metadata, options)
+ }
+}
+
<span class="attr">#[doc(hidden)]
</span><span class="doccomment">/// A newtype used within [`ReaderOptionsBuilder`] to distinguish sync readers from async
///
@@ -1701,33 +1746,30 @@
/// In particular, this handles reading the parquet file metadata, allowing consumers
/// to use this information to select what specific columns, row groups, etc...
/// they wish to be read by the resulting stream
-///
</span><span class="kw">pub type </span>ParquetRecordBatchStreamBuilder<T> = ArrowReaderBuilder<AsyncReader<T>>;
-<span class="kw">impl</span><T: AsyncFileReader + Send + <span class="lifetime">'static</span>> ArrowReaderBuilder<AsyncReader<T>> {
+<span class="kw">impl</span><T: AsyncFileReader + Send + <span class="lifetime">'static</span>> ParquetRecordBatchStreamBuilder<T> {
<span class="doccomment">/// Create a new [`ParquetRecordBatchStreamBuilder`] with the provided parquet file
- </span><span class="kw">pub async fn </span>new(<span class="kw-2">mut </span>input: T) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
- <span class="kw">let </span>metadata = input.get_metadata().<span class="kw">await</span><span class="question-mark">?</span>;
- <span class="self">Self</span>::new_builder(AsyncReader(input), metadata, Default::default())
- }
+ </span><span class="kw">pub async fn </span>new(input: T) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
+ <span class="self">Self</span>::new_with_options(input, Default::default()).<span class="kw">await
+ </span>}
- <span class="kw">pub async fn </span>new_with_options(
+ <span class="doccomment">/// Create a new [`ParquetRecordBatchStreamBuilder`] with the provided parquet file
+ /// and [`ArrowReaderOptions`]
+ </span><span class="kw">pub async fn </span>new_with_options(
<span class="kw-2">mut </span>input: T,
options: ArrowReaderOptions,
) -> <span class="prelude-ty">Result</span><<span class="self">Self</span>> {
- <span class="kw">let </span><span class="kw-2">mut </span>metadata = input.get_metadata().<span class="kw">await</span><span class="question-mark">?</span>;
-
- <span class="kw">if </span>options.page_index
- && metadata.column_index().is_none()
- && metadata.offset_index().is_none()
- {
- <span class="kw">let </span>m = Arc::try_unwrap(metadata).unwrap_or_else(|e| e.as_ref().clone());
- <span class="kw">let </span><span class="kw-2">mut </span>loader = MetadataLoader::new(<span class="kw-2">&mut </span>input, m);
- loader.load_page_index(<span class="bool-val">true</span>, <span class="bool-val">true</span>).<span class="kw">await</span><span class="question-mark">?</span>;
- metadata = Arc::new(loader.finish())
- }
+ <span class="kw">let </span>metadata = ArrowReaderMetadata::load_async(<span class="kw-2">&mut </span>input, options).<span class="kw">await</span><span class="question-mark">?</span>;
+ <span class="prelude-val">Ok</span>(<span class="self">Self</span>::new_with_metadata(input, metadata))
+ }
- <span class="self">Self</span>::new_builder(AsyncReader(input), metadata, options)
+ <span class="doccomment">/// Create a [`ParquetRecordBatchStreamBuilder`] from the provided [`ArrowReaderMetadata`]
+ ///
+ /// This allows loading metadata once and using it to create multiple builders with
+ /// potentially different settings
+ </span><span class="kw">pub fn </span>new_with_metadata(input: T, metadata: ArrowReaderMetadata) -> <span class="self">Self </span>{
+ <span class="self">Self</span>::new_builder(AsyncReader(input), metadata)
}
<span class="doccomment">/// Build a new [`ParquetRecordBatchStream`]
@@ -1781,7 +1823,7 @@
</span><span class="kw">struct </span>ReaderFactory<T> {
metadata: Arc<ParquetMetaData>,
- fields: <span class="prelude-ty">Option</span><ParquetField>,
+ fields: <span class="prelude-ty">Option</span><Arc<ParquetField>>,
input: T,
@@ -1834,7 +1876,7 @@
.<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>array_reader = build_array_reader(
- <span class="self">self</span>.fields.as_ref(),
+ <span class="self">self</span>.fields.as_deref(),
predicate_projection,
<span class="kw-2">&</span>row_group,
)<span class="question-mark">?</span>;
@@ -1887,7 +1929,7 @@
<span class="kw">let </span>reader = ParquetRecordBatchReader::new(
batch_size,
- build_array_reader(<span class="self">self</span>.fields.as_ref(), <span class="kw-2">&</span>projection, <span class="kw-2">&</span>row_group)<span class="question-mark">?</span>,
+ build_array_reader(<span class="self">self</span>.fields.as_deref(), <span class="kw-2">&</span>projection, <span class="kw-2">&</span>row_group)<span class="question-mark">?</span>,
selection,
);
@@ -2893,7 +2935,7 @@
<span class="kw">let </span>reader_factory = ReaderFactory {
metadata,
- fields,
+ fields: fields.map(Arc::new),
input: async_reader,
filter: <span class="prelude-val">None</span>,
limit: <span class="prelude-val">None</span>,
diff --git a/src/parquet/file/metadata.rs.html b/src/parquet/file/metadata.rs.html
index e43410113c..7da6403cf5 100644
--- a/src/parquet/file/metadata.rs.html
+++ b/src/parquet/file/metadata.rs.html
@@ -1287,13 +1287,13 @@
}
<span class="doccomment">/// Override the column index
- </span><span class="attr">#[allow(dead_code)]
+ </span><span class="attr">#[cfg(feature = <span class="string">"arrow"</span>)]
</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>set_column_index(<span class="kw-2">&mut </span><span class="self">self</span>, index: <span class="prelude-ty">Option</span><ParquetColumnIndex>) {
<span class="self">self</span>.column_index = index;
}
<span class="doccomment">/// Override the offset index
- </span><span class="attr">#[allow(dead_code)]
+ </span><span class="attr">#[cfg(feature = <span class="string">"arrow"</span>)]
</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>set_offset_index(<span class="kw-2">&mut </span><span class="self">self</span>, index: <span class="prelude-ty">Option</span><ParquetOffsetIndex>) {
<span class="self">self</span>.offset_index = index;
}
diff --git a/src/parquet/file/serialized_reader.rs.html b/src/parquet/file/serialized_reader.rs.html
index c815b85bba..8c166bfe0c 100644
--- a/src/parquet/file/serialized_reader.rs.html
+++ b/src/parquet/file/serialized_reader.rs.html
@@ -1758,11 +1758,6 @@
<a href="#1758" id="1758">1758</a>
<a href="#1759" id="1759">1759</a>
<a href="#1760" id="1760">1760</a>
-<a href="#1761" id="1761">1761</a>
-<a href="#1762" id="1762">1762</a>
-<a href="#1763" id="1763">1763</a>
-<a href="#1764" id="1764">1764</a>
-<a href="#1765" id="1765">1765</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -2007,11 +2002,6 @@
})
}
}
-
- <span class="attr">#[cfg(feature = <span class="string">"arrow"</span>)]
- </span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>metadata_ref(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>Arc<ParquetMetaData> {
- <span class="kw-2">&</span><span class="self">self</span>.metadata
- }
}
<span class="doccomment">/// Get midpoint offset for a row group