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/06/30 14:49:35 UTC

[arrow-rs] branch asf-site updated: deploy: d7fa775cf76c7cd54c6d2a86542115599d8f53ee

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 7afbf27a4 deploy: d7fa775cf76c7cd54c6d2a86542115599d8f53ee
7afbf27a4 is described below

commit 7afbf27a4a5494bb8b036fc894a8ff6520d46a0d
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Fri Jun 30 14:49:30 2023 +0000

    deploy: d7fa775cf76c7cd54c6d2a86542115599d8f53ee
---
 .../auth_basic_proto/fn.authenticate.html          |   2 +-
 .../auth_basic_proto/type.Client.html              |   2 +-
 .../fn.consume_flight_location.html                |   4 +-
 .../fn.receive_batch_flight_data.html              |   4 +-
 .../fn.receive_schema_flight_data.html             |   2 +-
 .../integration_test/fn.send_batch.html            |   2 +-
 .../integration_test/fn.upload_data.html           |   4 +-
 .../integration_test/fn.verify_data.html           |   4 +-
 .../integration_test/type.Client.html              |   2 +-
 .../struct.AuthBasicProtoScenarioImpl.html         |  54 +++----
 .../flight_server_scenarios/fn.endpoint.html       |   2 +-
 .../integration_test/fn.save_uploaded_chunks.html  |   4 +-
 .../integration_test/fn.send_app_metadata.html     |   2 +-
 .../integration_test/struct.FlightServiceImpl.html |  54 +++----
 .../middleware/struct.MiddlewareScenarioImpl.html  |  54 +++----
 arrow_row/dictionary/fn.encode_dictionary.html     |   5 +-
 .../dictionary/fn.encode_dictionary_values.html    |   5 +-
 arrow_row/fixed/fn.decode_bool.html                |   2 +-
 arrow_row/fixed/fn.decode_fixed.html               |   2 +-
 arrow_row/fixed/fn.decode_fixed_size_binary.html   |   2 +-
 arrow_row/fixed/fn.decode_nulls.html               |   2 +-
 arrow_row/fixed/fn.decode_primitive.html           |   2 +-
 arrow_row/fixed/fn.encode.html                     |   5 +-
 arrow_row/fixed/fn.encode_fixed_size_binary.html   |   5 +-
 arrow_row/fixed/fn.split_off.html                  |   2 +-
 arrow_row/fixed/index.html                         |   2 +-
 arrow_row/fn.decode_column.html                    |   2 +-
 arrow_row/fn.encode_column.html                    |   5 +-
 arrow_row/fn.new_empty_rows.html                   |   2 +-
 arrow_row/fn.null_sentinel.html                    |   2 +-
 arrow_row/index.html                               |   2 +-
 arrow_row/list/fn.encode.html                      |   3 +-
 arrow_row/macro.decode_dictionary_helper.html      |   2 +-
 arrow_row/macro.decode_primitive_helper.html       |   2 +-
 arrow_row/struct.OwnedRow.html                     |  14 +-
 arrow_row/struct.Row.html                          |  14 +-
 arrow_row/struct.RowConfig.html                    |   4 +-
 arrow_row/struct.RowConverter.html                 |  32 +++-
 arrow_row/struct.RowParser.html                    |   6 +-
 arrow_row/struct.Rows.html                         |  15 +-
 arrow_row/struct.RowsIter.html                     |   6 +-
 arrow_row/variable/fn.decode_binary.html           |   2 +-
 arrow_row/variable/fn.decode_string.html           |   2 +-
 arrow_row/variable/fn.decoded_len.html             |   2 +-
 arrow_row/variable/fn.encode.html                  |   5 +-
 arrow_row/variable/fn.encode_one.html              |   2 +-
 arrow_row/variable/index.html                      |   2 +-
 .../flight_service_server/trait.FlightService.js   |   2 +-
 implementors/core/clone/trait.Clone.js             |   2 +-
 implementors/core/cmp/trait.Eq.js                  |   2 +-
 implementors/core/cmp/trait.Ord.js                 |   2 +-
 implementors/core/cmp/trait.PartialEq.js           |   2 +-
 implementors/core/cmp/trait.PartialOrd.js          |   2 +-
 implementors/core/convert/trait.AsRef.js           |   2 +-
 implementors/core/convert/trait.From.js            |   2 +-
 implementors/core/convert/trait.TryFrom.js         |   2 +-
 implementors/core/default/trait.Default.js         |   2 +-
 implementors/core/fmt/trait.Debug.js               |   2 +-
 implementors/core/fmt/trait.Display.js             |   2 +-
 implementors/core/hash/trait.Hash.js               |   2 +-
 .../core/iter/traits/iterator/trait.Iterator.js    |   2 +-
 implementors/core/marker/trait.Copy.js             |   2 +-
 implementors/core/marker/trait.StructuralEq.js     |   2 +-
 .../core/marker/trait.StructuralPartialEq.js       |   2 +-
 implementors/core/str/traits/trait.FromStr.js      |   2 +-
 implementors/std/io/trait.Write.js                 |   2 +-
 .../thrift/protocol/trait.TSerializable.js         |   2 +-
 .../selection/struct.RowSelection.html             |   2 +-
 .../arrow/arrow_reader/struct.RowSelection.html    |   2 +-
 .../record_reader/buffer/trait.ScalarValue.html    |   2 +-
 parquet/basic/enum.ColumnOrder.html                |   2 +-
 parquet/basic/enum.Encoding.html                   |   2 +-
 parquet/basic/enum.SortOrder.html                  |   2 +-
 .../data_type/private/trait.ParquetValueType.html  |  22 +--
 parquet/data_type/struct.ByteArray.html            |  16 +-
 parquet/data_type/struct.FixedLenByteArray.html    |  10 +-
 parquet/data_type/struct.Int96.html                |   2 +-
 parquet/data_type/trait.AsBytes.html               |   2 +-
 parquet/data_type/trait.SliceAsBytes.html          |   2 +-
 parquet/errors/enum.ParquetError.html              |   2 +-
 .../struct.SerializedFileReader.html               |   2 +-
 parquet/file/statistics/enum.Statistics.html       |   2 +-
 .../statistics/private/trait.MakeStatistics.html   |  10 +-
 parquet/format/struct.BoundaryOrder.html           |   2 +-
 parquet/format/struct.CompressionCodec.html        |   2 +-
 parquet/format/struct.ConvertedType.html           |   2 +-
 parquet/format/struct.Encoding.html                |   2 +-
 parquet/format/struct.FieldRepetitionType.html     |   2 +-
 parquet/format/struct.PageType.html                |   2 +-
 parquet/format/struct.Type.html                    |   2 +-
 parquet/record/api/struct.Row.html                 |   4 +-
 parquet/record/struct.Row.html                     |   4 +-
 parquet/schema/types/struct.ColumnPath.html        |   2 +-
 search-index.js                                    |   4 +-
 src/arrow_row/dictionary.rs.html                   |  22 +--
 src/arrow_row/fixed.rs.html                        |  22 +--
 src/arrow_row/lib.rs.html                          | 172 ++++++++++++++++++---
 src/arrow_row/list.rs.html                         |  10 +-
 src/arrow_row/variable.rs.html                     |  10 +-
 99 files changed, 449 insertions(+), 293 deletions(-)

diff --git a/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/fn.authenticate.html b/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/fn.authenticate.html
index 91b153bc9..6d18a273d 100644
--- a/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/fn.authenticate.html
+++ b/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/fn.authenticate.html
@@ -1,5 +1,5 @@
 <!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 `authenticate` fn in crate `arrow_integration_testing`."><title>authenticate in arrow_integration_testing::flight_client_scenarios::auth_basic_proto - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/Source [...]
-    client: &amp;mut <a class="struct" href="../../../arrow_flight/gen/flight_service_client/struct.FlightServiceClient.html" title="struct arrow_flight::gen::flight_service_client::FlightServiceClient">FlightServiceClient</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/transport/channel/struct.Channel.html" title="struct tonic::transport::channel::Channel">Channel</a>&gt;,
+    client: &amp;mut FlightServiceClient&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/transport/channel/struct.Channel.html" title="struct tonic::transport::channel::Channel">Channel</a>&gt;,
     username: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     password: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.E [...]
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/type.Client.html b/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/type.Client.html
index 453a4d63e..a058ac7d3 100644
--- a/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/type.Client.html
+++ b/arrow_integration_testing/flight_client_scenarios/auth_basic_proto/type.Client.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 `Client` type in crate `arrow_integration_testing`."><title>Client in arrow_integration_testing::flight_client_scenarios::auth_basic_proto - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Reg [...]
\ 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 `Client` type in crate `arrow_integration_testing`."><title>Client in arrow_integration_testing::flight_client_scenarios::auth_basic_proto - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Reg [...]
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.consume_flight_location.html b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.consume_flight_location.html
index 092408cb9..a8d2e13a3 100644
--- a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.consume_flight_location.html
+++ b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.consume_flight_location.html
@@ -1,5 +1,5 @@
 <!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 `consume_flight_location` fn in crate `arrow_integration_testing`."><title>consume_flight_location in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../ [...]
-    location: <a class="struct" href="../../../arrow_flight/gen/struct.Location.html" title="struct arrow_flight::gen::Location">Location</a>,
-    ticket: <a class="struct" href="../../../arrow_flight/gen/struct.Ticket.html" title="struct arrow_flight::gen::Ticket">Ticket</a>,
+    location: Location,
+    ticket: Ticket,
     expected_data: &amp;[<a class="struct" href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>]
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Er [...]
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_batch_flight_data.html b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_batch_flight_data.html
index 6e85a9abd..64e68a5fc 100644
--- a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_batch_flight_data.html
+++ b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_batch_flight_data.html
@@ -1,5 +1,5 @@
 <!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 `receive_batch_flight_data` fn in crate `arrow_integration_testing`."><title>receive_batch_flight_data in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href=".. [...]
-    resp: &amp;mut <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;,
+    resp: &amp;mut <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;,
     schema: <a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
     dictionaries_by_id: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>, <a class="type" href="../../../arrow_array/array/type.ArrayRef.html" title="type arrow_array::array::ArrayRef">ArrayRef</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;FlightData&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_schema_flight_data.html b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_schema_flight_data.html
index 19d668eec..2a729c96c 100644
--- a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_schema_flight_data.html
+++ b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.receive_schema_flight_data.html
@@ -1,3 +1,3 @@
 <!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 `receive_schema_flight_data` fn in crate `arrow_integration_testing`."><title>receive_schema_flight_data in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
-    resp: &amp;mut <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;
+    resp: &amp;mut <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">Schema</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.send_batch.html b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.send_batch.html
index 6f73b376d..a72fcb764 100644
--- a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.send_batch.html
+++ b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.send_batch.html
@@ -1,5 +1,5 @@
 <!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 `send_batch` fn in crate `arrow_integration_testing`."><title>send_batch in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSeri [...]
-    upload_tx: &amp;mut Sender&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;,
+    upload_tx: &amp;mut Sender&lt;FlightData&gt;,
     metadata: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
     batch: &amp;<a class="struct" href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>,
     options: &amp;<a class="struct" href="../../../arrow_ipc/writer/struct.IpcWriteOptions.html" title="struct arrow_ipc::writer::IpcWriteOptions">IpcWriteOptions</a>
diff --git a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.upload_data.html b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.upload_data.html
index 511d52424..2c4a9f3a0 100644
--- a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.upload_data.html
+++ b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.upload_data.html
@@ -1,6 +1,6 @@
 <!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 `upload_data` fn in crate `arrow_integration_testing`."><title>upload_data in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSe [...]
-    client: <a class="struct" href="../../../arrow_flight/gen/flight_service_client/struct.FlightServiceClient.html" title="struct arrow_flight::gen::flight_service_client::FlightServiceClient">FlightServiceClient</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/transport/channel/struct.Channel.html" title="struct tonic::transport::channel::Channel">Channel</a>&gt;,
+    client: FlightServiceClient&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/transport/channel/struct.Channel.html" title="struct tonic::transport::channel::Channel">Channel</a>&gt;,
     schema: <a class="type" href="../../../arrow_schema/schema/type.SchemaRef.html" title="type arrow_schema::schema::SchemaRef">SchemaRef</a>,
-    descriptor: <a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>,
+    descriptor: FlightDescriptor,
     original_data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>&gt;
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Er [...]
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.verify_data.html b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.verify_data.html
index 02b2e5107..047cee15a 100644
--- a/arrow_integration_testing/flight_client_scenarios/integration_test/fn.verify_data.html
+++ b/arrow_integration_testing/flight_client_scenarios/integration_test/fn.verify_data.html
@@ -1,5 +1,5 @@
 <!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 `verify_data` fn in crate `arrow_integration_testing`."><title>verify_data in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSe [...]
-    client: <a class="struct" href="../../../arrow_flight/gen/flight_service_client/struct.FlightServiceClient.html" title="struct arrow_flight::gen::flight_service_client::FlightServiceClient">FlightServiceClient</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/transport/channel/struct.Channel.html" title="struct tonic::transport::channel::Channel">Channel</a>&gt;,
-    descriptor: <a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>,
+    client: FlightServiceClient&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/transport/channel/struct.Channel.html" title="struct tonic::transport::channel::Channel">Channel</a>&gt;,
+    descriptor: FlightDescriptor,
     expected_data: &amp;[<a class="struct" href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct arrow_array::record_batch::RecordBatch">RecordBatch</a>]
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Er [...]
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_client_scenarios/integration_test/type.Client.html b/arrow_integration_testing/flight_client_scenarios/integration_test/type.Client.html
index 16880985c..227f14840 100644
--- a/arrow_integration_testing/flight_client_scenarios/integration_test/type.Client.html
+++ b/arrow_integration_testing/flight_client_scenarios/integration_test/type.Client.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 `Client` type in crate `arrow_integration_testing`."><title>Client in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Reg [...]
\ 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 `Client` type in crate `arrow_integration_testing`."><title>Client in arrow_integration_testing::flight_client_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Reg [...]
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_server_scenarios/auth_basic_proto/struct.AuthBasicProtoScenarioImpl.html b/arrow_integration_testing/flight_server_scenarios/auth_basic_proto/struct.AuthBasicProtoScenarioImpl.html
index 3ae6bbdd8..a281d5975 100644
--- a/arrow_integration_testing/flight_server_scenarios/auth_basic_proto/struct.AuthBasicProtoScenarioImpl.html
+++ b/arrow_integration_testing/flight_server_scenarios/auth_basic_proto/struct.AuthBasicProtoScenarioImpl.html
@@ -8,44 +8,44 @@
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.GrpcServerCallContext.html" title="struct arrow_integration_testing::flight_server_scenarios::auth_basic_proto::GrpcServerCallContext">GrpcServerCallContext</a>, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;</h4></section><secti [...]
     &amp;self,
     token: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.GrpcServerCallContext.html" title="struct arrow_integration_testing::flight_server_scenarios::auth_basic_proto::GrpcServerCallContext">GrpcServerCallContext</a>, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;</h4></section></div> [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.GrpcServerCallContext.html" title="struct arrow_integration_testing::flight_server_scenarios::auth_basic_proto::GrpcServerCallContext">GrpcServerCallContext</a>, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;</h4></section></div> [...]
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;FlightDescriptor&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>For a given FlightDescriptor, get the Schema as described in Schema.fbs::Schema
 This is used when a consumer needs the Schema of flight stream. Similar to
 GetFlightInfo this interface may generate a new flight that was not previously
-available in ListFlights.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_get" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#118-124">source</a><a href="#method.do_get" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_get" class="fn">do_get</a>&lt;'life0, [...]
+available in ListFlights.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_get" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#118-124">source</a><a href="#method.do_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_get</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Ticket.html" title="struct arrow_flight::gen::Ticket">Ticket</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Ticket&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Retrieve a single stream associated with a particular descriptor
 associated with the referenced ticket. A Flight can be composed of one or
 more streams where each stream can be retrieved using a separate opaque
-ticket that the flight service uses for managing a collection of streams.</div></details><details class="toggle method-toggle" open><summary><section id="method.handshake" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#126-173">source</a><a href="#method.handshake" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService. [...]
+ticket that the flight service uses for managing a collection of streams.</div></details><details class="toggle method-toggle" open><summary><section id="method.handshake" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#126-173">source</a><a href="#method.handshake" class="anchor">§</a><h4 class="code-header">fn <a class="fn">handshake</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.HandshakeRequest.html" title="struct arrow_flight::gen::HandshakeRequest">HandshakeRequest</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;HandshakeRequest&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Handshake between client and server. Depending on the server, the
 handshake may be required to determine the token that should be used for
 future operations. Both request and response are streams to allow multiple
-round-trips depending on auth mechanism.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_flights" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#175-181">source</a><a href="#method.list_flights" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.list_flights" [...]
+round-trips depending on auth mechanism.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_flights" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#175-181">source</a><a href="#method.list_flights" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_flights</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Criteria.html" title="struct arrow_flight::gen::Criteria">Criteria</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Criteria&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Get a list of available streams given a particular criteria. Most flight
 services will expose one or more streams that are readily available for
 retrieval. This api allows listing the streams available for
 consumption. A user can also provide a criteria. The criteria can limit
 the subset of streams that can be listed via this interface. Each flight
-service allows its own definition of how to consume criteria.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_flight_info" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#183-189">source</a><a href="#method.get_flight_info" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService. [...]
+service allows its own definition of how to consume criteria.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_flight_info" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#183-189">source</a><a href="#method.get_flight_info" class="anchor">§</a><h4 class="code-header">fn <a class="fn">get_flight_info</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;FlightDescriptor&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>For a given FlightDescriptor, get information about how the flight can be
 consumed. This is a useful interface if the consumer of the interface
@@ -56,37 +56,37 @@ includes a SQL statement or a Pickled Python operation that will be
 executed. In those cases, the descriptor will not be previously available
 within the list of available streams provided by ListFlights but will be
 available for consumption for the duration defined by the specific flight
-service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_put" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#191-198">source</a><a href="#method.do_put" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_put" class="fn">do_put</a>&lt;'life0, 'async_trait&gt;(
+service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_put" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#191-198">source</a><a href="#method.do_put" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_put</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Push a stream to the flight service associated with a particular
 flight stream. This allows a client of a flight service to upload a stream
 of data. Depending on the particular flight service, a client consumer
 could be allowed to upload a single stream per descriptor or an unlimited
 number. In the latter, the service might implement a ‘seal’ action that
-can be applied to a descriptor once all streams are uploaded.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_action" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#200-210">source</a><a href="#method.do_action" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymetho [...]
+can be applied to a descriptor once all streams are uploaded.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_action" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#200-210">source</a><a href="#method.do_action" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_action</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Action.html" title="struct arrow_flight::gen::Action">Action</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Action&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Flight services can support an arbitrary number of simple actions in
 addition to the possible ListFlights, GetFlightInfo, DoGet, DoPut
 operations that are potentially available. DoAction allows a flight client
 to do a specific action against a flight service. An action includes
 opaque request and response objects that are specific to the type action
-being undertaken.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_actions" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#212-218">source</a><a href="#method.list_actions" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.list_actions" class="fn">list_action [...]
+being undertaken.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_actions" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#212-218">source</a><a href="#method.list_actions" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_actions</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Empty.html" title="struct arrow_flight::gen::Empty">Empty</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Empty&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>A flight service exposes all of the available action types that it has
 along with descriptions. This allows different flight consumers to
-understand the capabilities of the flight service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_exchange" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#220-227">source</a><a href="#method.do_exchange" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_ex [...]
+understand the capabilities of the flight service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_exchange" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/auth_basic_proto.rs.html#220-227">source</a><a href="#method.do_exchange" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_exchange</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Open a bidirectional data channel for a given descriptor. This
 allows clients to send and receive arbitrary Arrow data and
diff --git a/arrow_integration_testing/flight_server_scenarios/fn.endpoint.html b/arrow_integration_testing/flight_server_scenarios/fn.endpoint.html
index c6b330069..8b5f3ce39 100644
--- a/arrow_integration_testing/flight_server_scenarios/fn.endpoint.html
+++ b/arrow_integration_testing/flight_server_scenarios/fn.endpoint.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 `endpoint` fn in crate `arrow_integration_testing`."><title>endpoint in arrow_integration_testing::flight_server_scenarios - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac52 [...]
\ 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 `endpoint` fn in crate `arrow_integration_testing`."><title>endpoint in arrow_integration_testing::flight_server_scenarios - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac52 [...]
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_server_scenarios/integration_test/fn.save_uploaded_chunks.html b/arrow_integration_testing/flight_server_scenarios/integration_test/fn.save_uploaded_chunks.html
index f36def6f0..ba4c86e4b 100644
--- a/arrow_integration_testing/flight_server_scenarios/integration_test/fn.save_uploaded_chunks.html
+++ b/arrow_integration_testing/flight_server_scenarios/integration_test/fn.save_uploaded_chunks.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="API documentation for the Rust `save_uploaded_chunks` fn in crate `arrow_integration_testing`."><title>save_uploaded_chunks in arrow_integration_testing::flight_server_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../sta [...]
     uploaded_chunks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Mutex&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href [...]
     schema_ref: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">Schema</a>&gt;,
-    input_stream: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;,
-    response_tx: Sender&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.PutResult.html" title="struct arrow_flight::gen::PutResult">PutResult</a>, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;&gt;,
+    input_stream: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;,
+    response_tx: Sender&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;PutResult, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;&gt;,
     schema: <a class="struct" href="../../../arrow_schema/schema/struct.Schema.html" title="struct arrow_schema::schema::Schema">Schema</a>,
     key: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_server_scenarios/integration_test/fn.send_app_metadata.html b/arrow_integration_testing/flight_server_scenarios/integration_test/fn.send_app_metadata.html
index 5b928cd59..576fb28bb 100644
--- a/arrow_integration_testing/flight_server_scenarios/integration_test/fn.send_app_metadata.html
+++ b/arrow_integration_testing/flight_server_scenarios/integration_test/fn.send_app_metadata.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 `send_app_metadata` fn in crate `arrow_integration_testing`."><title>send_app_metadata in arrow_integration_testing::flight_server_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.fi [...]
-    tx: &amp;mut Sender&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.PutResult.html" title="struct arrow_flight::gen::PutResult">PutResult</a>, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;&gt;,
+    tx: &amp;mut Sender&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;PutResult, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;&gt;,
     app_metadata: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/status/struct.Status.html" title="struct tonic::status::Status">Status</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_integration_testing/flight_server_scenarios/integration_test/struct.FlightServiceImpl.html b/arrow_integration_testing/flight_server_scenarios/integration_test/struct.FlightServiceImpl.html
index 7d52fbd05..69f0bef81 100644
--- a/arrow_integration_testing/flight_server_scenarios/integration_test/struct.FlightServiceImpl.html
+++ b/arrow_integration_testing/flight_server_scenarios/integration_test/struct.FlightServiceImpl.html
@@ -1,44 +1,44 @@
 <!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 `FlightServiceImpl` struct in crate `arrow_integration_testing`."><title>FlightServiceImpl in arrow_integration_testing::flight_server_scenarios::integration_test - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../stati [...]
     server_location: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
     uploaded_chunks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Mutex&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href [...]
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.server_location" class="structfield small-section-header"><a href="#structfield.server_location" class="anchor field">§</a><code>server_location: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><span id="structfield.uploaded_chunks" class="structfield [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.server_location" class="structfield small-section-header"><a href="#structfield.server_location" class="anchor field">§</a><code>server_location: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><span id="structfield.uploaded_chunks" class="structfield [...]
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;FlightDescriptor&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>For a given FlightDescriptor, get the Schema as described in Schema.fbs::Schema
 This is used when a consumer needs the Schema of flight stream. Similar to
 GetFlightInfo this interface may generate a new flight that was not previously
-available in ListFlights.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_get" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#99-149">source</a><a href="#method.do_get" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_get" class="fn">do_get</a>&lt;'life0,  [...]
+available in ListFlights.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_get" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#99-149">source</a><a href="#method.do_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_get</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Ticket.html" title="struct arrow_flight::gen::Ticket">Ticket</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Ticket&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Retrieve a single stream associated with a particular descriptor
 associated with the referenced ticket. A Flight can be composed of one or
 more streams where each stream can be retrieved using a separate opaque
-ticket that the flight service uses for managing a collection of streams.</div></details><details class="toggle method-toggle" open><summary><section id="method.handshake" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#151-156">source</a><a href="#method.handshake" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService. [...]
+ticket that the flight service uses for managing a collection of streams.</div></details><details class="toggle method-toggle" open><summary><section id="method.handshake" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#151-156">source</a><a href="#method.handshake" class="anchor">§</a><h4 class="code-header">fn <a class="fn">handshake</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.HandshakeRequest.html" title="struct arrow_flight::gen::HandshakeRequest">HandshakeRequest</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;HandshakeRequest&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Handshake between client and server. Depending on the server, the
 handshake may be required to determine the token that should be used for
 future operations. Both request and response are streams to allow multiple
-round-trips depending on auth mechanism.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_flights" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#158-163">source</a><a href="#method.list_flights" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.list_flights" [...]
+round-trips depending on auth mechanism.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_flights" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#158-163">source</a><a href="#method.list_flights" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_flights</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Criteria.html" title="struct arrow_flight::gen::Criteria">Criteria</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Criteria&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Get a list of available streams given a particular criteria. Most flight
 services will expose one or more streams that are readily available for
 retrieval. This api allows listing the streams available for
 consumption. A user can also provide a criteria. The criteria can limit
 the subset of streams that can be listed via this interface. Each flight
-service allows its own definition of how to consume criteria.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_flight_info" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#165-210">source</a><a href="#method.get_flight_info" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService. [...]
+service allows its own definition of how to consume criteria.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_flight_info" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#165-210">source</a><a href="#method.get_flight_info" class="anchor">§</a><h4 class="code-header">fn <a class="fn">get_flight_info</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;FlightDescriptor&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>For a given FlightDescriptor, get information about how the flight can be
 consumed. This is a useful interface if the consumer of the interface
@@ -49,37 +49,37 @@ includes a SQL statement or a Pickled Python operation that will be
 executed. In those cases, the descriptor will not be previously available
 within the list of available streams provided by ListFlights but will be
 available for consumption for the duration defined by the specific flight
-service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_put" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#212-259">source</a><a href="#method.do_put" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_put" class="fn">do_put</a>&lt;'life0, 'async_trait&gt;(
+service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_put" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#212-259">source</a><a href="#method.do_put" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_put</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Push a stream to the flight service associated with a particular
 flight stream. This allows a client of a flight service to upload a stream
 of data. Depending on the particular flight service, a client consumer
 could be allowed to upload a single stream per descriptor or an unlimited
 number. In the latter, the service might implement a ‘seal’ action that
-can be applied to a descriptor once all streams are uploaded.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_action" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#261-266">source</a><a href="#method.do_action" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymetho [...]
+can be applied to a descriptor once all streams are uploaded.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_action" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#261-266">source</a><a href="#method.do_action" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_action</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Action.html" title="struct arrow_flight::gen::Action">Action</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Action&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Flight services can support an arbitrary number of simple actions in
 addition to the possible ListFlights, GetFlightInfo, DoGet, DoPut
 operations that are potentially available. DoAction allows a flight client
 to do a specific action against a flight service. An action includes
 opaque request and response objects that are specific to the type action
-being undertaken.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_actions" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#268-273">source</a><a href="#method.list_actions" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.list_actions" class="fn">list_action [...]
+being undertaken.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_actions" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#268-273">source</a><a href="#method.list_actions" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_actions</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Empty.html" title="struct arrow_flight::gen::Empty">Empty</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Empty&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>A flight service exposes all of the available action types that it has
 along with descriptions. This allows different flight consumers to
-understand the capabilities of the flight service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_exchange" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#275-280">source</a><a href="#method.do_exchange" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_ex [...]
+understand the capabilities of the flight service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_exchange" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/integration_test.rs.html#275-280">source</a><a href="#method.do_exchange" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_exchange</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Open a bidirectional data channel for a given descriptor. This
 allows clients to send and receive arbitrary Arrow data and
diff --git a/arrow_integration_testing/flight_server_scenarios/middleware/struct.MiddlewareScenarioImpl.html b/arrow_integration_testing/flight_server_scenarios/middleware/struct.MiddlewareScenarioImpl.html
index a5f186fd3..dc0a7f104 100644
--- a/arrow_integration_testing/flight_server_scenarios/middleware/struct.MiddlewareScenarioImpl.html
+++ b/arrow_integration_testing/flight_server_scenarios/middleware/struct.MiddlewareScenarioImpl.html
@@ -1,41 +1,41 @@
-<!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 `MiddlewareScenarioImpl` struct in crate `arrow_integration_testing`."><title>MiddlewareScenarioImpl in arrow_integration_testing::flight_server_scenarios::middleware - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../s [...]
+<!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 `MiddlewareScenarioImpl` struct in crate `arrow_integration_testing`."><title>MiddlewareScenarioImpl in arrow_integration_testing::flight_server_scenarios::middleware - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../s [...]
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;FlightDescriptor&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>For a given FlightDescriptor, get the Schema as described in Schema.fbs::Schema
 This is used when a consumer needs the Schema of flight stream. Similar to
 GetFlightInfo this interface may generate a new flight that was not previously
-available in ListFlights.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_get" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#67-72">source</a><a href="#method.do_get" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_get" class="fn">do_get</a>&lt;'life0, 'async_ [...]
+available in ListFlights.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_get" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#67-72">source</a><a href="#method.do_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_get</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Ticket.html" title="struct arrow_flight::gen::Ticket">Ticket</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Ticket&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Retrieve a single stream associated with a particular descriptor
 associated with the referenced ticket. A Flight can be composed of one or
 more streams where each stream can be retrieved using a separate opaque
-ticket that the flight service uses for managing a collection of streams.</div></details><details class="toggle method-toggle" open><summary><section id="method.handshake" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#74-79">source</a><a href="#method.handshake" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tym [...]
+ticket that the flight service uses for managing a collection of streams.</div></details><details class="toggle method-toggle" open><summary><section id="method.handshake" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#74-79">source</a><a href="#method.handshake" class="anchor">§</a><h4 class="code-header">fn <a class="fn">handshake</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.HandshakeRequest.html" title="struct arrow_flight::gen::HandshakeRequest">HandshakeRequest</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;HandshakeRequest&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Handshake between client and server. Depending on the server, the
 handshake may be required to determine the token that should be used for
 future operations. Both request and response are streams to allow multiple
-round-trips depending on auth mechanism.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_flights" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#81-86">source</a><a href="#method.list_flights" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.list_flights" class=" [...]
+round-trips depending on auth mechanism.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_flights" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#81-86">source</a><a href="#method.list_flights" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_flights</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Criteria.html" title="struct arrow_flight::gen::Criteria">Criteria</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Criteria&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Get a list of available streams given a particular criteria. Most flight
 services will expose one or more streams that are readily available for
 retrieval. This api allows listing the streams available for
 consumption. A user can also provide a criteria. The criteria can limit
 the subset of streams that can be listed via this interface. Each flight
-service allows its own definition of how to consume criteria.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_flight_info" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#88-122">source</a><a href="#method.get_flight_info" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#ty [...]
+service allows its own definition of how to consume criteria.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_flight_info" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#88-122">source</a><a href="#method.get_flight_info" class="anchor">§</a><h4 class="code-header">fn <a class="fn">get_flight_info</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightDescriptor.html" title="struct arrow_flight::gen::FlightDescriptor">FlightDescriptor</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;FlightDescriptor&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>For a given FlightDescriptor, get information about how the flight can be
 consumed. This is a useful interface if the consumer of the interface
@@ -46,37 +46,37 @@ includes a SQL statement or a Pickled Python operation that will be
 executed. In those cases, the descriptor will not be previously available
 within the list of available streams provided by ListFlights but will be
 available for consumption for the duration defined by the specific flight
-service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_put" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#124-129">source</a><a href="#method.do_put" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_put" class="fn">do_put</a>&lt;'life0, 'async_trait&gt;(
+service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_put" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#124-129">source</a><a href="#method.do_put" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_put</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Push a stream to the flight service associated with a particular
 flight stream. This allows a client of a flight service to upload a stream
 of data. Depending on the particular flight service, a client consumer
 could be allowed to upload a single stream per descriptor or an unlimited
 number. In the latter, the service might implement a ‘seal’ action that
-can be applied to a descriptor once all streams are uploaded.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_action" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#131-136">source</a><a href="#method.do_action" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_a [...]
+can be applied to a descriptor once all streams are uploaded.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_action" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#131-136">source</a><a href="#method.do_action" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_action</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Action.html" title="struct arrow_flight::gen::Action">Action</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Action&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Flight services can support an arbitrary number of simple actions in
 addition to the possible ListFlights, GetFlightInfo, DoGet, DoPut
 operations that are potentially available. DoAction allows a flight client
 to do a specific action against a flight service. An action includes
 opaque request and response objects that are specific to the type action
-being undertaken.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_actions" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#138-143">source</a><a href="#method.list_actions" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.list_actions" class="fn">list_actions</a>& [...]
+being undertaken.</div></details><details class="toggle method-toggle" open><summary><section id="method.list_actions" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#138-143">source</a><a href="#method.list_actions" class="anchor">§</a><h4 class="code-header">fn <a class="fn">list_actions</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.Empty.html" title="struct arrow_flight::gen::Empty">Empty</a>&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;Empty&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>A flight service exposes all of the available action types that it has
 along with descriptions. This allows different flight consumers to
-understand the capabilities of the flight service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_exchange" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#145-150">source</a><a href="#method.do_exchange" class="anchor">§</a><h4 class="code-header">fn <a href="../../../arrow_flight/gen/flight_service_server/trait.FlightService.html#tymethod.do_exchange [...]
+understand the capabilities of the flight service.</div></details><details class="toggle method-toggle" open><summary><section id="method.do_exchange" class="method trait-impl"><a class="srclink rightside" href="../../../src/arrow_integration_testing/flight_server_scenarios/middleware.rs.html#145-150">source</a><a href="#method.do_exchange" class="anchor">§</a><h4 class="code-header">fn <a class="fn">do_exchange</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 self,
-    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;<a class="struct" href="../../../arrow_flight/gen/struct.FlightData.html" title="struct arrow_flight::gen::FlightData">FlightData</a>&gt;&gt;
-) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
+    _request: <a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/request/struct.Request.html" title="struct tonic::request::Request">Request</a>&lt;<a class="struct" href="https://docs.rs/tonic/0.9.2/tonic/codec/decode/struct.Streaming.html" title="struct tonic::codec::decode::Streaming">Streaming</a>&lt;FlightData&gt;&gt;
+) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/re [...]
     Self: 'async_trait,
     'life0: 'async_trait,</span></h4></section></summary><div class='docblock'>Open a bidirectional data channel for a given descriptor. This
 allows clients to send and receive arbitrary Arrow data and
diff --git a/arrow_row/dictionary/fn.encode_dictionary.html b/arrow_row/dictionary/fn.encode_dictionary.html
index 60d961d4b..e24ca85ab 100644
--- a/arrow_row/dictionary/fn.encode_dictionary.html
+++ b/arrow_row/dictionary/fn.encode_dictionary.html
@@ -1,5 +1,6 @@
-<!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="Dictionary types are encoded as"><title>encode_dictionary in arrow_row::dictionary - 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" crossorig [...]
-    out: &amp;mut <a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</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="Dictionary types are encoded as"><title>encode_dictionary in arrow_row::dictionary - 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" crossorig [...]
+    data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
+    offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     column: &amp;DictionaryArray&lt;K&gt;,
     normalized_keys: &amp;[<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;],
     opts: SortOptions
diff --git a/arrow_row/dictionary/fn.encode_dictionary_values.html b/arrow_row/dictionary/fn.encode_dictionary_values.html
index 2a6e48b8c..50f639568 100644
--- a/arrow_row/dictionary/fn.encode_dictionary_values.html
+++ b/arrow_row/dictionary/fn.encode_dictionary_values.html
@@ -1,5 +1,6 @@
-<!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="Encode dictionary values not preserving the dictionary encoding"><title>encode_dictionary_values in arrow_row::dictionary - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
-    out: &amp;mut <a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</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="Encode dictionary values not preserving the dictionary encoding"><title>encode_dictionary_values in arrow_row::dictionary - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
+    data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
+    offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     column: &amp;DictionaryArray&lt;K&gt;,
     values: &amp;<a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</a>,
     null: &amp;<a class="struct" href="../struct.Row.html" title="struct arrow_row::Row">Row</a>&lt;'_&gt;
diff --git a/arrow_row/fixed/fn.decode_bool.html b/arrow_row/fixed/fn.decode_bool.html
index f6a3b7830..426344812 100644
--- a/arrow_row/fixed/fn.decode_bool.html
+++ b/arrow_row/fixed/fn.decode_bool.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="Decodes a `BooleanArray` from rows"><title>decode_bool in arrow_row::fixed - 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" crossorigin href= [...]
+<!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 `BooleanArray` from rows"><title>decode_bool in arrow_row::fixed - 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" crossorigin href= [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/fixed/fn.decode_fixed.html b/arrow_row/fixed/fn.decode_fixed.html
index 7fd7f094f..6fb4ab317 100644
--- a/arrow_row/fixed/fn.decode_fixed.html
+++ b/arrow_row/fixed/fn.decode_fixed.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 `ArrayData` from rows based on the provided `FixedLengthEncoding` `T`"><title>decode_fixed in arrow_row::fixed - 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="Decodes a `ArrayData` from rows based on the provided `FixedLengthEncoding` `T`"><title>decode_fixed in arrow_row::fixed - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" [...]
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     data_type: DataType,
     options: SortOptions
diff --git a/arrow_row/fixed/fn.decode_fixed_size_binary.html b/arrow_row/fixed/fn.decode_fixed_size_binary.html
index 6795af239..00f8375b6 100644
--- a/arrow_row/fixed/fn.decode_fixed_size_binary.html
+++ b/arrow_row/fixed/fn.decode_fixed_size_binary.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 `FixedLengthBinary` from rows"><title>decode_fixed_size_binary in arrow_row::fixed - 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" [...]
+<!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 `FixedLengthBinary` from rows"><title>decode_fixed_size_binary in arrow_row::fixed - 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" [...]
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>,
     options: SortOptions
diff --git a/arrow_row/fixed/fn.decode_nulls.html b/arrow_row/fixed/fn.decode_nulls.html
index c2b13f7e3..e658c0534 100644
--- a/arrow_row/fixed/fn.decode_nulls.html
+++ b/arrow_row/fixed/fn.decode_nulls.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 single byte from each row, interpreting `0x01` as a valid value and all other values as a null"><title>decode_nulls in arrow_row::fixed - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.w [...]
+<!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 single byte from each row, interpreting `0x01` as a valid value and all other values as a null"><title>decode_nulls in arrow_row::fixed - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.w [...]
 and all other values as a null</p>
 <p>Returns the null count and null buffer</p>
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/fixed/fn.decode_primitive.html b/arrow_row/fixed/fn.decode_primitive.html
index d9de4e3be..f9ccef3b0 100644
--- a/arrow_row/fixed/fn.decode_primitive.html
+++ b/arrow_row/fixed/fn.decode_primitive.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 `PrimitiveArray` from rows"><title>decode_primitive in arrow_row::fixed - 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" crossorigi [...]
+<!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 `PrimitiveArray` from rows"><title>decode_primitive in arrow_row::fixed - 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" crossorigi [...]
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     data_type: DataType,
     options: SortOptions
diff --git a/arrow_row/fixed/fn.encode.html b/arrow_row/fixed/fn.encode.html
index 58bcaa946..2354dc91a 100644
--- a/arrow_row/fixed/fn.encode.html
+++ b/arrow_row/fixed/fn.encode.html
@@ -1,5 +1,6 @@
-<!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="Fixed width types are encoded as"><title>encode in arrow_row::fixed - 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" crossorigin href="../../ [...]
-    out: &amp;mut <a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</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="Fixed width types are encoded as"><title>encode in arrow_row::fixed - 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" crossorigin href="../../ [...]
+    data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
+    offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     i: I,
     opts: SortOptions
 )</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Fixed width types are encoded as</p>
diff --git a/arrow_row/fixed/fn.encode_fixed_size_binary.html b/arrow_row/fixed/fn.encode_fixed_size_binary.html
index 8e03a32f2..5168d9a45 100644
--- a/arrow_row/fixed/fn.encode_fixed_size_binary.html
+++ b/arrow_row/fixed/fn.encode_fixed_size_binary.html
@@ -1,5 +1,6 @@
-<!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 `encode_fixed_size_binary` fn in crate `arrow_row`."><title>encode_fixed_size_binary in arrow_row::fixed - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><lin [...]
-    out: &amp;mut <a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</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 `encode_fixed_size_binary` fn in crate `arrow_row`."><title>encode_fixed_size_binary in arrow_row::fixed - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><lin [...]
+    data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
+    offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     array: &amp;FixedSizeBinaryArray,
     opts: SortOptions
 )</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/fixed/fn.split_off.html b/arrow_row/fixed/fn.split_off.html
index 2f4f933b9..8c6687bc0 100644
--- a/arrow_row/fixed/fn.split_off.html
+++ b/arrow_row/fixed/fn.split_off.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="Splits `len` bytes from `src`"><title>split_off in arrow_row::fixed - 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" crossorigin href="../../ [...]
+<!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="Splits `len` bytes from `src`"><title>split_off in arrow_row::fixed - 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" crossorigin href="../../ [...]
 </div></details><script type="text/json" id="notable-traits-data">{"&'a [u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><span class=\"where fmt-newline\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\" [...]
\ No newline at end of file
diff --git a/arrow_row/fixed/index.html b/arrow_row/fixed/index.html
index 0ca88aee6..c10f1ad53 100644
--- a/arrow_row/fixed/index.html
+++ b/arrow_row/fixed/index.html
@@ -1,3 +1,3 @@
-<!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 `fixed` mod in crate `arrow_row`."><title>arrow_row::fixed - 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" cr [...]
+<!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 `fixed` mod in crate `arrow_row`."><title>arrow_row::fixed - 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" cr [...]
 described on <a href="../struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>super::RowConverter</code></a></div></li><li><div class="item-name"><a class="trait" href="trait.FromSlice.html" title="trait arrow_row::fixed::FromSlice">FromSlice</a></div></li></ul><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.decode_bool.html" title="fn arrow_row::fixed::decode [...]
 and all other values as a null</div></li><li><div class="item-name"><a class="fn" href="fn.decode_primitive.html" title="fn arrow_row::fixed::decode_primitive">decode_primitive</a></div><div class="desc docblock-short">Decodes a <code>PrimitiveArray</code> from rows</div></li><li><div class="item-name"><a class="fn" href="fn.encode.html" title="fn arrow_row::fixed::encode">encode</a></div><div class="desc docblock-short">Fixed width types are encoded as</div></li><li><div class="item-nam [...]
\ No newline at end of file
diff --git a/arrow_row/fn.decode_column.html b/arrow_row/fn.decode_column.html
index 1c5694099..d285627df 100644
--- a/arrow_row/fn.decode_column.html
+++ b/arrow_row/fn.decode_column.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 the provided `field` from `rows`"><title>decode_column in arrow_row - 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" crossorigin href= [...]
+<!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 the provided `field` from `rows`"><title>decode_column in arrow_row - 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" crossorigin href= [...]
     field: &amp;<a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">SortField</a>,
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     codec: &amp;<a class="enum" href="enum.Codec.html" title="enum arrow_row::Codec">Codec</a>,
diff --git a/arrow_row/fn.encode_column.html b/arrow_row/fn.encode_column.html
index 7984d438f..bb5054b27 100644
--- a/arrow_row/fn.encode_column.html
+++ b/arrow_row/fn.encode_column.html
@@ -1,5 +1,6 @@
-<!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="Encodes a column to the provided `Rows` incrementing the offsets as it progresses"><title>encode_column in arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="fo [...]
-    out: &amp;mut <a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</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="Encodes a column to the provided `Rows` incrementing the offsets as it progresses"><title>encode_column in arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="fo [...]
+    data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
+    offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     column: &amp;dyn Array,
     opts: SortOptions,
     encoder: &amp;<a class="enum" href="enum.Encoder.html" title="enum arrow_row::Encoder">Encoder</a>&lt;'_&gt;
diff --git a/arrow_row/fn.new_empty_rows.html b/arrow_row/fn.new_empty_rows.html
index 6f07916f2..962a186c5 100644
--- a/arrow_row/fn.new_empty_rows.html
+++ b/arrow_row/fn.new_empty_rows.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="Computes the length of each encoded `Rows` and returns an empty `Rows`"><title>new_empty_rows in arrow_row - 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="Computes the length of each encoded `Rows` and returns an empty `Rows`"><title>new_empty_rows in arrow_row - 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=" [...]
     cols: &amp;[ArrayRef],
     encoders: &amp;[<a class="enum" href="enum.Encoder.html" title="enum arrow_row::Encoder">Encoder</a>&lt;'_&gt;],
     config: <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a>
diff --git a/arrow_row/fn.null_sentinel.html b/arrow_row/fn.null_sentinel.html
index 4cfbe248b..c8100df2b 100644
--- a/arrow_row/fn.null_sentinel.html
+++ b/arrow_row/fn.null_sentinel.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 the null sentinel, negated if `invert` is true"><title>null_sentinel in arrow_row - 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" cross [...]
+<!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 the null sentinel, negated if `invert` is true"><title>null_sentinel in arrow_row - 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" cross [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/index.html b/arrow_row/index.html
index 6439804fe..34b0d4ca2 100644
--- a/arrow_row/index.html
+++ b/arrow_row/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="A comparable row-oriented representation of a collection of `Array`."><title>arrow_row - 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" crossori [...]
+<!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 comparable row-oriented representation of a collection of `Array`."><title>arrow_row - 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" crossori [...]
 <p><a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a>s are <a href="https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.1080&amp;rep=rep1&amp;type=pdf">normalized for sorting</a>, and can therefore be very efficiently <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">compared</a>,
 using <a href="https://www.man7.org/linux/man-pages/man3/memcmp.3.html"><code>memcmp</code></a> under the hood, or used in <a href="https://en.wikipedia.org/wiki/Sorting_algorithm#Non-comparison_sorts">non-comparison sorts</a> such as <a href="https://en.wikipedia.org/wiki/Radix_sort">radix sort</a>.
 This makes the row format ideal for implementing efficient multi-column sorting,
diff --git a/arrow_row/list/fn.encode.html b/arrow_row/list/fn.encode.html
index 538cf1c7c..fb92d126f 100644
--- a/arrow_row/list/fn.encode.html
+++ b/arrow_row/list/fn.encode.html
@@ -1,5 +1,6 @@
 <!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="Encodes the provided `GenericListArray` to `out` with the provided `SortOptions`"><title>encode in arrow_row::list - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="f [...]
-    out: &amp;mut <a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</a>,
+    data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
+    offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     rows: &amp;<a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</a>,
     opts: SortOptions,
     array: &amp;GenericListArray&lt;O&gt;
diff --git a/arrow_row/macro.decode_dictionary_helper.html b/arrow_row/macro.decode_dictionary_helper.html
index d9dddef36..eb194a573 100644
--- a/arrow_row/macro.decode_dictionary_helper.html
+++ b/arrow_row/macro.decode_dictionary_helper.html
@@ -1,3 +1,3 @@
-<!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 `decode_dictionary_helper` macro in crate `arrow_row`."><title>decode_dictionary_helper in arrow_row - 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="API documentation for the Rust `decode_dictionary_helper` macro in crate `arrow_row`."><title>decode_dictionary_helper in arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel=" [...]
     (<span class="macro-nonterminal">$t</span>:ty, <span class="macro-nonterminal">$interner</span>:ident, <span class="macro-nonterminal">$v</span>:ident, <span class="macro-nonterminal">$options</span>:ident, <span class="macro-nonterminal">$rows</span>:ident) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/macro.decode_primitive_helper.html b/arrow_row/macro.decode_primitive_helper.html
index 8d79c4c89..046dc4d41 100644
--- a/arrow_row/macro.decode_primitive_helper.html
+++ b/arrow_row/macro.decode_primitive_helper.html
@@ -1,3 +1,3 @@
-<!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 `decode_primitive_helper` macro in crate `arrow_row`."><title>decode_primitive_helper in arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pr [...]
+<!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 `decode_primitive_helper` macro in crate `arrow_row`."><title>decode_primitive_helper in arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pr [...]
     (<span class="macro-nonterminal">$t</span>:ty, <span class="macro-nonterminal">$rows</span>:ident, <span class="macro-nonterminal">$data_type</span>:ident, <span class="macro-nonterminal">$options</span>:ident) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/struct.OwnedRow.html b/arrow_row/struct.OwnedRow.html
index b808f6f25..037faaee2 100644
--- a/arrow_row/struct.OwnedRow.html
+++ b/arrow_row/struct.OwnedRow.html
@@ -1,20 +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="Owned version of a `Row` that can be moved/cloned freely."><title>OwnedRow in arrow_row - 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="Owned version of a `Row` that can be moved/cloned freely."><title>OwnedRow in arrow_row - 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 [...]
     pub(crate) data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,
     pub(crate) config: <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Owned version of a <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a> that can be moved/cloned freely.</p>
 <p>This contains the data for the one specific row (not the entire buffer of all rows).</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield small-section-header"><a href="#structfield.data" class="anchor field">§</a><code>data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;</code></span [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield small-section-header"><a href="#structfield.data" class="anchor field">§</a><code>data: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;</code></span [...]
 <p>This is helpful if you want to compare an <a href="struct.OwnedRow.html" title="struct arrow_row::OwnedRow"><code>OwnedRow</code></a> with a <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a>.</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-AsRef%3C%5Bu8%5D%3E-for-OwnedRow" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1043-1048">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-OwnedRow" class="anchor">§</a>< [...]
+</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-AsRef%3C%5Bu8%5D%3E-for-OwnedRow" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1102-1107">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-OwnedRow" class="anchor">§</a>< [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
+    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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
     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'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" 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> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;Self&gt;,</span></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></d [...]
+    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/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;Self&gt;,</span></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></d [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3COwnedRow%3E-for-OwnedRow" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1022-1027">source</a><a href="#impl-PartialOrd%3COwnedRow%3E-for-OwnedRow" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Partia [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3COwnedRow%3E-for-OwnedRow" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1081-1086">source</a><a href="#impl-PartialOrd%3COwnedRow%3E-for-OwnedRow" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Partia [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1100">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header" [...]
-operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Eq-for-OwnedRow" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1020">source</a><a href="#impl-Eq-for-OwnedRow" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href= [...]
+operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Eq-for-OwnedRow" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1079">source</a><a href="#impl-Eq-for-OwnedRow" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href= [...]
     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="srclink 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 [...]
     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="srclink 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="ht [...]
     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="srclink 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  [...]
diff --git a/arrow_row/struct.Row.html b/arrow_row/struct.Row.html
index 64232f95f..912a14f03 100644
--- a/arrow_row/struct.Row.html
+++ b/arrow_row/struct.Row.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 comparable representation of a row."><title>Row in arrow_row - 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" crossorigin href="../static.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="A comparable representation of a row."><title>Row in arrow_row - 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" crossorigin href="../static.file [...]
     pub(crate) data: &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
     pub(crate) config: &amp;'a <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A comparable representation of a row.</p>
@@ -7,17 +7,17 @@
 returned by calls to <a href="struct.RowConverter.html#method.convert_columns" title="method arrow_row::RowConverter::convert_columns"><code>RowConverter::convert_columns</code></a> on the same
 <a href="struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>RowConverter</code></a>. If different <a href="struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>RowConverter</code></a>s are used, any
 ordering established by comparing the <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a> is arbitrary.</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield small-section-header"><a href="#structfield.data" class="anchor field">§</a><code>data: &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</code></span><span id="structfield.config" class="structfield small-section-header"><a href="#structfield.config" class="anchor field">§</a [...]
-</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-AsRef%3C%5Bu8%5D%3E-for-Row%3C'a%3E" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#983-988">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-Row%3C'a%3E" class="anchor">§< [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield small-section-header"><a href="#structfield.data" class="anchor field">§</a><code>data: &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</code></span><span id="structfield.config" class="structfield small-section-header"><a href="#structfield.config" class="anchor field">§</a [...]
+</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-AsRef%3C%5Bu8%5D%3E-for-Row%3C'a%3E" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1042-1047">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-Row%3C'a%3E" class="anchor"> [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
+    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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
     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'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" 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> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;Self&gt;,</span></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></d [...]
+    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/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;Self&gt;,</span></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></d [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CRow%3C'a%3E%3E-for-Row%3C'a%3E" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#962-967">source</a><a href="#impl-PartialOrd%3CRow%3C'a%3E%3E-for-Row%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/c [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CRow%3C'a%3E%3E-for-Row%3C'a%3E" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#1021-1026">source</a><a href="#impl-PartialOrd%3CRow%3C'a%3E%3E-for-Row%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1100">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header" [...]
-operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Copy-for-Row%3C'a%3E" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#935">source</a><a href="#impl-Copy-for-Row%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy< [...]
+operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Copy-for-Row%3C'a%3E" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#994">source</a><a href="#impl-Copy-for-Row%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy< [...]
     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="srclink 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 [...]
     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="srclink 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="ht [...]
     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="srclink 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  [...]
diff --git a/arrow_row/struct.RowConfig.html b/arrow_row/struct.RowConfig.html
index 3fd0ff65b..f85d2065e 100644
--- a/arrow_row/struct.RowConfig.html
+++ b/arrow_row/struct.RowConfig.html
@@ -1,10 +1,10 @@
-<!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 config of a given set of `Row`"><title>RowConfig in arrow_row - 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" 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="The config of a given set of `Row`"><title>RowConfig in arrow_row - 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" crossorigin href="../static.f [...]
     pub(crate) fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;[<a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">SortField</a>]&gt;,
     pub(crate) validate_utf8: <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>The config of a given set of <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a></p>
 </div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield small-section-header"><a href="#structfield.fields" class="anchor field">§</a><code>fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;[<a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">SortField</a>]&gt;</c [...]
 </div><span id="structfield.validate_utf8" class="structfield small-section-header"><a href="#structfield.validate_utf8" class="anchor field">§</a><code>validate_utf8: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Whether to run UTF-8 validation when converting to arrow arrays</p>
-</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-RowConfig" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#821">source</a><a href="#impl-Clone-for-RowConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.r [...]
+</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-RowConfig" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#869">source</a><a href="#impl-Clone-for-RowConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.r [...]
     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="srclink 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 [...]
     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="srclink 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="ht [...]
     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="srclink 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  [...]
diff --git a/arrow_row/struct.RowConverter.html b/arrow_row/struct.RowConverter.html
index be9026add..028217ea8 100644
--- a/arrow_row/struct.RowConverter.html
+++ b/arrow_row/struct.RowConverter.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="Converts `ArrayRef` columns into a row-oriented format."><title>RowConverter in arrow_row - 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" cross [...]
+<!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="Converts `ArrayRef` columns into a row-oriented format."><title>RowConverter in arrow_row - 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" cross [...]
     pub(crate) fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;[<a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">SortField</a>]&gt;,
     pub(crate) codecs: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.Codec.html" title="enum arrow_row::Codec">Codec</a>&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Converts [<code>ArrayRef</code>] columns into a <a href="index.html" title="mod arrow_row">row-oriented</a> format.</p>
@@ -187,28 +187,46 @@ nulls as <code>0xFF_u8</code> instead of <code>0_u8</code></p>
 <h3 id="reverse-column-ordering"><a href="#reverse-column-ordering">Reverse Column Ordering</a></h3>
 <p>The order of a given column can be reversed by negating the encoded bytes of non-null values</p>
 </div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield small-section-header"><a href="#structfield.fields" class="anchor field">§</a><code>fields: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;[<a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">SortField</a>]&gt;</c [...]
-</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-RowConverter" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#641-790">source</a><a href="#impl-RowConverter" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RowConverter.html" title="struct arrow_ [...]
+</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-RowConverter" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#641-838">source</a><a href="#impl-RowConverter" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RowConverter.html" title="struct arrow_ [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.supports_fields" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#658-660">source</a><h4 class="code-header">pub fn <a href="#method.supports_fields" class="fn">supports_fields</a>(fields: &amp;[<a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">SortField</a>]) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive [...]
-</div></details><section id="method.supports_datatype" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#662-673">source</a><h4 class="code-header">pub(crate) fn <a href="#method.supports_datatype" class="fn">supports_datatype</a>(d: &amp;DataType) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.convert_columns" class="met [...]
+</div></details><section id="method.supports_datatype" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#662-673">source</a><h4 class="code-header">pub(crate) fn <a href="#method.supports_datatype" class="fn">supports_datatype</a>(d: &amp;DataType) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.convert_columns" class="met [...]
     &amp;mut self,
     columns: &amp;[ArrayRef]
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Convert [<code>ArrayRef</code>] columns into <a href="struct.Rows.html" title="struct arrow_row::Rows"><code>Rows</code></a></p>
 <p>See <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a> for information on when <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a> can be compared</p>
 <h5 id="panics"><a href="#panics">Panics</a></h5>
 <p>Panics if the schema of <code>columns</code> does not match that provided to <a href="struct.RowConverter.html#method.new" title="associated function arrow_row::RowConverter::new"><code>RowConverter::new</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.convert_rows" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#736-757">source</a><h4 class="code-header">pub fn <a href="#method.convert_rows" class="fn">convert_rows</a>&lt;'a, I&gt;(&amp;self, rows: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.convert_rows" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#742-763">source</a><h4 class="code-header">pub fn <a href="#method.convert_rows" class="fn">convert_rows</a>&lt;'a, I&gt;(&amp;self, rows: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https [...]
     I: <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>&lt;Item = <a class="struct" href="struct.Row.html" title="struct arrow_row::Row">Row</a>&lt;'a&gt;&gt;,</span></h4></section></summary><div class="docblock"><p>Convert <a href="struct.Rows.html" title="struct arrow_row::Rows"><code>Rows</code></a> columns into [<code>ArrayRef</code>]</p>
 <h5 id="panics-1"><a href="#panics-1">Panics</a></h5>
 <p>Panics if the rows were not produced by this <a href="struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>RowConverter</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.convert_raw" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#764-774">source</a><h4 class="code-header">pub(crate) unsafe fn <a href="#method.convert_raw" class="fn">convert_raw</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.empty_rows" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#793-805">source</a><h4 class="code-header">pub fn <a href="#method.empty_rows" class="fn">empty_rows</a>(&amp;self, row_capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, data_capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primi [...]
+a total length of <code>data_capacity</code></p>
+<p>This can be used to buffer a selection of <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a></p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>converter = RowConverter::new(<span class="macro">vec!</span>[SortField::new(DataType::Utf8)]).unwrap();
+<span class="kw">let </span>array = StringArray::from(<span class="macro">vec!</span>[<span class="string">&quot;hello&quot;</span>, <span class="string">&quot;world&quot;</span>, <span class="string">&quot;a&quot;</span>, <span class="string">&quot;a&quot;</span>, <span class="string">&quot;hello&quot;</span>]);
+
+<span class="comment">// Convert to row format and deduplicate
+</span><span class="kw">let </span>converted = converter.convert_columns(<span class="kw-2">&amp;</span>[Arc::new(array)]).unwrap();
+<span class="kw">let </span><span class="kw-2">mut </span>distinct_rows = converter.empty_rows(<span class="number">3</span>, <span class="number">100</span>);
+<span class="kw">let </span><span class="kw-2">mut </span>dedup: HashSet&lt;Row&gt; = HashSet::with_capacity(<span class="number">3</span>);
+converted.iter().filter(|row| dedup.insert(<span class="kw-2">*</span>row)).for_each(|row| distinct_rows.push(row));
+
+<span class="comment">// Note: we could skip buffering and feed the filtered iterator directly
+// into convert_rows, this is done for demonstration purposes only
+</span><span class="kw">let </span>distinct = converter.convert_rows(<span class="kw-2">&amp;</span>distinct_rows).unwrap();
+<span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = distinct[<span class="number">0</span>].as_string::&lt;i32&gt;().iter().map(Option::unwrap).collect();
+<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>values, <span class="kw-2">&amp;</span>[<span class="string">&quot;hello&quot;</span>, <span class="string">&quot;world&quot;</span>, <span class="string">&quot;a&quot;</span>]);</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.convert_raw" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#812-822">source</a><h4 class="code-header">pub(crate) unsafe fn <a href="#method.convert_raw" class="fn">convert_raw</a>(
     &amp;self,
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     validate_utf8: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;ArrayRef&gt;, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Convert raw bytes into [<code>ArrayRef</code>]</p>
 <h5 id="safety"><a href="#safety">Safety</a></h5>
 <p><code>rows</code> must contain valid data for this <a href="struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>RowConverter</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.parser" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#777-779">source</a><h4 class="code-header">pub fn <a href="#method.parser" class="fn">parser</a>(&amp;self) -&gt; <a class="struct" href="struct.RowParser.html" title="struct arrow_row::RowParser">RowParser</a></h4></section></summary><div class="docblock"><p>Returns a <a href="struct.RowParser.html" title="struct a [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#784-789">source</a><h4 class="code-header">pub fn <a href="#method.size" class="fn">size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the size of this instance in bytes</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.parser" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#825-827">source</a><h4 class="code-header">pub fn <a href="#method.parser" class="fn">parser</a>(&amp;self) -&gt; <a class="struct" href="struct.RowParser.html" title="struct arrow_row::RowParser">RowParser</a></h4></section></summary><div class="docblock"><p>Returns a <a href="struct.RowParser.html" title="struct a [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#832-837">source</a><h4 class="code-header">pub fn <a href="#method.size" class="fn">size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the size of this instance in bytes</p>
 <p>Includes the size of <code>Self</code>.</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-Debug-for-RowConverter" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#418">source</a><a href="#impl-Debug-for-RowConverter" class="anchor">§</a><h3 class="code-header">imp [...]
     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="srclink 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 [...]
diff --git a/arrow_row/struct.RowParser.html b/arrow_row/struct.RowParser.html
index cc816fdb6..7fa0a7758 100644
--- a/arrow_row/struct.RowParser.html
+++ b/arrow_row/struct.RowParser.html
@@ -1,10 +1,10 @@
-<!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 `RowParser` can be created from a `RowConverter` and used to parse bytes to `Row`"><title>RowParser in arrow_row - 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="A `RowParser` can be created from a `RowConverter` and used to parse bytes to `Row`"><title>RowParser in arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font [...]
     pub(crate) config: <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <a href="struct.RowParser.html" title="struct arrow_row::RowParser"><code>RowParser</code></a> can be created from a <a href="struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>RowConverter</code></a> and used to parse bytes to <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a></p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.config" class="structfield small-section-header"><a href="#structfield.config" class="anchor field">§</a><code>config: <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><di [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.config" class="structfield small-section-header"><a href="#structfield.config" class="anchor field">§</a><code>config: <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><di [...]
 <p><code>bytes</code> must be a <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a> produced by the <a href="struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>RowConverter</code></a> associated with
 this <a href="struct.RowParser.html" title="struct arrow_row::RowParser"><code>RowParser</code></a>, otherwise subsequent operations with the produced <a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a> may panic</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-Debug-for-RowParser" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#793">source</a><a href="#impl-Debug-for-RowParser" class="anchor">§</a><h3 class="code-header">impl <a c [...]
+</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-RowParser" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#841">source</a><a href="#impl-Debug-for-RowParser" class="anchor">§</a><h3 class="code-header">impl <a c [...]
     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="srclink 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 [...]
     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="srclink 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="ht [...]
     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="srclink 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  [...]
diff --git a/arrow_row/struct.Rows.html b/arrow_row/struct.Rows.html
index 9556ceeaf..83759551f 100644
--- a/arrow_row/struct.Rows.html
+++ b/arrow_row/struct.Rows.html
@@ -1,15 +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="A row-oriented representation of arrow data, that is normalized for comparison."><title>Rows in arrow_row - 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 [...]
-    pub(crate) buffer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,
-    pub(crate) offsets: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>]&gt;,
+<!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 row-oriented representation of arrow data, that is normalized for comparison."><title>Rows in arrow_row - 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 [...]
+    pub(crate) buffer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;,
+    pub(crate) offsets: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;,
     pub(crate) config: <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A row-oriented representation of arrow data, that is normalized for comparison.</p>
 <p>See the <a href="index.html" title="mod arrow_row">module level documentation</a> and <a href="struct.RowConverter.html" title="struct arrow_row::RowConverter"><code>RowConverter</code></a> for more details.</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.buffer" class="structfield small-section-header"><a href="#structfield.buffer" class="anchor field">§</a><code>buffer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;</code> [...]
-</div><span id="structfield.offsets" class="structfield small-section-header"><a href="#structfield.offsets" class="anchor field">§</a><code>offsets: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>]&gt;</code></span><div class="docblock"><p>Row <code>i</code> has data <code>&amp;buffer[offsets[i]..offsets[i+1] [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.buffer" class="structfield small-section-header"><a href="#structfield.buffer" class="anchor field">§</a><code>buffer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;</code></span [...]
+</div><span id="structfield.offsets" class="structfield small-section-header"><a href="#structfield.offsets" class="anchor field">§</a><code>offsets: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</code></span><div class="docblock"><p>Row <code>i</code> has data <code>&amp;buffer[offsets[i]..offsets[i+1]]</code></p>
 </div><span id="structfield.config" class="structfield small-section-header"><a href="#structfield.config" class="anchor field">§</a><code>config: <a class="struct" href="struct.RowConfig.html" title="struct arrow_row::RowConfig">RowConfig</a></code></span><div class="docblock"><p>The config for these rows</p>
-</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-Rows" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#842-869">source</a><a href="#impl-Rows" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a></h3> [...]
+</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-Rows" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#890-928">source</a><a href="#impl-Rows" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a></h3> [...]
+</div></details><section id="method.row" class="method"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#902-909">source</a><h4 class="code-header">pub fn <a href="#method.row" class="fn">row</a>(&amp;self, row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Row.html" title="struct arrow_row::Row">Row</a>&lt;'_&gt;</h4></section><section id="method.num_rows" class="method"><a class="src [...]
 <p>Includes the size of <code>Self</code>.</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-Debug-for-Rows" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#832">source</a><a href="#impl-Debug-for-Rows" class="anchor">§</a><h3 class="code-header">impl <a class="trai [...]
+</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-Rows" class="impl"><a class="srclink rightside" href="../src/arrow_row/lib.rs.html#880">source</a><a href="#impl-Debug-for-Rows" class="anchor">§</a><h3 class="code-header">impl <a class="trai [...]
     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="srclink 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 [...]
     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="srclink 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="ht [...]
     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="srclink 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  [...]
diff --git a/arrow_row/struct.RowsIter.html b/arrow_row/struct.RowsIter.html
index 9fefc59ad..c8215045b 100644
--- a/arrow_row/struct.RowsIter.html
+++ b/arrow_row/struct.RowsIter.html
@@ -1,9 +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="An iterator over `Rows`"><title>RowsIter in arrow_row - 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" crossorigin href="../static.files/FiraSan [...]
+<!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 `Rows`"><title>RowsIter in arrow_row - 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" crossorigin href="../static.files/FiraSan [...]
     pub(crate) rows: &amp;'a <a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a>,
     pub(crate) start: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     pub(crate) end: <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 iterator over <a href="struct.Rows.html" title="struct arrow_row::Rows"><code>Rows</code></a></p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.rows" class="structfield small-section-header"><a href="#structfield.rows" class="anchor field">§</a><code>rows: &amp;'a <a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a></code></span><span id="structfield.start" class="structfield small-section-header"><a href="#structfield.start" class="anchor field">§</a><code>start: [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.rows" class="structfield small-section-header"><a href="#structfield.rows" class="anchor field">§</a><code>rows: &amp;'a <a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a></code></span><span id="structfield.start" class="structfield small-section-header"><a href="#structfield.start" class="anchor field">§</a><code>start: [...]
     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>(B, 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>) -&gt; R,
     R: <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>&lt;Output = B&gt;,</span></h4></section></summary><div class='docblock'>This is the reverse version of <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.try_fold" title="method core::iter::traits::iterator::Iterator::try_fold"><code>Iterator::try_fold()</code></a>: it takes
@@ -12,7 +12,7 @@ elements starting from the back of the iterator. <a href="https://doc.rust-lang.
     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>(B, 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>) -&gt; B,</span></h4></section></summary><div class='docblock'>An iterator method that reduces the iterator’s elements to a single,
 final value, starting from the back. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfold">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rfind" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/double_ended.rs.html#3 [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
-    P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;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>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</span></h4></section></summ [...]
+    P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;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>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</span></h4></section></summ [...]
     &amp;mut self
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;[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/ [...]
diff --git a/arrow_row/variable/fn.decode_binary.html b/arrow_row/variable/fn.decode_binary.html
index 2e3983113..b5e0aa63e 100644
--- a/arrow_row/variable/fn.decode_binary.html
+++ b/arrow_row/variable/fn.decode_binary.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 binary array from `rows` with the provided `options`"><title>decode_binary in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
+<!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 binary array from `rows` with the provided `options`"><title>decode_binary in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     options: SortOptions
 ) -&gt; GenericBinaryArray&lt;I&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Decodes a binary array from <code>rows</code> with the provided <code>options</code></p>
diff --git a/arrow_row/variable/fn.decode_string.html b/arrow_row/variable/fn.decode_string.html
index 4313d5551..f0cd97484 100644
--- a/arrow_row/variable/fn.decode_string.html
+++ b/arrow_row/variable/fn.decode_string.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 string array from `rows` with the provided `options`"><title>decode_string in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
+<!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 string array from `rows` with the provided `options`"><title>decode_string in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     options: SortOptions,
     validate_utf8: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
diff --git a/arrow_row/variable/fn.decoded_len.html b/arrow_row/variable/fn.decoded_len.html
index 604be9689..794d9f9df 100644
--- a/arrow_row/variable/fn.decoded_len.html
+++ b/arrow_row/variable/fn.decoded_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="Returns the number of bytes of encoded data"><title>decoded_len in arrow_row::variable - 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" cross [...]
+<!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 the number of bytes of encoded data"><title>decoded_len in arrow_row::variable - 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" cross [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/fn.encode.html b/arrow_row/variable/fn.encode.html
index 320f896fd..fb10b4474 100644
--- a/arrow_row/variable/fn.encode.html
+++ b/arrow_row/variable/fn.encode.html
@@ -1,5 +1,6 @@
-<!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="Variable length values are encoded as"><title>encode in arrow_row::variable - 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" crossorigin href [...]
-    out: &amp;mut <a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</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="Variable length values are encoded as"><title>encode in arrow_row::variable - 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" crossorigin href [...]
+    data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
+    offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     i: I,
     opts: SortOptions
 )</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Variable length values are encoded as</p>
diff --git a/arrow_row/variable/fn.encode_one.html b/arrow_row/variable/fn.encode_one.html
index b2e460eaa..01ba2c0f3 100644
--- a/arrow_row/variable/fn.encode_one.html
+++ b/arrow_row/variable/fn.encode_one.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 `encode_one` fn in crate `arrow_row`."><title>encode_one in arrow_row::variable - 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="API documentation for the Rust `encode_one` fn in crate `arrow_row`."><title>encode_one in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
     out: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
     val: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,
     opts: SortOptions
diff --git a/arrow_row/variable/index.html b/arrow_row/variable/index.html
index 0ff65a12a..8c5d49b57 100644
--- a/arrow_row/variable/index.html
+++ b/arrow_row/variable/index.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 `variable` mod in crate `arrow_row`."><title>arrow_row::variable - 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/wof [...]
\ 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 `variable` mod in crate `arrow_row`."><title>arrow_row::variable - 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/wof [...]
\ No newline at end of file
diff --git a/implementors/arrow_flight/gen/flight_service_server/trait.FlightService.js b/implementors/arrow_flight/gen/flight_service_server/trait.FlightService.js
index cb1eca541..22d024b50 100644
--- a/implementors/arrow_flight/gen/flight_service_server/trait.FlightService.js
+++ b/implementors/arrow_flight/gen/flight_service_server/trait.FlightService.js
@@ -1,4 +1,4 @@
 (function() {var implementors = {
 "arrow_flight":[],
-"arrow_integration_testing":[["impl <a class=\"trait\" href=\"arrow_flight/gen/flight_service_server/trait.FlightService.html\" title=\"trait arrow_flight::gen::flight_service_server::FlightService\">FlightService</a> for <a class=\"struct\" href=\"arrow_integration_testing/flight_server_scenarios/middleware/struct.MiddlewareScenarioImpl.html\" title=\"struct arrow_integration_testing::flight_server_scenarios::middleware::MiddlewareScenarioImpl\">MiddlewareScenarioImpl</a>"],["impl <a cl [...]
+"arrow_integration_testing":[["impl FlightService for <a class=\"struct\" href=\"arrow_integration_testing/flight_server_scenarios/middleware/struct.MiddlewareScenarioImpl.html\" title=\"struct arrow_integration_testing::flight_server_scenarios::middleware::MiddlewareScenarioImpl\">MiddlewareScenarioImpl</a>"],["impl FlightService for <a class=\"struct\" href=\"arrow_integration_testing/flight_server_scenarios/auth_basic_proto/struct.AuthBasicProtoScenarioImpl.html\" title=\"struct arrow [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js
index b23097c54..5ccef31a1 100644
--- a/implementors/core/clone/trait.Clone.js
+++ b/implementors/core/clone/trait.Clone.js
@@ -18,7 +18,7 @@
 "flight_sql_client":[["impl&lt;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>&gt; <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=\"struct\" href=\"parquet/format/struct.NullType.html\" title=\"struct parquet::format::NullType\">NullType</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/basic/struct.ZstdLevel.html\" t [...]
+"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=\"struct\" href=\"parquet/arrow/arrow_reader/struct.ArrowReaderOptions.html\" title=\"struct parquet::arrow::arrow_reader::ArrowReaderOptions\">ArrowReaderOptions</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=\" [...]
 "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.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</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_rewrite/e [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js
index 90334bf5d..cc9acd5b0 100644
--- a/implementors/core/cmp/trait.Eq.js
+++ b/implementors/core/cmp/trait.Eq.js
@@ -8,6 +8,6 @@
 "arrow_json":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"arrow_json/reader/tape/enum.TapeElement.html\" title=\"enum arrow_json::reader::tape::TapeElement\">TapeElement</a>"]],
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_row/interner/struct.Interned.html\" title=\"struct arrow_row::interner::Interned\">Interned</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_row/struct.Row.html\" title=\"struct ar [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"arrow_schema/datatype/enum.IntervalUnit.html\" title=\"enum arrow_schema::datatype::IntervalUnit\">IntervalUnit</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_schema/field/struct.Field.html\" t [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"parquet/format/struct.Statistics.html\" title=\"struct parquet::format::Statistics\">Statistics</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"parquet/format/struct.BoundaryOrder.html\" title=\"struct p [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"parquet/format/enum.TimeUnit.html\" title=\"enum parquet::format::TimeUnit\">TimeUnit</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"parquet/format/struct.EncryptionWithFooterKey.html\" title=\"struct par [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"parquet_rewrite/enum.EnabledStatisticsArgs. [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/cmp/trait.Ord.js b/implementors/core/cmp/trait.Ord.js
index a7524dc6d..e9e6e9a14 100644
--- a/implementors/core/cmp/trait.Ord.js
+++ b/implementors/core/cmp/trait.Ord.js
@@ -4,6 +4,6 @@
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.TimeUnit.html\" title=\"struct arrow_ipc::gen::Schema::TimeUnit\">TimeUnit</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.Endianness.html\ [...]
 "arrow_row":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"arrow_row/struct.Row.html\" title=\"struct arrow_row::Row\">Row</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"arrow_row/struct.OwnedRow.html\" title=\"struct arrow_row::Owne [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"arrow_schema/datatype/enum.UnionMode.html\" title=\"enum arrow_schema::datatype::UnionMode\">UnionMode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"arrow_schema/field/struct.Field.html\" titl [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"parquet/basic/enum.Encoding.html\" title=\"enum parquet::basic::Encoding\">Encoding</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"parquet/format/struct.EncryptionWithFooterKey.html\" title=\"struct [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"parquet/format/struct.Type.html\" title=\"struct parquet::format::Type\">Type</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"parquet/format/struct.Statistics.html\" title=\"struct parquet::format: [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"parquet_rewrite/enum.EnabledStatisticsArgs.html\" title=\"enum parquet_rewrite::EnabledStatisticsArgs\">EnabledStatisticsArgs</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"parquet_rewrite/enu [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js
index 38a43388e..fcadf2385 100644
--- a/implementors/core/cmp/trait.PartialEq.js
+++ b/implementors/core/cmp/trait.PartialEq.js
@@ -8,7 +8,7 @@
 "arrow_json":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"arrow_json/reader/tape/enum.TapeElement.html\" title=\"enum arrow_json::reader::tape::TapeElement\">TapeElement</a>&gt; for <a class=\"enum\" href=\"arrow_json/reader/tape/enum.TapeElement.html\" title=\"enum arrow_json::reader::tape::TapeElement\">TapeElement</a>"]],
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"struct\" href=\"arrow_row/struct.OwnedRow.html\" title=\"struct arrow_row::OwnedRow\">OwnedRow</a>&gt; for <a class=\"struct\" href=\"arrow_row/struct.OwnedRow.html\" title=\"struct arrow_row::OwnedRow\">OwnedRow</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"arrow_schema/datatype/enum.UnionMode.html\" title=\"enum arrow_schema::datatype::UnionMode\">UnionMode</a>&gt; for <a class=\"enum\" href=\"arrow_schema/datatype/enum.UnionMode.html\" title=\"enum arrow_schema::datatype::UnionMode\">UnionMode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"parquet/format/enum.BloomFilterCompression.html\" title=\"enum parquet::format::BloomFilterCompression\">BloomFilterCompression</a>&gt; for <a class=\"enum\" href=\"parquet/format/enum.BloomFilterCompression.html\" title=\"enum parquet::format::BloomFilterCompression\">BloomFilterCompression</a>"],["im [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"struct\" href=\"parquet/file/properties/struct.ColumnProperties.html\" title=\"struct parquet::file::properties::ColumnProperties\">ColumnProperties</a>&gt; for <a class=\"struct\" href=\"parquet/file/properties/struct.ColumnProperties.html\" title=\"struct parquet::file::properties::ColumnProperties\">ColumnPropert [...]
 "parquet_derive":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"parquet_derive/parquet_field/enum.ThirdPartyType.html\" title=\"enum parquet_derive::parquet_field::ThirdPartyType\">ThirdPartyType</a>&gt; for <a class=\"enum\" href=\"parquet_derive/parquet_field/enum.ThirdPartyType.html\" title=\"enum parquet_derive::parquet_field::ThirdPartyType\">ThirdParty [...]
 "parquet_fromcsv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"parquet_fromcsv/enum.RecordTerminator.html\" title=\"enum parquet_fromcsv::RecordTerminator\">RecordTerminator</a>&gt; for <a class=\"enum\" href=\"parquet_fromcsv/enum.RecordTerminator.html\" title=\"enum parquet_fromcsv::RecordTerminator\">RecordTerminator</a>"],["impl <a class=\"trait\" href [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>&gt; for <a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>"],["impl <a class=\"trait\" href=\"htt [...]
diff --git a/implementors/core/cmp/trait.PartialOrd.js b/implementors/core/cmp/trait.PartialOrd.js
index f64a61d31..f167cce7c 100644
--- a/implementors/core/cmp/trait.PartialOrd.js
+++ b/implementors/core/cmp/trait.PartialOrd.js
@@ -4,6 +4,6 @@
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.DateUnit.html\" title=\"struct arrow_ipc::gen::Schema::DateUnit\">DateUnit</a>&gt; for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.DateUnit.html\" title=\"struct arrow_ipc::gen::Schema::DateUnit\">DateUnit</a>"],["impl <a class=\"trait\" href=\"https://doc. [...]
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"struct\" href=\"arrow_row/struct.OwnedRow.html\" title=\"struct arrow_row::OwnedRow\">OwnedRow</a>&gt; for <a class=\"struct\" href=\"arrow_row/struct.OwnedRow.html\" title=\"struct arrow_row::OwnedRow\">OwnedRow</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.P [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"enum\" href=\"arrow_schema/datatype/enum.IntervalUnit.html\" title=\"enum arrow_schema::datatype::IntervalUnit\">IntervalUnit</a>&gt; for <a class=\"enum\" href=\"arrow_schema/datatype/enum.IntervalUnit.html\" title=\"enum arrow_schema::datatype::IntervalUnit\">IntervalUnit</a>"],["impl <a class=\"trait\" hr [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"struct\" href=\"parquet/format/struct.XxHash.html\" title=\"struct parquet::format::XxHash\">XxHash</a>&gt; for <a class=\"struct\" href=\"parquet/format/struct.XxHash.html\" title=\"struct parquet::format::XxHash\">XxHash</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Par [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"struct\" href=\"parquet/format/struct.ColumnChunk.html\" title=\"struct parquet::format::ColumnChunk\">ColumnChunk</a>&gt; for <a class=\"struct\" href=\"parquet/format/struct.ColumnChunk.html\" title=\"struct parquet::format::ColumnChunk\">ColumnChunk</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang. [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>&gt; for <a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>"],["impl <a class=\"trait\" href=\" [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/convert/trait.AsRef.js b/implementors/core/convert/trait.AsRef.js
index 01cf80730..9c5c3beab 100644
--- a/implementors/core/convert/trait.AsRef.js
+++ b/implementors/core/convert/trait.AsRef.js
@@ -2,5 +2,5 @@
 "arrow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a>&lt;PyAny&gt; for <a class=\"struct\" href=\"arrow/pyarrow/struct.ArrowException.html\" title=\"struct arrow::pyarrow::ArrowException\">ArrowException</a>"]],
 "arrow_buffer":[["impl&lt;T: <a class=\"trait\" href=\"arrow_buffer/native/trait.ArrowNativeType.html\" title=\"trait arrow_buffer::native::ArrowNativeType\">ArrowNativeType</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>&gt; for <a class=\"struct\" href=\"arrow_buffer/buffer/scalar/struct. [...]
 "arrow_row":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a>&lt;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]&gt; for <a class=\"struct\" href=\"arrow_row/struct.Row.html\" title=\"struct arrow_row::Row\">Row</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"t [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a>&lt;[<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a>]&gt; for <a class=\"struct\" href=\"parquet/schema/types/struct.ColumnPath.html\" title=\"struct parquet::schema::types::ColumnPath\">ColumnPath</a>"],["impl <a class=\"trait\" href=\"ht [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a>&lt;[<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a>]&gt; for <a class=\"struct\" href=\"parquet/schema/types/struct.ColumnPath.html\" title=\"struct parquet::schema::types::ColumnPath\">ColumnPath</a>"],["impl <a class=\"trait\" href=\"ht [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js
index 8a002e64a..e4219824b 100644
--- a/implementors/core/convert/trait.From.js
+++ b/implementors/core/convert/trait.From.js
@@ -8,7 +8,7 @@
 "arrow_integration_test":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;&amp;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"arrow_schema/field/struct.Field.html\" title=\"struct arrow_schema::field::Field\">Field</a>&gt;&gt; for <a class=\"struct\" href=\"arrow_integration_tes [...]
 "arrow_ipc":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.Field.html\" title=\"struct arrow_ipc::gen::Schema::Field\">Field</a>&lt;'a&gt;&gt; for <a class=\"struct\" href=\"arrow_schema/field/struct.Field.html\" title=\"struct arrow_schema::field::Field\">Field</a>"]],
 "arrow_schema":[["impl&lt;W: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/io/buffered/struct.IntoInnerError.html\" title=\"struct std::io::buffered::IntoInnerError\">IntoInnerError</a>&lt;W&gt;&gt; for  [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/str/error/struct.Utf8Error.html\" title=\"struct core::str::error::Utf8Error\">Utf8Error</a>&gt; for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>"],["impl <a class=\"trait\" href=\"https: [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;&amp;<a class=\"struct\" href=\"parquet/format/struct.Encoding.html\" title=\"struct parquet::format::Encoding\">Encoding</a>&gt; for <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.i32.html\">i32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" titl [...]
 "parquet_fromcsv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;Error&lt;RichFormatter&gt;&gt; for <a class=\"enum\" href=\"parquet_fromcsv/enum.ParquetFromCsvError.html\" title=\"enum parquet_fromcsv::ParquetFromCsvError\">ParquetFromCsvError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>&gt; for <a class=\"enum\" href=\"parquet/basic/enum.Compression.html\" title=\"enum parquet::basic::Compression\">Compression</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/convert/trait.TryFrom.js b/implementors/core/convert/trait.TryFrom.js
index 1a88aab58..fa59250cf 100644
--- a/implementors/core/convert/trait.TryFrom.js
+++ b/implementors/core/convert/trait.TryFrom.js
@@ -3,5 +3,5 @@
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.i32.html\">i32</a>&gt; for <a class=\"enum\" href=\"arrow_flight/gen/flight_descriptor/enum.DescriptorType.html\" title=\"enum arrow_flight::gen::flight_descriptor::DescriptorType\">DescriptorType</a>"],["impl <a class=\"trait\" href=\"https:/ [...]
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"struct\" href=\"arrow_ipc/gen/Message/struct.CompressionType.html\" title=\"struct arrow_ipc::gen::Message::CompressionType\">CompressionType</a>&gt; for <a class=\"enum\" href=\"arrow_ipc/compression/enum.CompressionCodec.html\" title=\"enum arrow_ipc::compression::CompressionCodec\">CompressionCodec</a>"]],
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"struct\" href=\"arrow_schema/field/struct.Field.html\" title=\"struct arrow_schema::field::Field\">Field</a>&gt; for <a class=\"struct\" href=\"arrow_schema/ffi/struct.FFI_ArrowSchema.html\" title=\"struct arrow_schema::ffi::FFI_ArrowSchema\">FFI_ArrowSchema</a>"],["impl <a class=\"trait\" href=\"https://doc. [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"struct\" href=\"parquet/format/struct.PageType.html\" title=\"struct parquet::format::PageType\">PageType</a>&gt; for <a class=\"enum\" href=\"parquet/basic/enum.PageType.html\" title=\"enum parquet::basic::PageType\">PageType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/tr [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"struct\" href=\"parquet/format/struct.FieldRepetitionType.html\" title=\"struct parquet::format::FieldRepetitionType\">FieldRepetitionType</a>&gt; for <a class=\"enum\" href=\"parquet/basic/enum.Repetition.html\" title=\"enum parquet::basic::Repetition\">Repetition</a>"],["impl <a class=\"trait\" href=\"https://do [...]
 };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 5e4d2ce32..9eba93038 100644
--- a/implementors/core/default/trait.Default.js
+++ b/implementors/core/default/trait.Default.js
@@ -12,5 +12,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.AesGcmV1.html\" title=\"struct parquet::format::AesGcmV1\">AesGcmV1</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/format/stru [...]
+"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/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/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a  [...]
 };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 fae735787..034280511 100644
--- a/implementors/core/fmt/trait.Debug.js
+++ b/implementors/core/fmt/trait.Debug.js
@@ -19,7 +19,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.ClientArgs.html\" title=\"struct flight_sql_client::ClientArgs\">ClientArgs</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=\"flight_sql_client/struct.A [...]
 "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=\"enum\" href=\"flight_test_integration_client/enum.Scenario.html\" title=\"enum flight_test_integration_client::Scenario\">Scenario</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=\ [...]
 "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=\"enum\" href=\"flight_test_integration_server/enum.Scenario.html\" title=\"enum flight_test_integration_server::Scenario\">Scenario</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":[["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/format/struct.DateType.html\" title=\"struct parquet::format::DateType\">DateType</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/format/struct.SchemaElement.html\" titl [...]
+"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=\"enum\" href=\"parquet/basic/enum.PageType.html\" title=\"enum parquet::basic::PageType\">PageType</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/format/struct.TypeDefinedOrder.html\" title=\"s [...]
 "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=\"struct\" href=\"parquet_derive/parquet_field/struct.Field.html\" title=\"struct parquet_derive::parquet_field::Field\">Field</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_derive/parquet_ [...]
 "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.CsvDialect.html\" title=\"enum parquet_fromcsv::CsvDialect\">CsvDialect</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_fromcsv/struct.Args.html\" tit [...]
diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js
index 334be1e32..0ce2c1354 100644
--- a/implementors/core/fmt/trait.Display.js
+++ b/implementors/core/fmt/trait.Display.js
@@ -6,6 +6,6 @@
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"arrow_flight/gen/struct.Location.html\" title=\"struct arrow_flight::gen::Location\">Location</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"arrow_flight/gen/struct.Fl [...]
 "arrow_json":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"arrow_json/reader/serializer/struct.SerializerError.html\" title=\"struct arrow_json::reader::serializer::SerializerError\">SerializerError</a>"]],
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"arrow_schema/datatype/enum.DataType.html\" title=\"enum arrow_schema::datatype::DataType\">DataType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"arrow_schema/error/enum. [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</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/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"parquet/data_type/struct.FixedLenByteArra [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"parquet/errors/enum.ParquetError.html\" title=\"enum parquet::errors::ParquetError\">ParquetError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"parquet/file/statistics/enum.St [...]
 "parquet_fromcsv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"parquet_fromcsv/enum.ParquetFromCsvError.html\" title=\"enum parquet_fromcsv::ParquetFromCsvError\">ParquetFromCsvError</a>"]]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/hash/trait.Hash.js b/implementors/core/hash/trait.Hash.js
index 01ebbab65..7cbdc5a13 100644
--- a/implementors/core/hash/trait.Hash.js
+++ b/implementors/core/hash/trait.Hash.js
@@ -6,5 +6,5 @@
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.Type.html\" title=\"struct arrow_ipc::gen::Schema::Type\">Type</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.Endianness.html\"  [...]
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_row/interner/struct.Interned.html\" title=\"struct arrow_row::interner::Interned\">Interned</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_row/struct.Row.html\" t [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_schema/fields/struct.UnionFields.html\" title=\"struct arrow_schema::fields::UnionFields\">UnionFields</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_schema/schema/struc [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"parquet/format/struct.Uncompressed.html\" title=\"struct parquet::format::Uncompressed\">Uncompressed</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"parquet/format/struct.SortingColumn.h [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"parquet/format/struct.JsonType.html\" title=\"struct parquet::format::JsonType\">JsonType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"parquet/format/struct.IntType.html\" title=\"stru [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/iter/traits/iterator/trait.Iterator.js b/implementors/core/iter/traits/iterator/trait.Iterator.js
index 5de160816..6a7a1a427 100644
--- a/implementors/core/iter/traits/iterator/trait.Iterator.js
+++ b/implementors/core/iter/traits/iterator/trait.Iterator.js
@@ -9,5 +9,5 @@
 "arrow_ord":[["impl&lt;'a&gt; <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_ord/partition/struct.LexicographicalPartitionIterator.html\" title=\"struct arrow_ord::partition::LexicographicalPartitionIterator\">LexicographicalPartitionIterator</a>&lt;'a&gt;"]],
 "arrow_row":[["impl&lt;'a&gt; <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>&lt;'a&gt;"]],
 "arrow_select":[["impl&lt;'a&gt; <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>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.htm [...]
-"parquet":[["impl&lt;'a&gt; <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/record/reader/struct.RowIter.html\" title=\"struct parquet::record::reader::RowIter\">RowIter</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter [...]
+"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&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iter [...]
 };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.Copy.js b/implementors/core/marker/trait.Copy.js
index 0ff11f255..ff4d3fa3a 100644
--- a/implementors/core/marker/trait.Copy.js
+++ b/implementors/core/marker/trait.Copy.js
@@ -9,7 +9,7 @@
 "arrow_json":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_json/reader/tape/enum.TapeElement.html\" title=\"enum arrow_json::reader::tape::TapeElement\">TapeElement</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_json/reader/ta [...]
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_row/interner/struct.Interned.html\" title=\"struct arrow_row::interner::Interned\">Interned</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_row/struct.Row. [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_schema/datatype/enum.UnionMode.html\" title=\"enum arrow_schema::datatype::UnionMode\">UnionMode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_schema/struct.SortO [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"parquet/basic/enum.Type.html\" title=\"enum parquet::basic::Type\">Type</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"parquet/basic/enum.Encoding.html\" title=\"enum parquet::basic: [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"parquet/format/struct.PageType.html\" title=\"struct parquet::format::PageType\">PageType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"parquet/basic/struct.GzipLevel.html\" tit [...]
 "parquet_fromcsv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</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/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"parquet_fromcsv/enum.RecordTermina [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"parquet_rewrite/enu [...]
 };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.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js
index e6f73b091..8880a843d 100644
--- a/implementors/core/marker/trait.StructuralEq.js
+++ b/implementors/core/marker/trait.StructuralEq.js
@@ -7,6 +7,6 @@
 "arrow_json":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"arrow_json/reader/tape/enum.TapeElement.html\" title=\"enum arrow_json::reader::tape::TapeElement\">TapeElement</a>"]],
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"arrow_row/struct.SortField.html\" title=\"struct arrow_row::SortField\">SortField</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\ [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"arrow_schema/fields/struct.UnionFields.html\" title=\"struct arrow_schema::fields::UnionFields\">UnionFields</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a>  [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"parquet/format/struct.DecimalType.html\" title=\"struct parquet::format::DecimalType\">DecimalType</a>"],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"parquet/format/struct.KeyValue.html\" title=\"struct parquet::format::KeyValue\">KeyValue</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\"  [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"parquet_rewrite/enum.CompressionArgs.html\" title=\"enum parquet_rewrite::CompressionArgs\">CompressionArgs</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a>  [...]
 };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.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js
index 2d09544d5..5b85c1c4e 100644
--- a/implementors/core/marker/trait.StructuralPartialEq.js
+++ b/implementors/core/marker/trait.StructuralPartialEq.js
@@ -8,7 +8,7 @@
 "arrow_json":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"arrow_json/reader/tape/enum.TapeElement.html\" title=\"enum arrow_json::reader::tape::TapeElement\">TapeElement</a>"]],
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"arrow_row/interner/struct.Interned.html\" title=\"struct arrow_row::interner::Interned\">Interned</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialE [...]
 "arrow_schema":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"arrow_schema/datatype/enum.DataType.html\" title=\"enum arrow_schema::datatype::DataType\">DataType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralParti [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"parquet/format/struct.NullType.html\" title=\"struct parquet::format::NullType\">NullType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">Struct [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"parquet/basic/enum.LogicalType.html\" title=\"enum parquet::basic::LogicalType\">LogicalType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">Struc [...]
 "parquet_derive":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</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/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralP [...]
 "parquet_fromcsv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</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/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq [...]
 "parquet_rewrite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"parquet_rewrite/enum.EnabledStatisticsArgs.html\" title=\"enum parquet_rewrite::EnabledStatisticsArgs\">EnabledStatisticsArgs</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait  [...]
diff --git a/implementors/core/str/traits/trait.FromStr.js b/implementors/core/str/traits/trait.FromStr.js
index b5f7def58..9063ca5e5 100644
--- a/implementors/core/str/traits/trait.FromStr.js
+++ b/implementors/core/str/traits/trait.FromStr.js
@@ -3,5 +3,5 @@
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"struct\" href=\"arrow_buffer/bigint/struct.i256.html\" title=\"struct arrow_buffer::bigint::i256\">i256</a>"]],
 "arrow_cast":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"arrow_cast/parse/enum.IntervalUnit.html\" title=\"enum arrow_cast::parse::IntervalUnit\">IntervalUnit</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"struct\" [...]
 "flight_sql_client":[["impl&lt;K, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"struct\" href=\"flight_sql_client/struct.KeyValue.html\" title=\"struct flight_sql_client::KeyValue\">KeyValue</a>&lt;K, V&gt;<span class=\"where fmt-newline\">where\n    K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait  [...]
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"parquet/basic/enum.Repetition.html\" title=\"enum parquet::basic::Repetition\">Repetition</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"parquet/b [...]
+"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"parquet/basic/enum.ConvertedType.html\" title=\"enum parquet::basic::ConvertedType\">ConvertedType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\" [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/std/io/trait.Write.js b/implementors/std/io/trait.Write.js
index 5a9505629..7611c9adb 100644
--- a/implementors/std/io/trait.Write.js
+++ b/implementors/std/io/trait.Write.js
@@ -1,4 +1,4 @@
 (function() {var implementors = {
 "arrow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <a class=\"struct\" href=\"arrow/util/string_writer/struct.StringWriter.html\" title=\"struct arrow::util::string_writer::StringWriter\">StringWriter</a>"]],
-"parquet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <a class=\"struct\" href=\"parquet/arrow/async_writer/struct.SharedBuffer.html\" title=\"struct parquet::arrow::async_writer::SharedBuffer\">SharedBuffer</a>"],["impl&lt;W: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a>&gt; <a class=\"trait\" href=\"https://doc.r [...]
+"parquet":[["impl&lt;W: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <a class=\"struct\" href=\"parquet/file/writer/struct.TrackedWrite.html\" title=\"struct parquet::file::writer::TrackedWrite\">TrackedWrite</a>&lt;W&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-l [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/thrift/protocol/trait.TSerializable.js b/implementors/thrift/protocol/trait.TSerializable.js
index 649141cef..605753237 100644
--- a/implementors/thrift/protocol/trait.TSerializable.js
+++ b/implementors/thrift/protocol/trait.TSerializable.js
@@ -1,3 +1,3 @@
 (function() {var implementors = {
-"parquet":[["impl TSerializable for <a class=\"struct\" href=\"parquet/format/struct.NullType.html\" title=\"struct parquet::format::NullType\">NullType</a>"],["impl TSerializable for <a class=\"struct\" href=\"parquet/format/struct.DateType.html\" title=\"struct parquet::format::DateType\">DateType</a>"],["impl TSerializable for <a class=\"struct\" href=\"parquet/format/struct.FileMetaData.html\" title=\"struct parquet::format::FileMetaData\">FileMetaData</a>"],["impl TSerializable for  [...]
+"parquet":[["impl TSerializable for <a class=\"enum\" href=\"parquet/format/enum.ColumnCryptoMetaData.html\" title=\"enum parquet::format::ColumnCryptoMetaData\">ColumnCryptoMetaData</a>"],["impl TSerializable for <a class=\"enum\" href=\"parquet/format/enum.BloomFilterAlgorithm.html\" title=\"enum parquet::format::BloomFilterAlgorithm\">BloomFilterAlgorithm</a>"],["impl TSerializable for <a class=\"struct\" href=\"parquet/format/struct.MicroSeconds.html\" title=\"struct parquet::format: [...]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/parquet/arrow/arrow_reader/selection/struct.RowSelection.html b/parquet/arrow/arrow_reader/selection/struct.RowSelection.html
index 74283a644..03a00b079 100644
--- a/parquet/arrow/arrow_reader/selection/struct.RowSelection.html
+++ b/parquet/arrow/arrow_reader/selection/struct.RowSelection.html
@@ -66,7 +66,7 @@ other:     NYNNNNNNY</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="srclink rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#441-443">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; 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>&lt [...]
 <a href="struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection"><code>RowSelection</code></a>.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.row_count" class="method"><a class="srclink rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#446-448">source</a><h4 class="code-header">pub fn <a href="#method.row_count" class="fn">row_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the numb [...]
-</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-RowSelection" class="impl"><a class="srclink rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#87">source</a><a href="#impl-Clone-for-RowSelection" 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-RowSelection" class="impl"><a class="srclink rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#87">source</a><a href="#impl-Clone-for-RowSelection" class="anchor">§ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-RowSelection" class="impl"><a class="srclink rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#87">source</a><a href="#impl-Eq-for-RowSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="str [...]
     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="srclink 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 [...]
diff --git a/parquet/arrow/arrow_reader/struct.RowSelection.html b/parquet/arrow/arrow_reader/struct.RowSelection.html
index c66d131f5..240bea53f 100644
--- a/parquet/arrow/arrow_reader/struct.RowSelection.html
+++ b/parquet/arrow/arrow_reader/struct.RowSelection.html
@@ -66,7 +66,7 @@ other:     NYNNNNNNY</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="srclink rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#441-443">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; 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>&lt;It [...]
 <a href="selection/struct.RowSelection.html" title="struct parquet::arrow::arrow_reader::selection::RowSelection"><code>RowSelection</code></a>.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.row_count" class="method"><a class="srclink rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#446-448">source</a><h4 class="code-header">pub fn <a href="#method.row_count" class="fn">row_count</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number  [...]
-</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-RowSelection" class="impl"><a class="srclink rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#87">source</a><a href="#impl-Clone-for-RowSelection" class="anchor">§</a [...]
+</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-RowSelection" class="impl"><a class="srclink rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#87">source</a><a href="#impl-Clone-for-RowSelection" class="anchor">§</a [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-RowSelection" class="impl"><a class="srclink rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#87">source</a><a href="#impl-Eq-for-RowSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="select [...]
     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="srclink 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 [...]
diff --git a/parquet/arrow/record_reader/buffer/trait.ScalarValue.html b/parquet/arrow/record_reader/buffer/trait.ScalarValue.html
index 356cd7aed..bf35c7f2a 100644
--- a/parquet/arrow/record_reader/buffer/trait.ScalarValue.html
+++ b/parquet/arrow/record_reader/buffer/trait.ScalarValue.html
@@ -2,4 +2,4 @@
 <p>This means that a <code>[Self::default()]</code> of length <code>len</code> can be safely created from a
 zero-initialized <code>[u8]</code> with length <code>len * std::mem::size_of::&lt;Self&gt;()</code> and
 alignment of <code>std::mem::size_of::&lt;Self&gt;()</code></p>
-</div></details><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><section id="impl-ScalarValue-for-u8" class="impl"><a class="srclink rightside" href="../../../../src/parquet/arrow/record_reader/buffer.rs.html#73">source</a><a href="#impl-ScalarValue-for-u8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ScalarValue.html" title="trait parquet::arrow::record_reader::buffer:: [...]
\ No newline at end of file
+</div></details><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><section id="impl-ScalarValue-for-f32" class="impl"><a class="srclink rightside" href="../../../../src/parquet/arrow/record_reader/buffer.rs.html#81">source</a><a href="#impl-ScalarValue-for-f32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ScalarValue.html" title="trait parquet::arrow::record_reader::buffer [...]
\ No newline at end of file
diff --git a/parquet/basic/enum.ColumnOrder.html b/parquet/basic/enum.ColumnOrder.html
index 19d006d3a..ae29831fb 100644
--- a/parquet/basic/enum.ColumnOrder.html
+++ b/parquet/basic/enum.ColumnOrder.html
@@ -19,7 +19,7 @@ Sort order is always SIGNED.</p>
     physical_type: <a class="enum" href="enum.Type.html" title="enum parquet::basic::Type">Type</a>
 ) -&gt; <a class="enum" href="enum.SortOrder.html" title="enum parquet::basic::SortOrder">SortOrder</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.get_default_sort_order" class="method"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#431-447">source</a><h4 class="code-header">fn <a href="#method.get_default_sort_order" class="fn">get_default_sort_order</a>(physical_type: <a class="enum" href="enum.Type.html" title="enum parque [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_order" class="method"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#450-455">source</a><h4 class="code-header">pub fn <a href="#method.sort_order" class="fn">sort_order</a>(&amp;self) -&gt; <a class="enum" href="enum.SortOrder.html" title="enum parquet::basic::SortOrder">SortOrder</a></h4></section></summary><div class="docblock"><p>Returns sort order associated with this col [...]
-</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-ColumnOrder" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#346">source</a><a href="#impl-Clone-for-ColumnOrder" class="anchor">§</a><h3 class="code-header">im [...]
+</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-ColumnOrder" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#346">source</a><a href="#impl-Clone-for-ColumnOrder" class="anchor">§</a><h3 class="code-header">im [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-ColumnOrder" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#346">source</a><a href="#impl-Copy-for-ColumnOrder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.ColumnOrder.ht [...]
     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="srclink 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 [...]
diff --git a/parquet/basic/enum.Encoding.html b/parquet/basic/enum.Encoding.html
index f8a8f111b..743b27231 100644
--- a/parquet/basic/enum.Encoding.html
+++ b/parquet/basic/enum.Encoding.html
@@ -45,7 +45,7 @@ The individual bytes of an FP value are scattered to the corresponding stream an
 the streams are concatenated.
 This itself does not reduce the size of the data but can lead to better compression
 afterwards.</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-Clone-for-Encoding" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#219">source</a><a href="#impl-Clone-for-Encoding" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https: [...]
+</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-Clone-for-Encoding" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#219">source</a><a href="#impl-Clone-for-Encoding" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https: [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/basic/enum.SortOrder.html b/parquet/basic/enum.SortOrder.html
index 4ba66dec9..b68ea1471 100644
--- a/parquet/basic/enum.SortOrder.html
+++ b/parquet/basic/enum.SortOrder.html
@@ -12,7 +12,7 @@ min/max.</p>
 </div><section id="variant.UNSIGNED" class="variant"><a href="#variant.UNSIGNED" class="anchor">§</a><h3 class="code-header">UNSIGNED</h3></section><div class="docblock"><p>Unsigned (depending on physical type either value or byte-wise) comparison.</p>
 </div><section id="variant.UNDEFINED" class="variant"><a href="#variant.UNDEFINED" class="anchor">§</a><h3 class="code-header">UNDEFINED</h3></section><div class="docblock"><p>Comparison is undefined.</p>
 </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-SortOrder" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#334-339">source</a><a href="#impl-SortOrder" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.SortOrder.html" title="enum parquet::bas [...]
-</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-SortOrder" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#323">source</a><a href="#impl-Clone-for-SortOrder" class="anchor">§</a><h3 class="code-header">impl < [...]
+</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-SortOrder" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#323">source</a><a href="#impl-Clone-for-SortOrder" class="anchor">§</a><h3 class="code-header">impl < [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-SortOrder" class="impl"><a class="srclink rightside" href="../../src/parquet/basic.rs.html#323">source</a><a href="#impl-Copy-for-SortOrder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.SortOrder.html" ti [...]
     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="srclink 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 [...]
diff --git a/parquet/data_type/private/trait.ParquetValueType.html b/parquet/data_type/private/trait.ParquetValueType.html
index 65598456d..b6622dc04 100644
--- a/parquet/data_type/private/trait.ParquetValueType.html
+++ b/parquet/data_type/private/trait.ParquetValueType.html
@@ -87,26 +87,26 @@ implemented for <code>f32</code> and <code>f64</code>, types that would fail orp
 )</h4></section><section id="method.decode-2" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#812">source</a><a href="#method.decode-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.decode" class="fn">decode</a>(
     buffer: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     decoder: &amp;mut PlainDecoderDetails
-) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section><section id="method.skip-2" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#812">source</a><a href="#method.skip-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.skip" class="fn">skip</a>(decod [...]
+) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section><section id="method.skip-2" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#812">source</a><a href="#method.skip-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.skip" class="fn">skip</a>(decod [...]
     values: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
-    writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>,
-    _: &amp;mut BitWriter
-) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section><section id="method.set_data-3" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#811">source</a><a href="#method.set_data-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.set_data" class="fn">set_data</a>(
+    _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>,
+    bit_writer: &amp;mut BitWriter
+) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section><section id="method.set_data-3" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#683-690">source</a><a href="#method.set_data-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.set_data" class="fn">se [...]
     decoder: &amp;mut PlainDecoderDetails,
     data: ByteBufferPtr,
     num_values: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-)</h4></section><section id="method.decode-3" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#811">source</a><a href="#method.decode-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.decode" class="fn">decode</a>(
+)</h4></section><section id="method.decode-3" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#693-702">source</a><a href="#method.decode-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.decode" class="fn">decode</a>(
     buffer: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     decoder: &amp;mut PlainDecoderDetails
-) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section><section id="method.skip-3" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#811">source</a><a href="#method.skip-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.skip" class="fn">skip</a>(decod [...]
+) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section><section id="method.skip-3" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#704-710">source</a><a href="#method.skip-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.skip" class="fn">skip</a>(d [...]
     values: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
-    _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>,
-    bit_writer: &amp;mut BitWriter
-) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section><section id="method.set_data-4" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#683-690">source</a><a href="#method.set_data-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.set_data" class="fn">se [...]
+    writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>,
+    _: &amp;mut BitWriter
+) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section><section id="method.set_data-4" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#811">source</a><a href="#method.set_data-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.set_data" class="fn">set_data</a>(
     decoder: &amp;mut PlainDecoderDetails,
     data: ByteBufferPtr,
     num_values: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-)</h4></section><section id="method.decode-4" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#693-702">source</a><a href="#method.decode-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.decode" class="fn">decode</a>(
+)</h4></section><section id="method.decode-4" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#811">source</a><a href="#method.decode-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.decode" class="fn">decode</a>(
     buffer: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     decoder: &amp;mut PlainDecoderDetails
-) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section><section id="method.skip-4" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#704-710">source</a><a href="#method.skip-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.skip" class="fn">skip</a>(d [...]
\ No newline at end of file
+) -&gt; <a class="type" href="../../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section><section id="method.skip-4" class="method trait-impl"><a class="srclink rightside" href="../../../src/parquet/data_type.rs.html#811">source</a><a href="#method.skip-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.skip" class="fn">skip</a>(decod [...]
\ No newline at end of file
diff --git a/parquet/data_type/struct.ByteArray.html b/parquet/data_type/struct.ByteArray.html
index 30e50b5bb..66f83c2cc 100644
--- a/parquet/data_type/struct.ByteArray.html
+++ b/parquet/data_type/struct.ByteArray.html
@@ -8,7 +8,7 @@ Value is backed by a byte buffer.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.data" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#161-166">source</a><h4 class="code-header">pub fn <a href="#method.data" class="fn">data</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblo [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.set_data" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#170-172">source</a><h4 class="code-header">pub fn <a href="#method.set_data" class="fn">set_data</a>(&amp;mut self, data: ByteBufferPtr)</h4></section></summary><div class="docblock"><p>Set data from another byte buffer.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#176-183">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, start: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a [...]
-</div></details><section id="method.as_utf8" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#185-191">source</a><h4 class="code-header">pub fn <a href="#method.as_utf8" class="fn">as_utf8</a>(&amp;self) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</h4></section></div></details></div><h2 id [...]
+</div></details><section id="method.as_utf8" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#185-191">source</a><h4 class="code-header">pub fn <a href="#method.as_utf8" class="fn">as_utf8</a>(&amp;self) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</h4></section></div></details></div><h2 id [...]
     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></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetValueType-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#914-1005">source</a><a href="#impl-ParquetValueType-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a cl [...]
     values: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>,
@@ -20,16 +20,16 @@ Value is backed by a byte buffer.</p>
 )</h4></section></summary><div class='docblock'>Establish the data that will be decoded in a buffer</div></details><details class="toggle method-toggle" open><summary><section id="method.decode" class="method trait-impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#944-971">source</a><a href="#method.decode" class="anchor">§</a><h4 class="code-header">fn <a href="private/trait.ParquetValueType.html#tymethod.decode" class="fn">decode</a>(
     buffer: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     decoder: &amp;mut PlainDecoderDetails
-) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Decode the value from a given buffer for a higher level decoder</div></details><section id="method.skip" class="method trait-impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#973-989">source</a><a href="#metho [...]
+) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Decode the value from a given buffer for a higher level decoder</div></details><section id="method.skip" class="method trait-impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#973-989">source</a><a href="#metho [...]
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#274-278">source</a><a href="#impl-PartialEq%3CByteArray%3E-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightl [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne-2" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#274-278">source</a><a href="#impl-PartialEq%3CByteArray%3E-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightl [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#280-284">source</a><a href="#impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightl [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#280-284">source</a><a href="#impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightl [...]
-by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#121-137">source</a><a href="#impl-PartialOrd%3CByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/tra [...]
-operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt-2" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1100">source</a></span><a href="#method.gt-2" class="anchor">§</a><h4 class="code-hea [...]
-operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#304-308">source</a><a href="#impl-PartialOrd%3CByteArray%3E-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="t [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#121-137">source</a><a href="#impl-PartialOrd%3CByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/tra [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1100">source</a></span><a href="#method.gt-1" class="anchor">§</a><h4 class="code-hea [...]
+operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#304-308">source</a><a href="#impl-PartialOrd%3CByteArray%3E-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="t [...]
+operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt-2" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1100">source</a></span><a href="#method.gt-2" class="anchor">§</a><h4 class="code-hea [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#298-302">source</a><a href="#impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="t [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1100">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header" [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SliceAsBytes-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#531">source</a><a href="#impl-SliceAsBytes-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.SliceAsBytes.html" title="tr [...]
diff --git a/parquet/data_type/struct.FixedLenByteArray.html b/parquet/data_type/struct.FixedLenByteArray.html
index f37fca926..370deda07 100644
--- a/parquet/data_type/struct.FixedLenByteArray.html
+++ b/parquet/data_type/struct.FixedLenByteArray.html
@@ -14,7 +14,7 @@ level logical types, removing the data-hazard from all decoding and encoding pat
 </div></details><details class="toggle method-toggle" open><summary><section id="method.data" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#161-166">source</a><h4 class="code-header">pub fn <a href="#method.data" class="fn">data</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblo [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.set_data" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#170-172">source</a><h4 class="code-header">pub fn <a href="#method.set_data" class="fn">set_data</a>(&amp;mut self, data: ByteBufferPtr)</h4></section></summary><div class="docblock"><p>Set data from another byte buffer.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.slice" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#176-183">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(&amp;self, start: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a [...]
-</div></details><section id="method.as_utf8" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#185-191">source</a><h4 class="code-header">pub fn <a href="#method.as_utf8" class="fn">as_utf8</a>(&amp;self) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</h4></section></div><h2 id="trait-implemen [...]
+</div></details><section id="method.as_utf8" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#185-191">source</a><h4 class="code-header">pub fn <a href="#method.as_utf8" class="fn">as_utf8</a>(&amp;self) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</h4></section></div><h2 id="trait-implemen [...]
     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></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetValueType-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#1007-1098">source</a><a href="#impl-ParquetValueType-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-h [...]
     values: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>,
@@ -26,12 +26,12 @@ level logical types, removing the data-hazard from all decoding and encoding pat
 )</h4></section></summary><div class='docblock'>Establish the data that will be decoded in a buffer</div></details><details class="toggle method-toggle" open><summary><section id="method.decode" class="method trait-impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#1035-1060">source</a><a href="#method.decode" class="anchor">§</a><h4 class="code-header">fn <a href="private/trait.ParquetValueType.html#tymethod.decode" class="fn">decode</a>(
     buffer: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     decoder: &amp;mut PlainDecoderDetails
-) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Decode the value from a given buffer for a higher level decoder</div></details><section id="method.skip" class="method trait-impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#1062-1082">source</a><a href="#met [...]
+) -&gt; <a class="type" href="../errors/type.Result.html" title="type parquet::errors::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Decode the value from a given buffer for a higher level decoder</div></details><section id="method.skip" class="method trait-impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#1062-1082">source</a><a href="#met [...]
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne-2" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#280-284">source</a><a href="#impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightl [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#280-284">source</a><a href="#impl-PartialEq%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightl [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CFixedLenByteArray%3E-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#268-272">source</a><a href="#impl-PartialEq%3CFixedLenByteArray%3E-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CFixedLenByteArray%3E-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#268-272">source</a><a href="#impl-PartialEq%3CFixedLenByteArray%3E-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust [...]
-by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne-2" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#304-308">source</a><a href="#impl-PartialOrd%3CByteArray%3E-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nigh [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1100">source</a></span><a href="#method.gt-1" class="anchor">§</a><h4 class="code-hea [...]
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#298-302">source</a><a href="#impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="t [...]
diff --git a/parquet/data_type/struct.Int96.html b/parquet/data_type/struct.Int96.html
index cad24c0c9..ff5ab589a 100644
--- a/parquet/data_type/struct.Int96.html
+++ b/parquet/data_type/struct.Int96.html
@@ -9,7 +9,7 @@ The type only takes 12 bytes, without extra padding.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_nanos" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#67-72">source</a><h4 class="code-header">pub fn <a href="#method.to_nanos" class="fn">to_nanos</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a></h4></section></summary><div class="docblock"><p>Converts this INT96 into an i64 representing the n [...]
 <p>Will wrap around on overflow</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_seconds_and_nanos" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#75-83">source</a><h4 class="code-header">pub fn <a href="#method.to_seconds_and_nanos" class="fn">to_seconds_and_nanos</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/ [...]
-</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-AsBytes-for-Int96" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#540-546">source</a><a href="#impl-AsBytes-for-Int96" class="anchor">§</a><h3 class="code-header">im [...]
+</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-AsBytes-for-Int96" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#540-546">source</a><a href="#impl-AsBytes-for-Int96" class="anchor">§</a><h3 class="code-header">im [...]
     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></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetValueType-for-Int96" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#815-912">source</a><a href="#impl-ParquetValueType-for-Int96" class="anchor">§</a><h3 class="code-header">impl <a class="trai [...]
     values: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>,
     writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut W</a>,
diff --git a/parquet/data_type/trait.AsBytes.html b/parquet/data_type/trait.AsBytes.html
index 9f74d1adb..1d01890f3 100644
--- a/parquet/data_type/trait.AsBytes.html
+++ b/parquet/data_type/trait.AsBytes.html
@@ -3,4 +3,4 @@
     fn <a href="#tymethod.as_bytes" class="fn">as_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a>;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Converts an instance of data type to a slice of bytes as <code>u8</code>.</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.as_bytes" class="method"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#444">source</a><h4 class="code-header">fn <a href="#tymethod.as_bytes" class="fn">as_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust [...]
-</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-AsBytes-for-u16" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#508">source</a><a href="#impl-AsBytes-for-u16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.AsBytes.html" title="trait parquet::dat [...]
\ 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-AsBytes-for-Vec%3Cu8%3E" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#566-570">source</a><a href="#impl-AsBytes-for-Vec%3Cu8%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.AsBytes.html" title [...]
\ No newline at end of file
diff --git a/parquet/data_type/trait.SliceAsBytes.html b/parquet/data_type/trait.SliceAsBytes.html
index 546eb23d2..df4a8dadc 100644
--- a/parquet/data_type/trait.SliceAsBytes.html
+++ b/parquet/data_type/trait.SliceAsBytes.html
@@ -8,4 +8,4 @@
 <h5 id="safety"><a href="#safety">Safety</a></h5>
 <p>If modified you are <em>required</em> to ensure the internal representation
 is valid and correct for the actual raw data</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-SliceAsBytes-for-i16" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#504">source</a><a href="#impl-SliceAsBytes-for-i16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.SliceAsBytes.html" title="tra [...]
\ 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-SliceAsBytes-for-u64" class="impl"><a class="srclink rightside" href="../../src/parquet/data_type.rs.html#510">source</a><a href="#impl-SliceAsBytes-for-u64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.SliceAsBytes.html" title="tra [...]
\ No newline at end of file
diff --git a/parquet/errors/enum.ParquetError.html b/parquet/errors/enum.ParquetError.html
index 298cf2d40..2e2cb1311 100644
--- a/parquet/errors/enum.ParquetError.html
+++ b/parquet/errors/enum.ParquetError.html
@@ -16,7 +16,7 @@ decode.</p>
 </div><section id="variant.ArrowError" class="variant"><a href="#variant.ArrowError" class="anchor">§</a><h3 class="code-header">ArrowError(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>)</h3></section><div class="docblock"><p>Arrow error.
 Returned when reading into arrow or writing from arrow.</p>
 </div><section id="variant.IndexOutOfBound" class="variant"><a href="#variant.IndexOutOfBound" class="anchor">§</a><h3 class="code-header">IndexOutOfBound(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h3></section><section id="variant.External" class="variant"><a href="#variant.External" class="anchor">§</a><h3 class="code-header">External [...]
-</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-ParquetError" class="impl"><a class="srclink rightside" href="../../src/parquet/errors.rs.html#29">source</a><a href="#impl-Debug-for-ParquetError" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href [...]
+</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-ParquetError" class="impl"><a class="srclink rightside" href="../../src/parquet/errors.rs.html#29">source</a><a href="#impl-Debug-for-ParquetError" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href [...]
     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="srclink 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 [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_error_source" class="method trait-impl"><a href="#method.as_error_source" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_error_source</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://do [...]
 to benefit from Rust’s automatic dereferencing of method
diff --git a/parquet/file/serialized_reader/struct.SerializedFileReader.html b/parquet/file/serialized_reader/struct.SerializedFileReader.html
index f4db6d44d..cb737ef83 100644
--- a/parquet/file/serialized_reader/struct.SerializedFileReader.html
+++ b/parquet/file/serialized_reader/struct.SerializedFileReader.html
@@ -9,7 +9,7 @@ Returns error if Parquet file does not exist or is corrupt.</p>
 Returns error if Parquet file does not exist or is corrupt.</p>
 </div></details><section id="method.metadata_ref" class="method"><a class="srclink 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>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../metadata/struct.ParquetMetaData.html" title="s [...]
 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 [...]
+</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&lt;R&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core:: [...]
     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-SerializedFileRe [...]
     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="srclink 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 [...]
diff --git a/parquet/file/statistics/enum.Statistics.html b/parquet/file/statistics/enum.Statistics.html
index b2ff0a349..f737355df 100644
--- a/parquet/file/statistics/enum.Statistics.html
+++ b/parquet/file/statistics/enum.Statistics.html
@@ -87,7 +87,7 @@ Panics if min value is not set.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.max_bytes" class="method"><a class="srclink rightside" href="../../../src/parquet/file/statistics.rs.html#379-381">source</a><h4 class="code-header">pub fn <a href="#method.max_bytes" class="fn">max_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></su [...]
 Panics if max value is not set.</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.physical_type" class="method"><a class="srclink rightside" href="../../../src/parquet/file/statistics.rs.html#384-395">source</a><h4 class="code-header">pub fn <a href="#method.physical_type" class="fn">physical_type</a>(&amp;self) -&gt; <a class="enum" href="../../basic/enum.Type.html" title="enum parquet::basic::Type">Type</a></h4></section></summary><div class="docblock"><p>Returns physical type as [...]
-</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-Statistics" class="impl"><a class="srclink rightside" href="../../../src/parquet/file/statistics.rs.html#269">source</a><a href="#impl-Clone-for-Statistics" class="anchor">§</a><h3 class="code [...]
+</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-Statistics" class="impl"><a class="srclink rightside" href="../../../src/parquet/file/statistics.rs.html#269">source</a><a href="#impl-Clone-for-Statistics" class="anchor">§</a><h3 class="code [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-Statistics" class="impl"><a class="srclink rightside" href="../../../src/parquet/file/statistics.rs.html#269">source</a><a href="#impl-StructuralPartialEq-for-Statistics" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::Stru [...]
     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="srclink 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 [...]
diff --git a/parquet/file/statistics/private/trait.MakeStatistics.html b/parquet/file/statistics/private/trait.MakeStatistics.html
index 1598ff486..63fe9b911 100644
--- a/parquet/file/statistics/private/trait.MakeStatistics.html
+++ b/parquet/file/statistics/private/trait.MakeStatistics.html
@@ -3,9 +3,9 @@
     fn <a href="#tymethod.make_statistics" class="fn">make_statistics</a>(statistics: <a class="struct" href="../struct.ValueStatistics.html" title="struct parquet::file::statistics::ValueStatistics">ValueStatistics</a>&lt;Self&gt;) -&gt; <a class="enum" href="../enum.Statistics.html" title="enum parquet::file::statistics::Statistics">Statistics</a>
        <span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>;
 }</code></pre><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.make_statistics" class="method"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#53-55">source</a><h4 class="code-header">fn <a href="#tymethod.make_statistics" class="fn">make_statistics</a>(statistics: <a class="struct" href="../struct.ValueStatistics.html" title="struct par [...]
-    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></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-MakeStatistics-for-i32" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.htm [...]
-    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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-f32" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#75">source</a><a href="#impl-MakeStatistics-for-f32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" hre [...]
-    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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-bool" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#71">source</a><a href="#impl-MakeStatistics-for-bool" class="anchor">§</a><h3 class="code-header">impl <a class="trait" 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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-f64" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#76">source</a><a href="#impl-MakeStatistics-for-f64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" hre [...]
-    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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-i64" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#73">source</a><a href="#impl-MakeStatistics-for-i64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" hre [...]
+    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></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-MakeStatistics-for-f32" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.htm [...]
+    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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-bool" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#71">source</a><a href="#impl-MakeStatistics-for-bool" class="anchor">§</a><h3 class="code-header">impl <a class="trait" 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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-f64" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#76">source</a><a href="#impl-MakeStatistics-for-f64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" hre [...]
+    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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-i64" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#73">source</a><a href="#impl-MakeStatistics-for-i64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" hre [...]
+    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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MakeStatistics-for-i32" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#72">source</a><a href="#impl-MakeStatistics-for-i32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" hre [...]
     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></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-MakeStatistics-for-ByteArray" class="impl"><a class="srclink rightside" href="../../../../src/parquet/file/statistics.rs.html#77">source</a><a href="#impl- [...]
\ No newline at end of file
diff --git a/parquet/format/struct.BoundaryOrder.html b/parquet/format/struct.BoundaryOrder.html
index 710932f25..20f50844c 100644
--- a/parquet/format/struct.BoundaryOrder.html
+++ b/parquet/format/struct.BoundaryOrder.html
@@ -1,6 +1,6 @@
 <!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="Enum to annotate whether lists of min/max elements inside ColumnIndex are ordered and if so, in which direction."><title>BoundaryOrder in parquet::format - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac52 [...]
 are ordered and if so, in which direction.</p>
-</div></details><h2 id="fields" class="fields small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="impleme [...]
+</div></details><h2 id="fields" class="fields small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="impleme [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/format/struct.CompressionCodec.html b/parquet/format/struct.CompressionCodec.html
index 32e42ac6a..2b2b5e464 100644
--- a/parquet/format/struct.CompressionCodec.html
+++ b/parquet/format/struct.CompressionCodec.html
@@ -3,7 +3,7 @@
 Codec support may vary between readers based on the format version and
 libraries available at runtime.</p>
 <p>See Compression.md for a detailed specification of these algorithms.</p>
-</div></details><h2 id="fields" class="fields small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="impleme [...]
+</div></details><h2 id="fields" class="fields small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="impleme [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/format/struct.ConvertedType.html b/parquet/format/struct.ConvertedType.html
index 3a7e0eb9b..7f1f995d2 100644
--- a/parquet/format/struct.ConvertedType.html
+++ b/parquet/format/struct.ConvertedType.html
@@ -54,7 +54,7 @@ the second identifies the number of days associated with the duration
 and the third identifies the number of milliseconds associated with
 the provided duration.  This duration of time is independent of any
 particular timezone or date.</p>
-</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#198-221">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ENUM_VALUES" class="constant">ENUM_VALUES</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a> = _</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-head [...]
+</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#198-221">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ENUM_VALUES" class="constant">ENUM_VALUES</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a> = _</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-head [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/format/struct.Encoding.html b/parquet/format/struct.Encoding.html
index f4922c0b4..ecdb1f349 100644
--- a/parquet/format/struct.Encoding.html
+++ b/parquet/format/struct.Encoding.html
@@ -30,7 +30,7 @@ The individual bytes of an FP value are scattered to the corresponding stream an
 the streams are concatenated.
 This itself does not reduce the size of the data but can lead to better compression
 afterwards.</p>
-</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#386-396">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ENUM_VALUES" class="constant">ENUM_VALUES</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a> = _</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-head [...]
+</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#386-396">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ENUM_VALUES" class="constant">ENUM_VALUES</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a> = _</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-head [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/format/struct.FieldRepetitionType.html b/parquet/format/struct.FieldRepetitionType.html
index 9d3bde7c8..2bf3c061d 100644
--- a/parquet/format/struct.FieldRepetitionType.html
+++ b/parquet/format/struct.FieldRepetitionType.html
@@ -2,7 +2,7 @@
 </div></details><h2 id="fields" class="fields small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="impleme [...]
 </div></details><details class="toggle" open><summary><section id="associatedconstant.OPTIONAL" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#291">source</a><h4 class="code-header">pub const <a href="#associatedconstant.OPTIONAL" class="constant">OPTIONAL</a>: <a class="struct" href="struct.FieldRepetitionType.html" title="struct parquet::format::FieldRepetitionType">FieldRepetitionType</a> = _</h4></section></summary><div class="docblock" [...]
 </div></details><details class="toggle" open><summary><section id="associatedconstant.REPEATED" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#293">source</a><h4 class="code-header">pub const <a href="#associatedconstant.REPEATED" class="constant">REPEATED</a>: <a class="struct" href="struct.FieldRepetitionType.html" title="struct parquet::format::FieldRepetitionType">FieldRepetitionType</a> = _</h4></section></summary><div class="docblock" [...]
-</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#294-298">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ENUM_VALUES" class="constant">ENUM_VALUES</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a> = _</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-head [...]
+</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="srclink rightside" href="../../src/parquet/format.rs.html#294-298">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ENUM_VALUES" class="constant">ENUM_VALUES</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a> = _</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-head [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/format/struct.PageType.html b/parquet/format/struct.PageType.html
index 757931abd..4c15c8894 100644
--- a/parquet/format/struct.PageType.html
+++ b/parquet/format/struct.PageType.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 `PageType` struct in crate `parquet`."><title>PageType in parquet::format - 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="API documentation for the Rust `PageType` struct in crate `parquet`."><title>PageType in parquet::format - 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= [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/format/struct.Type.html b/parquet/format/struct.Type.html
index 42b6c081f..04e51f29c 100644
--- a/parquet/format/struct.Type.html
+++ b/parquet/format/struct.Type.html
@@ -2,7 +2,7 @@
 with the encodings to control the on disk storage format.
 For example INT16 is not included as a type since a good encoding of INT32
 would handle this.</p>
-</div></details><h2 id="fields" class="fields small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="impleme [...]
+</div></details><h2 id="fields" class="fields small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="impleme [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
     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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="s [...]
diff --git a/parquet/record/api/struct.Row.html b/parquet/record/api/struct.Row.html
index c272c8b59..0f42c9d05 100644
--- a/parquet/record/api/struct.Row.html
+++ b/parquet/record/api/struct.Row.html
@@ -14,9 +14,9 @@
 <span class="kw">for </span>(idx, (name, field)) <span class="kw">in </span>row.get_column_iter().enumerate() {
     <span class="macro">println!</span>(<span class="string">&quot;column index: {}, column name: {}, column value: {}&quot;</span>, idx, name, field);
 }</code></pre></div>
-</div></details><section id="method.to_json_value" class="method"><a class="srclink rightside" href="../../../src/parquet/record/api.rs.html#83-90">source</a><h4 class="code-header">pub fn <a href="#method.to_json_value" class="fn">to_json_value</a>(&amp;self) -&gt; <a class="enum" href="https://docs.rs/serde_json/1.0.99/serde_json/value/enum.Value.html" title="enum serde_json::value::Value">Value</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section [...]
+</div></details><section id="method.to_json_value" class="method"><a class="srclink rightside" href="../../../src/parquet/record/api.rs.html#83-90">source</a><h4 class="code-header">pub fn <a href="#method.to_json_value" class="fn">to_json_value</a>(&amp;self) -&gt; <a class="enum" href="https://docs.rs/serde_json/1.0.99/serde_json/value/enum.Value.html" title="enum serde_json::value::Value">Value</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RowAccessor-for-Row" class="impl"><a class="srclink rightside" href="../../../src/parquet/record/api.rs.html#199-237">source</a><a href="#impl-RowAccessor-for-Row" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.RowAccessor.html" title="trait parquet::record::api::RowAccessor">RowAccesso [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RowAccessor-for-Row" class="impl"><a class="srclink rightside" href="../../../src/parquet/record/api.rs.html#199-237">source</a><a href="#impl-RowAccessor-for-Row" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.RowAccessor.html" title="trait parquet::record::api::RowAccessor">RowAccesso [...]
 </div></details></div></details><section id="impl-StructuralPartialEq-for-Row" class="impl"><a class="srclink rightside" href="../../../src/parquet/record/api.rs.html#46">source</a><a href="#impl-StructuralPartialEq-for-Row" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Row.html"  [...]
     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="srclink 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 [...]
     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="srclink 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="ht [...]
diff --git a/parquet/record/struct.Row.html b/parquet/record/struct.Row.html
index 110ac0770..90cb436ce 100644
--- a/parquet/record/struct.Row.html
+++ b/parquet/record/struct.Row.html
@@ -14,9 +14,9 @@
 <span class="kw">for </span>(idx, (name, field)) <span class="kw">in </span>row.get_column_iter().enumerate() {
     <span class="macro">println!</span>(<span class="string">&quot;column index: {}, column name: {}, column value: {}&quot;</span>, idx, name, field);
 }</code></pre></div>
-</div></details><section id="method.to_json_value" class="method"><a class="srclink rightside" href="../../src/parquet/record/api.rs.html#83-90">source</a><h4 class="code-header">pub fn <a href="#method.to_json_value" class="fn">to_json_value</a>(&amp;self) -&gt; <a class="enum" href="https://docs.rs/serde_json/1.0.99/serde_json/value/enum.Value.html" title="enum serde_json::value::Value">Value</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section-he [...]
+</div></details><section id="method.to_json_value" class="method"><a class="srclink rightside" href="../../src/parquet/record/api.rs.html#83-90">source</a><h4 class="code-header">pub fn <a href="#method.to_json_value" class="fn">to_json_value</a>(&amp;self) -&gt; <a class="enum" href="https://docs.rs/serde_json/1.0.99/serde_json/value/enum.Value.html" title="enum serde_json::value::Value">Value</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section-he [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RowAccessor-for-Row" class="impl"><a class="srclink rightside" href="../../src/parquet/record/api.rs.html#199-237">source</a><a href="#impl-RowAccessor-for-Row" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="api/trait.RowAccessor.html" title="trait parquet::record::api::RowAccessor">RowAccess [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RowAccessor-for-Row" class="impl"><a class="srclink rightside" href="../../src/parquet/record/api.rs.html#199-237">source</a><a href="#impl-RowAccessor-for-Row" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="api/trait.RowAccessor.html" title="trait parquet::record::api::RowAccessor">RowAccess [...]
 </div></details></div></details><section id="impl-StructuralPartialEq-for-Row" class="impl"><a class="srclink rightside" href="../../src/parquet/record/api.rs.html#46">source</a><a href="#impl-StructuralPartialEq-for-Row" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="api/struct.Row.html" [...]
     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="srclink 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 [...]
     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="srclink 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="ht [...]
diff --git a/parquet/schema/types/struct.ColumnPath.html b/parquet/schema/types/struct.ColumnPath.html
index 0cb4fbd3b..6f9824151 100644
--- a/parquet/schema/types/struct.ColumnPath.html
+++ b/parquet/schema/types/struct.ColumnPath.html
@@ -18,7 +18,7 @@
 
 path.append(<span class="macro">vec!</span>[<span class="string">&quot;d&quot;</span>.to_string(), <span class="string">&quot;e&quot;</span>.to_string()]);
 <span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>path.string(), <span class="string">&quot;a.b.c.d.e&quot;</span>);</code></pre></div>
-</div></details><section id="method.parts" class="method"><a class="srclink rightside" href="../../../src/parquet/schema/types.rs.html#701-703">source</a><h4 class="code-header">pub fn <a href="#method.parts" class="fn">parts</a>(&amp;self) -&gt; &amp;[<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>]</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Tra [...]
+</div></details><section id="method.parts" class="method"><a class="srclink rightside" href="../../../src/parquet/schema/types.rs.html#701-703">source</a><h4 class="code-header">pub fn <a href="#method.parts" class="fn">parts</a>(&amp;self) -&gt; &amp;[<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>]</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Tra [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</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'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" cl [...]
diff --git a/search-index.js b/search-index.js
index 589c04d74..e9b26300c 100644
--- a/search-index.js
+++ b/search-index.js
@@ -14,7 +14,7 @@ var searchIndex = JSON.parse('{\
 "arrow_json":{"doc":"Transfer data between the Arrow memory format and JSON …","t":"CICCCCKOAAIDDDDMMALLLLLLLLLLLLMAKLMMLLLLLLLLLFFFLLLLMAFAMLLAAOLMMMALMMLAMAAAMALLLLLLLLLLLLDLLLLLLLLLLLDLLLLLLLLMMMLLLDLLLMLMLLLMLMLLLDLLLMLLLLMMLLLLMDLLLLLLLLLLLIDLLLMLLLLLKMOLLLNNENNDLLLLLLLLFFLLLLLLFFFFFFFFFFLLLMMLLLMMFLLLLLLLDDDDLLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLOLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLRDRLLLMLLLLLMLLLDLLLMLMLLLMLMFLLLDNENNNNNNENNNNNNNNNNDDENNNNLLLLLMLLLLLLLLLLLLLMLL [...]
 "arrow_json_integration_test":{"doc":"","t":"DNNENMFLLLLLLFLLLLLLLLLLLLLLLLMLLLLMFFMLLLLLLLLLLFLMLL","n":["Args","ArrowToJson","JsonToArrow","Mode","Validate","arrow","arrow_to_json","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","canonicalize_schema","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","integration","into"," [...]
 "arrow_ord":{"doc":"Arrow ordering kernels","t":"AAAAFFFFFFFFFFFOOFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFOFOOOOOOFFFGFFOFFFFFDLLLMFLLLLFLMFMMLLLLDGDDLLLLLLLLLLLLLFLFLMLMLLLLLLLLLLLLFLLLFFLMMLFFFFFFFFFFFFFFFFFFFFFFFLLLLLLLLLLLLM","n":["comparison","ord","partition","sort","cmp_dict","cmp_dict_binary","cmp_dict_binary_array","cmp_dict_bool","cmp_dict_boolean_array","cmp_dict_primitive","cmp_dict_string_array","cmp_dict_utf8","cmp_primitive_array [...]
-"arrow_row":{"doc":"A comparable row-oriented representation of a collection …","t":"ENNNNENNDDDDDDDDNNNNLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMMMMMLLLMMMFOOAFLMLLLLLLLLLMMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLALLLLFLLLFLMMLLLLLLMLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAFFFFFFOFFFSQIIKFFFFFFKFOOFKFDDDDDLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLMMLMLLMLLLLLLLLLLLLLLLLLLLMMMFFFFFRRRRFFFFFFF","n":["Codec","Dictionary","Dictionary","DictionaryValues","Di [...]
+"arrow_row":{"doc":"A comparable row-oriented representation of a collection …","t":"ENNNNENNDDDDDDDDNNNNLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMMMMMLLLMMMFOOALFLMLLLLLLLLLMMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLALLLLFLLLFLMMLLLLLLMLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAFFFFFFOFFFSQIIKFFFFFFKFOOFKFDDDDDLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLMMLMLLMLLLLLLLLLLLLLLLLLLLMMMFFFFFRRRRFFFFFFF","n":["Codec","Dictionary","Dictionary","DictionaryValues"," [...]
 "arrow_schema":{"doc":"Arrow logical types","t":"ENNNNNNRRRRRENNNNNNNNNNNDGDNNNNNNNNNNENNNNNNNNNNNNNNNNNNNDDNGNDNNNNENNNNNNDENNLLLLLMALMMMLLAAAAMMLLLLMMMLMMLALLLLNNRRRRRENNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNNNNENNNNNNENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLENNNNNNNNNNNNNNNNLLLLLLLLLLLLLLLLDDDLLLLLLMMLMMLLLALMLLMLLFLLLLMMMLMLMMFLLLLLLLLLLLLLLLLLSDSSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDGLLLLLLLLMLLMLMLLLLLLLLLLLMLMLLLLLLLLMLLLLLLLLL [...]
 "arrow_select":{"doc":"Arrow selection kernels","t":"AAAAAAAFFFNRGDDDDNNENNDNLLLLLLLLLLLLLFLLLLLLMMMLMMLLFLMMFFFFFFFFFLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLFMLMMMMLLLLLLLLLLLLLLLLLLDMLLLLLFFFFLLMMOLLLFDLLLMLLLLLLLFFFFFFFFFFFFFFFFLLLLFF","n":["concat","filter","interleave","nullif","take","window","zip","binary_capacity","concat","concat_batches","All","FILTER_SLICES_SELECTIVITY_THRESHOLD","Filter","FilterBuilder","FilterBytes","FilterPredicate","IndexIterator","IndexIterator","Indices","Iter [...]
 "arrow_stream_to_file":{"doc":"","t":"F","n":["main"],"q":[[0,"arrow_stream_to_file"]],"d":[""],"i":[0],"f":[[[],1]],"c":[],"p":[[6,"Result"]]},\
@@ -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":"AAAAAAOAAAARCCDCDLAFAAALLLLALLLLLLAMLLLLLLLLLLMMFFFALLLLLLLLLIDDDDGDIDDFMMMLLLLLLLLLLLLLKLKFMMAMLLLLLLLMLLLLMLMLLLLLLKMMLMKMMMMLLMMAMMMFMMLLLLLLLLLLLLLLLLLLLLLLLIDDLLLLLLKLMLLLLLLLLMKLMLLLLLLDDFLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLMLLMLLMLLLLLLLLLLDEDDDNDNGLMLLLLLLLLLLLLMMALLLLLLLLLLMLLLLLLLLLLLLLLLLLFFLFFLFFFLMLLLLLLLLLLMAMLLLLMLLLLLLLLLLLLLLLLLLLLLLFFLLFMMDDNNDDENLMLLLLLLLLLLLLLLLFLLMOOOFLLMLLLLLMLLLLLLLLLLLLLLLLLLLM [...]
 "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/arrow_row/dictionary.rs.html b/src/arrow_row/dictionary.rs.html
index cbcd07623..de17ad9c3 100644
--- a/src/arrow_row/dictionary.rs.html
+++ b/src/arrow_row/dictionary.rs.html
@@ -354,18 +354,19 @@
 
 <span class="doccomment">/// Encode dictionary values not preserving the dictionary encoding
 </span><span class="kw">pub fn </span>encode_dictionary_values&lt;K: ArrowDictionaryKeyType&gt;(
-    out: <span class="kw-2">&amp;mut </span>Rows,
+    data: <span class="kw-2">&amp;mut </span>[u8],
+    offsets: <span class="kw-2">&amp;mut </span>[usize],
     column: <span class="kw-2">&amp;</span>DictionaryArray&lt;K&gt;,
     values: <span class="kw-2">&amp;</span>Rows,
     null: <span class="kw-2">&amp;</span>Row&lt;<span class="lifetime">&#39;_</span>&gt;,
 ) {
-    <span class="kw">for </span>(offset, k) <span class="kw">in </span>out.offsets.iter_mut().skip(<span class="number">1</span>).zip(column.keys()) {
+    <span class="kw">for </span>(offset, k) <span class="kw">in </span>offsets.iter_mut().skip(<span class="number">1</span>).zip(column.keys()) {
         <span class="kw">let </span>row = <span class="kw">match </span>k {
             <span class="prelude-val">Some</span>(k) =&gt; values.row(k.as_usize()).data,
             <span class="prelude-val">None </span>=&gt; null.data,
         };
         <span class="kw">let </span>end_offset = <span class="kw-2">*</span>offset + row.len();
-        out.buffer[<span class="kw-2">*</span>offset..end_offset].copy_from_slice(row);
+        data[<span class="kw-2">*</span>offset..end_offset].copy_from_slice(row);
         <span class="kw-2">*</span>offset = end_offset;
     }
 }
@@ -375,27 +376,26 @@
 /// - single `0_u8` if null
 /// - the bytes of the corresponding normalized key including the null terminator
 </span><span class="kw">pub fn </span>encode_dictionary&lt;K: ArrowDictionaryKeyType&gt;(
-    out: <span class="kw-2">&amp;mut </span>Rows,
+    data: <span class="kw-2">&amp;mut </span>[u8],
+    offsets: <span class="kw-2">&amp;mut </span>[usize],
     column: <span class="kw-2">&amp;</span>DictionaryArray&lt;K&gt;,
     normalized_keys: <span class="kw-2">&amp;</span>[<span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span>[u8]&gt;],
     opts: SortOptions,
 ) {
-    <span class="kw">for </span>(offset, k) <span class="kw">in </span>out.offsets.iter_mut().skip(<span class="number">1</span>).zip(column.keys()) {
+    <span class="kw">for </span>(offset, k) <span class="kw">in </span>offsets.iter_mut().skip(<span class="number">1</span>).zip(column.keys()) {
         <span class="kw">match </span>k.and_then(|k| normalized_keys[k.as_usize()]) {
             <span class="prelude-val">Some</span>(normalized_key) =&gt; {
                 <span class="kw">let </span>end_offset = <span class="kw-2">*</span>offset + <span class="number">1 </span>+ normalized_key.len();
-                out.buffer[<span class="kw-2">*</span>offset] = <span class="number">1</span>;
-                out.buffer[<span class="kw-2">*</span>offset + <span class="number">1</span>..end_offset].copy_from_slice(normalized_key);
+                data[<span class="kw-2">*</span>offset] = <span class="number">1</span>;
+                data[<span class="kw-2">*</span>offset + <span class="number">1</span>..end_offset].copy_from_slice(normalized_key);
                 <span class="comment">// Negate if descending
                 </span><span class="kw">if </span>opts.descending {
-                    out.buffer[<span class="kw-2">*</span>offset..end_offset]
-                        .iter_mut()
-                        .for_each(|v| <span class="kw-2">*</span>v = !<span class="kw-2">*</span>v)
+                    data[<span class="kw-2">*</span>offset..end_offset].iter_mut().for_each(|v| <span class="kw-2">*</span>v = !<span class="kw-2">*</span>v)
                 }
                 <span class="kw-2">*</span>offset = end_offset;
             }
             <span class="prelude-val">None </span>=&gt; {
-                out.buffer[<span class="kw-2">*</span>offset] = null_sentinel(opts);
+                data[<span class="kw-2">*</span>offset] = null_sentinel(opts);
                 <span class="kw-2">*</span>offset += <span class="number">1</span>;
             }
         }
diff --git a/src/arrow_row/fixed.rs.html b/src/arrow_row/fixed.rs.html
index 7da43b146..99a8f0f59 100644
--- a/src/arrow_row/fixed.rs.html
+++ b/src/arrow_row/fixed.rs.html
@@ -382,6 +382,8 @@
 <a href="#382" id="382">382</a>
 <a href="#383" id="383">383</a>
 <a href="#384" id="384">384</a>
+<a href="#385" id="385">385</a>
+<a href="#386" id="386">386</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
@@ -400,7 +402,7 @@
 // under the License.
 
 </span><span class="kw">use </span><span class="kw">crate</span>::array::PrimitiveArray;
-<span class="kw">use crate</span>::{null_sentinel, Rows};
+<span class="kw">use </span><span class="kw">crate</span>::null_sentinel;
 <span class="kw">use </span>arrow_array::builder::BufferBuilder;
 <span class="kw">use </span>arrow_array::{ArrowPrimitiveType, BooleanArray, FixedSizeBinaryArray};
 <span class="kw">use </span>arrow_buffer::{bit_util, i256, ArrowNativeType, Buffer, MutableBuffer};
@@ -561,14 +563,15 @@
 /// - 1 byte `0` if null or `1` if valid
 /// - bytes of [`FixedLengthEncoding`]
 </span><span class="kw">pub fn </span>encode&lt;T: FixedLengthEncoding, I: IntoIterator&lt;Item = <span class="prelude-ty">Option</span>&lt;T&gt;&gt;&gt;(
-    out: <span class="kw-2">&amp;mut </span>Rows,
+    data: <span class="kw-2">&amp;mut </span>[u8],
+    offsets: <span class="kw-2">&amp;mut </span>[usize],
     i: I,
     opts: SortOptions,
 ) {
-    <span class="kw">for </span>(offset, maybe_val) <span class="kw">in </span>out.offsets.iter_mut().skip(<span class="number">1</span>).zip(i) {
+    <span class="kw">for </span>(offset, maybe_val) <span class="kw">in </span>offsets.iter_mut().skip(<span class="number">1</span>).zip(i) {
         <span class="kw">let </span>end_offset = <span class="kw-2">*</span>offset + T::ENCODED_LEN;
         <span class="kw">if let </span><span class="prelude-val">Some</span>(val) = maybe_val {
-            <span class="kw">let </span>to_write = <span class="kw-2">&amp;mut </span>out.buffer[<span class="kw-2">*</span>offset..end_offset];
+            <span class="kw">let </span>to_write = <span class="kw-2">&amp;mut </span>data[<span class="kw-2">*</span>offset..end_offset];
             to_write[<span class="number">0</span>] = <span class="number">1</span>;
             <span class="kw">let </span><span class="kw-2">mut </span>encoded = val.encode();
             <span class="kw">if </span>opts.descending {
@@ -577,22 +580,23 @@
             }
             to_write[<span class="number">1</span>..].copy_from_slice(encoded.as_ref())
         } <span class="kw">else </span>{
-            out.buffer[<span class="kw-2">*</span>offset] = null_sentinel(opts);
+            data[<span class="kw-2">*</span>offset] = null_sentinel(opts);
         }
         <span class="kw-2">*</span>offset = end_offset;
     }
 }
 
 <span class="kw">pub fn </span>encode_fixed_size_binary(
-    out: <span class="kw-2">&amp;mut </span>Rows,
+    data: <span class="kw-2">&amp;mut </span>[u8],
+    offsets: <span class="kw-2">&amp;mut </span>[usize],
     array: <span class="kw-2">&amp;</span>FixedSizeBinaryArray,
     opts: SortOptions,
 ) {
     <span class="kw">let </span>len = array.value_length() <span class="kw">as </span>usize;
-    <span class="kw">for </span>(offset, maybe_val) <span class="kw">in </span>out.offsets.iter_mut().skip(<span class="number">1</span>).zip(array.iter()) {
+    <span class="kw">for </span>(offset, maybe_val) <span class="kw">in </span>offsets.iter_mut().skip(<span class="number">1</span>).zip(array.iter()) {
         <span class="kw">let </span>end_offset = <span class="kw-2">*</span>offset + len + <span class="number">1</span>;
         <span class="kw">if let </span><span class="prelude-val">Some</span>(val) = maybe_val {
-            <span class="kw">let </span>to_write = <span class="kw-2">&amp;mut </span>out.buffer[<span class="kw-2">*</span>offset..end_offset];
+            <span class="kw">let </span>to_write = <span class="kw-2">&amp;mut </span>data[<span class="kw-2">*</span>offset..end_offset];
             to_write[<span class="number">0</span>] = <span class="number">1</span>;
             to_write[<span class="number">1</span>..].copy_from_slice(<span class="kw-2">&amp;</span>val[..len]);
             <span class="kw">if </span>opts.descending {
@@ -600,7 +604,7 @@
                 </span>to_write[<span class="number">1</span>..<span class="number">1 </span>+ len].iter_mut().for_each(|v| <span class="kw-2">*</span>v = !<span class="kw-2">*</span>v)
             }
         } <span class="kw">else </span>{
-            out.buffer[<span class="kw-2">*</span>offset] = null_sentinel(opts);
+            data[<span class="kw-2">*</span>offset] = null_sentinel(opts);
         }
         <span class="kw-2">*</span>offset = end_offset;
     }
diff --git a/src/arrow_row/lib.rs.html b/src/arrow_row/lib.rs.html
index 182d63309..4f5f0654d 100644
--- a/src/arrow_row/lib.rs.html
+++ b/src/arrow_row/lib.rs.html
@@ -2314,6 +2314,68 @@
 <a href="#2314" id="2314">2314</a>
 <a href="#2315" id="2315">2315</a>
 <a href="#2316" id="2316">2316</a>
+<a href="#2317" id="2317">2317</a>
+<a href="#2318" id="2318">2318</a>
+<a href="#2319" id="2319">2319</a>
+<a href="#2320" id="2320">2320</a>
+<a href="#2321" id="2321">2321</a>
+<a href="#2322" id="2322">2322</a>
+<a href="#2323" id="2323">2323</a>
+<a href="#2324" id="2324">2324</a>
+<a href="#2325" id="2325">2325</a>
+<a href="#2326" id="2326">2326</a>
+<a href="#2327" id="2327">2327</a>
+<a href="#2328" id="2328">2328</a>
+<a href="#2329" id="2329">2329</a>
+<a href="#2330" id="2330">2330</a>
+<a href="#2331" id="2331">2331</a>
+<a href="#2332" id="2332">2332</a>
+<a href="#2333" id="2333">2333</a>
+<a href="#2334" id="2334">2334</a>
+<a href="#2335" id="2335">2335</a>
+<a href="#2336" id="2336">2336</a>
+<a href="#2337" id="2337">2337</a>
+<a href="#2338" id="2338">2338</a>
+<a href="#2339" id="2339">2339</a>
+<a href="#2340" id="2340">2340</a>
+<a href="#2341" id="2341">2341</a>
+<a href="#2342" id="2342">2342</a>
+<a href="#2343" id="2343">2343</a>
+<a href="#2344" id="2344">2344</a>
+<a href="#2345" id="2345">2345</a>
+<a href="#2346" id="2346">2346</a>
+<a href="#2347" id="2347">2347</a>
+<a href="#2348" id="2348">2348</a>
+<a href="#2349" id="2349">2349</a>
+<a href="#2350" id="2350">2350</a>
+<a href="#2351" id="2351">2351</a>
+<a href="#2352" id="2352">2352</a>
+<a href="#2353" id="2353">2353</a>
+<a href="#2354" id="2354">2354</a>
+<a href="#2355" id="2355">2355</a>
+<a href="#2356" id="2356">2356</a>
+<a href="#2357" id="2357">2357</a>
+<a href="#2358" id="2358">2358</a>
+<a href="#2359" id="2359">2359</a>
+<a href="#2360" id="2360">2360</a>
+<a href="#2361" id="2361">2361</a>
+<a href="#2362" id="2362">2362</a>
+<a href="#2363" id="2363">2363</a>
+<a href="#2364" id="2364">2364</a>
+<a href="#2365" id="2365">2365</a>
+<a href="#2366" id="2366">2366</a>
+<a href="#2367" id="2367">2367</a>
+<a href="#2368" id="2368">2368</a>
+<a href="#2369" id="2369">2369</a>
+<a href="#2370" id="2370">2370</a>
+<a href="#2371" id="2371">2371</a>
+<a href="#2372" id="2372">2372</a>
+<a href="#2373" id="2373">2373</a>
+<a href="#2374" id="2374">2374</a>
+<a href="#2375" id="2375">2375</a>
+<a href="#2376" id="2376">2376</a>
+<a href="#2377" id="2377">2377</a>
+<a href="#2378" id="2378">2378</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
@@ -2774,7 +2836,7 @@
                     <span class="kw">let </span>nulls = converter.convert_columns(<span class="kw-2">&amp;</span>[null_array])<span class="question-mark">?</span>;
 
                     <span class="kw">let </span>owned = OwnedRow {
-                        data: nulls.buffer,
+                        data: nulls.buffer.into(),
                         config: nulls.config,
                     };
                     <span class="prelude-val">Ok</span>(<span class="self">Self</span>::DictionaryValues(converter, owned))
@@ -2812,7 +2874,7 @@
 
                 <span class="kw">let </span>nulls = converter.convert_columns(<span class="kw-2">&amp;</span>nulls)<span class="question-mark">?</span>;
                 <span class="kw">let </span>owned = OwnedRow {
-                    data: nulls.buffer,
+                    data: nulls.buffer.into(),
                     config: nulls.config,
                 };
 
@@ -3031,7 +3093,13 @@
             </span>columns.iter().zip(<span class="self">self</span>.fields.iter()).zip(encoders)
         {
             <span class="comment">// We encode a column at a time to minimise dispatch overheads
-            </span>encode_column(<span class="kw-2">&amp;mut </span>rows, column.as_ref(), field.options, <span class="kw-2">&amp;</span>encoder)
+            </span>encode_column(
+                <span class="kw-2">&amp;mut </span>rows.buffer,
+                <span class="kw-2">&amp;mut </span>rows.offsets,
+                column.as_ref(),
+                field.options,
+                <span class="kw-2">&amp;</span>encoder,
+            )
         }
 
         <span class="kw">if </span><span class="macro">cfg!</span>(debug_assertions) {
@@ -3072,6 +3140,48 @@
         </span><span class="kw">unsafe </span>{ <span class="self">self</span>.convert_raw(<span class="kw-2">&amp;mut </span>rows, validate_utf8) }
     }
 
+    <span class="doccomment">/// Returns an empty [`Rows`] with capacity for `row_capacity` rows with
+    /// a total length of `data_capacity`
+    ///
+    /// This can be used to buffer a selection of [`Row`]
+    ///
+    /// ```
+    /// # use std::sync::Arc;
+    /// # use std::collections::HashSet;
+    /// # use arrow_array::cast::AsArray;
+    /// # use arrow_array::StringArray;
+    /// # use arrow_row::{Row, RowConverter, SortField};
+    /// # use arrow_schema::DataType;
+    /// #
+    /// let mut converter = RowConverter::new(vec![SortField::new(DataType::Utf8)]).unwrap();
+    /// let array = StringArray::from(vec![&quot;hello&quot;, &quot;world&quot;, &quot;a&quot;, &quot;a&quot;, &quot;hello&quot;]);
+    ///
+    /// // Convert to row format and deduplicate
+    /// let converted = converter.convert_columns(&amp;[Arc::new(array)]).unwrap();
+    /// let mut distinct_rows = converter.empty_rows(3, 100);
+    /// let mut dedup: HashSet&lt;Row&gt; = HashSet::with_capacity(3);
+    /// converted.iter().filter(|row| dedup.insert(*row)).for_each(|row| distinct_rows.push(row));
+    ///
+    /// // Note: we could skip buffering and feed the filtered iterator directly
+    /// // into convert_rows, this is done for demonstration purposes only
+    /// let distinct = converter.convert_rows(&amp;distinct_rows).unwrap();
+    /// let values: Vec&lt;_&gt; = distinct[0].as_string::&lt;i32&gt;().iter().map(Option::unwrap).collect();
+    /// assert_eq!(&amp;values, &amp;[&quot;hello&quot;, &quot;world&quot;, &quot;a&quot;]);
+    /// ```
+    </span><span class="kw">pub fn </span>empty_rows(<span class="kw-2">&amp;</span><span class="self">self</span>, row_capacity: usize, data_capacity: usize) -&gt; Rows {
+        <span class="kw">let </span><span class="kw-2">mut </span>offsets = Vec::with_capacity(row_capacity.saturating_add(<span class="number">1</span>));
+        offsets.push(<span class="number">0</span>);
+
+        Rows {
+            offsets,
+            buffer: Vec::with_capacity(data_capacity),
+            config: RowConfig {
+                fields: <span class="self">self</span>.fields.clone(),
+                validate_utf8: <span class="bool-val">false</span>,
+            },
+        }
+    }
+
     <span class="doccomment">/// Convert raw bytes into [`ArrayRef`]
     ///
     /// # Safety
@@ -3148,14 +3258,25 @@
 </span><span class="attr">#[derive(Debug)]
 </span><span class="kw">pub struct </span>Rows {
     <span class="doccomment">/// Underlying row bytes
-    </span>buffer: Box&lt;[u8]&gt;,
+    </span>buffer: Vec&lt;u8&gt;,
     <span class="doccomment">/// Row `i` has data `&amp;buffer[offsets[i]..offsets[i+1]]`
-    </span>offsets: Box&lt;[usize]&gt;,
+    </span>offsets: Vec&lt;usize&gt;,
     <span class="doccomment">/// The config for these rows
     </span>config: RowConfig,
 }
 
 <span class="kw">impl </span>Rows {
+    <span class="doccomment">/// Append a [`Row`] to this [`Rows`]
+    </span><span class="kw">pub fn </span>push(<span class="kw-2">&amp;mut </span><span class="self">self</span>, row: Row&lt;<span class="lifetime">&#39;_</span>&gt;) {
+        <span class="macro">assert!</span>(
+            Arc::ptr_eq(<span class="kw-2">&amp;</span>row.config.fields, <span class="kw-2">&amp;</span><span class="self">self</span>.config.fields),
+            <span class="string">&quot;row was not produced by this RowConverter&quot;
+        </span>);
+        <span class="self">self</span>.config.validate_utf8 |= row.config.validate_utf8;
+        <span class="self">self</span>.buffer.extend_from_slice(row.data);
+        <span class="self">self</span>.offsets.push(<span class="self">self</span>.buffer.len())
+    }
+
     <span class="kw">pub fn </span>row(<span class="kw-2">&amp;</span><span class="self">self</span>, row: usize) -&gt; Row&lt;<span class="lifetime">&#39;_</span>&gt; {
         <span class="kw">let </span>end = <span class="self">self</span>.offsets[row + <span class="number">1</span>];
         <span class="kw">let </span>start = <span class="self">self</span>.offsets[row];
@@ -3487,15 +3608,16 @@
     <span class="kw">let </span>buffer = <span class="macro">vec!</span>[<span class="number">0_u8</span>; cur_offset];
 
     Rows {
-        buffer: buffer.into(),
-        offsets: offsets.into(),
+        buffer,
+        offsets,
         config,
     }
 }
 
 <span class="doccomment">/// Encodes a column to the provided [`Rows`] incrementing the offsets as it progresses
 </span><span class="kw">fn </span>encode_column(
-    out: <span class="kw-2">&amp;mut </span>Rows,
+    data: <span class="kw-2">&amp;mut </span>[u8],
+    offsets: <span class="kw-2">&amp;mut </span>[usize],
     column: <span class="kw-2">&amp;</span><span class="kw">dyn </span>Array,
     opts: SortOptions,
     encoder: <span class="kw-2">&amp;</span>Encoder&lt;<span class="lifetime">&#39;_</span>&gt;,
@@ -3503,22 +3625,22 @@
     <span class="kw">match </span>encoder {
         Encoder::Stateless =&gt; {
             <span class="macro">downcast_primitive_array! </span>{
-                column =&gt; fixed::encode(out, column, opts),
+                column =&gt; fixed::encode(data, offsets, column, opts),
                 DataType::Null =&gt; {}
-                DataType::Boolean =&gt; fixed::encode(out, column.as_boolean(), opts),
+                DataType::Boolean =&gt; fixed::encode(data, offsets, column.as_boolean(), opts),
                 DataType::Binary =&gt; {
-                    variable::encode(out, as_generic_binary_array::&lt;i32&gt;(column).iter(), opts)
+                    variable::encode(data, offsets, as_generic_binary_array::&lt;i32&gt;(column).iter(), opts)
                 }
                 DataType::LargeBinary =&gt; {
-                    variable::encode(out, as_generic_binary_array::&lt;i64&gt;(column).iter(), opts)
+                    variable::encode(data, offsets, as_generic_binary_array::&lt;i64&gt;(column).iter(), opts)
                 }
                 DataType::Utf8 =&gt; variable::encode(
-                    out,
+                    data, offsets,
                     column.as_string::&lt;i32&gt;().iter().map(|x| x.map(|x| x.as_bytes())),
                     opts,
                 ),
                 DataType::LargeUtf8 =&gt; variable::encode(
-                    out,
+                    data, offsets,
                     column.as_string::&lt;i64&gt;()
                         .iter()
                         .map(|x| x.map(|x| x.as_bytes())),
@@ -3526,27 +3648,27 @@
                 ),
                 DataType::FixedSizeBinary(<span class="kw">_</span>) =&gt; {
                     <span class="kw">let </span>array = column.as_any().downcast_ref().unwrap();
-                    fixed::encode_fixed_size_binary(out, array, opts)
+                    fixed::encode_fixed_size_binary(data, offsets, array, opts)
                 }
                 <span class="kw">_ </span>=&gt; <span class="macro">unreachable!</span>(),
             }
         }
         Encoder::Dictionary(dict) =&gt; {
             <span class="macro">downcast_dictionary_array! </span>{
-                column =&gt; encode_dictionary(out, column, dict, opts),
+                column =&gt; encode_dictionary(data, offsets, column, dict, opts),
                 <span class="kw">_ </span>=&gt; <span class="macro">unreachable!</span>()
             }
         }
         Encoder::DictionaryValues(values, nulls) =&gt; {
             <span class="macro">downcast_dictionary_array! </span>{
-                column =&gt; encode_dictionary_values(out, column, values, nulls),
+                column =&gt; encode_dictionary_values(data, offsets, column, values, nulls),
                 <span class="kw">_ </span>=&gt; <span class="macro">unreachable!</span>()
             }
         }
         Encoder::Struct(rows, null) =&gt; {
             <span class="kw">let </span>array = as_struct_array(column);
             <span class="kw">let </span>null_sentinel = null_sentinel(opts);
-            out.offsets
+            offsets
                 .iter_mut()
                 .skip(<span class="number">1</span>)
                 .enumerate()
@@ -3556,15 +3678,17 @@
                         <span class="bool-val">false </span>=&gt; (<span class="kw-2">*</span>null, null_sentinel),
                     };
                     <span class="kw">let </span>end_offset = <span class="kw-2">*</span>offset + <span class="number">1 </span>+ row.as_ref().len();
-                    out.buffer[<span class="kw-2">*</span>offset] = sentinel;
-                    out.buffer[<span class="kw-2">*</span>offset + <span class="number">1</span>..end_offset].copy_from_slice(row.as_ref());
+                    data[<span class="kw-2">*</span>offset] = sentinel;
+                    data[<span class="kw-2">*</span>offset + <span class="number">1</span>..end_offset].copy_from_slice(row.as_ref());
                     <span class="kw-2">*</span>offset = end_offset;
                 })
         }
         Encoder::List(rows) =&gt; <span class="kw">match </span>column.data_type() {
-            DataType::List(<span class="kw">_</span>) =&gt; list::encode(out, rows, opts, as_list_array(column)),
+            DataType::List(<span class="kw">_</span>) =&gt; {
+                list::encode(data, offsets, rows, opts, as_list_array(column))
+            }
             DataType::LargeList(<span class="kw">_</span>) =&gt; {
-                list::encode(out, rows, opts, as_large_list_array(column))
+                list::encode(data, offsets, rows, opts, as_large_list_array(column))
             }
             <span class="kw">_ </span>=&gt; <span class="macro">unreachable!</span>(),
         },
@@ -3700,9 +3824,9 @@
         .unwrap();
         <span class="kw">let </span>rows = converter.convert_columns(<span class="kw-2">&amp;</span>cols).unwrap();
 
-        <span class="macro">assert_eq!</span>(rows.offsets.as_ref(), <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">8</span>, <span class="number">16</span>, <span class="number">24</span>, <span class="number">32</span>, <span class="number">40</span>, <span class="number">48</span>, <span class="number">56</span>]);
+        <span class="macro">assert_eq!</span>(rows.offsets, <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">8</span>, <span class="number">16</span>, <span class="number">24</span>, <span class="number">32</span>, <span class="number">40</span>, <span class="number">48</span>, <span class="number">56</span>]);
         <span class="macro">assert_eq!</span>(
-            rows.buffer.as_ref(),
+            rows.buffer,
             <span class="kw-2">&amp;</span>[
                 <span class="number">1</span>, <span class="number">128</span>, <span class="number">1</span>, <span class="comment">//
                 </span><span class="number">1</span>, <span class="number">191</span>, <span class="number">166</span>, <span class="number">102</span>, <span class="number">102</span>, <span class="comment">//
diff --git a/src/arrow_row/list.rs.html b/src/arrow_row/list.rs.html
index d27d5d999..6e33d2542 100644
--- a/src/arrow_row/list.rs.html
+++ b/src/arrow_row/list.rs.html
@@ -233,23 +233,23 @@
 ///
 /// `rows` should contain the encoded child elements
 </span><span class="kw">pub fn </span>encode&lt;O: OffsetSizeTrait&gt;(
-    out: <span class="kw-2">&amp;mut </span>Rows,
+    data: <span class="kw-2">&amp;mut </span>[u8],
+    offsets: <span class="kw-2">&amp;mut </span>[usize],
     rows: <span class="kw-2">&amp;</span>Rows,
     opts: SortOptions,
     array: <span class="kw-2">&amp;</span>GenericListArray&lt;O&gt;,
 ) {
     <span class="kw">let </span><span class="kw-2">mut </span>temporary = <span class="macro">vec!</span>[];
-    <span class="kw">let </span>offsets = array.value_offsets().windows(<span class="number">2</span>);
-    out.offsets
+    offsets
         .iter_mut()
         .skip(<span class="number">1</span>)
-        .zip(offsets)
+        .zip(array.value_offsets().windows(<span class="number">2</span>))
         .enumerate()
         .for_each(|(idx, (offset, offsets))| {
             <span class="kw">let </span>start = offsets[<span class="number">0</span>].as_usize();
             <span class="kw">let </span>end = offsets[<span class="number">1</span>].as_usize();
             <span class="kw">let </span>range = array.is_valid(idx).then_some(start..end);
-            <span class="kw">let </span>out = <span class="kw-2">&amp;mut </span>out.buffer[<span class="kw-2">*</span>offset..];
+            <span class="kw">let </span>out = <span class="kw-2">&amp;mut </span>data[<span class="kw-2">*</span>offset..];
             <span class="kw-2">*</span>offset += encode_one(out, <span class="kw-2">&amp;mut </span>temporary, rows, range, opts)
         });
 }
diff --git a/src/arrow_row/variable.rs.html b/src/arrow_row/variable.rs.html
index 4aa50647d..4a885997f 100644
--- a/src/arrow_row/variable.rs.html
+++ b/src/arrow_row/variable.rs.html
@@ -240,6 +240,7 @@
 <a href="#240" id="240">240</a>
 <a href="#241" id="241">241</a>
 <a href="#242" id="242">242</a>
+<a href="#243" id="243">243</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
@@ -257,7 +258,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-</span><span class="kw">use crate</span>::{null_sentinel, Rows};
+</span><span class="kw">use </span><span class="kw">crate</span>::null_sentinel;
 <span class="kw">use </span>arrow_array::builder::BufferBuilder;
 <span class="kw">use </span>arrow_array::<span class="kw-2">*</span>;
 <span class="kw">use </span>arrow_buffer::bit_util::ceil;
@@ -304,12 +305,13 @@
 /// - `0xFF_u8` if this is not the last block for this string
 /// - otherwise the length of the block as a `u8`
 </span><span class="kw">pub fn </span>encode&lt;<span class="lifetime">&#39;a</span>, I: Iterator&lt;Item = <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>[u8]&gt;&gt;&gt;(
-    out: <span class="kw-2">&amp;mut </span>Rows,
+    data: <span class="kw-2">&amp;mut </span>[u8],
+    offsets: <span class="kw-2">&amp;mut </span>[usize],
     i: I,
     opts: SortOptions,
 ) {
-    <span class="kw">for </span>(offset, maybe_val) <span class="kw">in </span>out.offsets.iter_mut().skip(<span class="number">1</span>).zip(i) {
-        <span class="kw-2">*</span>offset += encode_one(<span class="kw-2">&amp;mut </span>out.buffer[<span class="kw-2">*</span>offset..], maybe_val, opts);
+    <span class="kw">for </span>(offset, maybe_val) <span class="kw">in </span>offsets.iter_mut().skip(<span class="number">1</span>).zip(i) {
+        <span class="kw-2">*</span>offset += encode_one(<span class="kw-2">&amp;mut </span>data[<span class="kw-2">*</span>offset..], maybe_val, opts);
     }
 }