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 2024/05/28 16:54:48 UTC

(arrow-rs) branch asf-site updated: deploy: 54efb65bb1a8f1fa0b75c660dde6695b03d10120

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 983e26cb8a0 deploy: 54efb65bb1a8f1fa0b75c660dde6695b03d10120
983e26cb8a0 is described below

commit 983e26cb8a01248d2b752c6c1308c97f8fd275a6
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Tue May 28 16:54:42 2024 +0000

    deploy: 54efb65bb1a8f1fa0b75c660dde6695b03d10120
---
 arrow/array/trait.RecordBatchReader.html           |  12 +-
 arrow/array/trait.RecordBatchWriter.html           |   6 +-
 arrow/datatypes/struct.Field.html                  |   4 +-
 arrow/index.html                                   |   6 +-
 arrow/record_batch/trait.RecordBatchReader.html    |  12 +-
 arrow/record_batch/trait.RecordBatchWriter.html    |   6 +-
 arrow_row/all.html                                 |   2 +-
 arrow_row/enum.Codec.html                          |   6 +-
 arrow_row/enum.Encoder.html                        |   4 +-
 arrow_row/fn.decode_column.html                    |   2 +-
 arrow_row/fn.encode_column.html                    |   2 +-
 arrow_row/fn.encode_dictionary_values.html         |   2 +-
 arrow_row/fn.null_sentinel.html                    |   2 +-
 arrow_row/fn.row_lengths.html                      |   2 +-
 arrow_row/index.html                               |   2 +-
 arrow_row/list/fn.decode.html                      |   2 +-
 arrow_row/list/fn.encode.html                      |   2 +-
 arrow_row/list/fn.encode_one.html                  |   3 +-
 arrow_row/list/fn.encoded_len.html                 |   2 +-
 arrow_row/list/index.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                 |  53 ++++----
 arrow_row/struct.RowParser.html                    |   6 +-
 arrow_row/struct.Rows.html                         |  16 +--
 arrow_row/struct.RowsIter.html                     |   6 +-
 arrow_row/struct.SortField.html                    |  12 +-
 arrow_row/variable/fn.decode_binary.html           |   2 +-
 arrow_row/variable/fn.decode_blocks.html           |   2 +-
 arrow_row/variable/fn.decode_string.html           |   2 +-
 arrow_row/variable/fn.decoded_len.html             |   2 +-
 arrow_row/variable/fn.encode_blocks.html           |   2 +-
 .../fn.encode_empty.html}                          |  10 +-
 arrow_row/variable/fn.encode_null.html             |   1 +
 arrow_row/variable/fn.encode_one.html              |   2 +-
 arrow_row/variable/index.html                      |   2 +-
 arrow_row/variable/sidebar-items.js                |   2 +-
 help.html                                          |   2 +-
 index.html                                         |   2 +-
 .../selection/struct.RowSelection.html             |   2 +-
 .../arrow/arrow_reader/struct.RowSelection.html    |   2 +-
 parquet/basic/enum.ColumnOrder.html                |   2 +-
 parquet/basic/enum.ConvertedType.html              |   2 +-
 parquet/data_type/struct.ByteArray.html            |   8 +-
 parquet/data_type/struct.FixedLenByteArray.html    |  16 +--
 parquet/data_type/struct.Int96.html                |   2 +-
 parquet/errors/enum.ParquetError.html              |   2 +-
 .../struct.SerializedFileReader.html               |   2 +-
 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.Type.html                    |   2 +-
 parquet/schema/types/struct.ColumnPath.html        |   2 +-
 parquet_derive_test/struct.ACompleteRecord.html    |   2 +-
 .../struct.APartiallyCompleteRecord.html           |   2 +-
 search-index.js                                    |   4 +-
 search.desc/parquet/parquet-desc-0-.js             |   2 +-
 settings.html                                      |   2 +-
 src/arrow_row/lib.rs.html                          |  50 +++++---
 src/arrow_row/list.rs.html                         | 142 ++++++++++++---------
 src/arrow_row/variable.rs.html                     |  32 +++--
 65 files changed, 276 insertions(+), 251 deletions(-)

diff --git a/arrow/array/trait.RecordBatchReader.html b/arrow/array/trait.RecordBatchReader.html
index 6346c5f87df..e9292503187 100644
--- a/arrow/array/trait.RecordBatchReader.html
+++ b/arrow/array/trait.RecordBatchReader.html
@@ -11,10 +11,10 @@
 reader should have the same schema as returned from this method.</p>
 </div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&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 [...]
 </div></details></div><h2 id="trait-implementations" class="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-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E" class="impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#448-462">source</a><a href="#impl-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E"  [...]
-</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a class="src rightside" href="../../src/arrow_json/reader/mod.rs.html#349">source</a><a href="#method.schema" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_json/foreigntype.reader.html#tymethod.schema" class="fn">schema</a>(&a [...]
-    R: <a class="trait" href="../record_batch/trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</ [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-2" class="method trait-impl"><a href="#method.schema-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-3" class="method trait-impl"><a href="#method.schema-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" hr [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-4" class="method trait-impl"><a href="#method.schema-4" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <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="s [...]
+</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/reader.rs.html#1118">source</a><a href="#method.schema" class="anchor">§</a><h4 class=" [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/reader.rs.html#1350">source</a><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_ipc/foreigntype.reader.html#tymethod.schema" class="fn">schema</a>(&amp;self) - [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-2" class="method trait-impl"><a class="src rightside" href="../../src/arrow_json/reader/mod.rs.html#349">source</a><a href="#method.schema-2" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_json/foreigntype.reader.html#tymethod.schema" class="fn">schema</a [...]
+    R: <a class="trait" href="../record_batch/trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-3" class="method trait-impl"><a href="#method.schema-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</ [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-4" class="method trait-impl"><a href="#method.schema-4" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
     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="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="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../error/ [...]
\ No newline at end of file
diff --git a/arrow/array/trait.RecordBatchWriter.html b/arrow/array/trait.RecordBatchWriter.html
index 5396c6cb2e5..ece2a778fa9 100644
--- a/arrow/array/trait.RecordBatchWriter.html
+++ b/arrow/array/trait.RecordBatchWriter.html
@@ -5,9 +5,9 @@
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can write <code>RecordBatch</code>’s.</p>
 </div></details><h2 id="required-methods" class="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.write" class="method"><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a c [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum a [...]
-</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="impl"><a href="#impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="../record_batch/trait.RecordBatchWriter.html" title="trait arrow::record_batch:: [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>)  [...]
+</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="impl"><a class="src rightside" href="../../src/arrow_ipc/writer.rs.html#898">source</a><a href="#impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href= [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/writer.rs.html#899">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_ipc/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&amp;mut self, bat [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/writer.rs.html#1044">source</a><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_ipc/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&amp;mut self [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-2" class="method trait-impl"><a href="#method.write-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="../record_batch/struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>)  [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,
     F: <a class="trait" href="../../arrow_json/writer/trait.JsonFormat.html" title="trait arrow_json::writer::JsonFormat">JsonFormat</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-3" class="method trait-impl"><a class="src rightside" href="../../src/arrow_json/writer.rs.html#389">source</a><a href="#method.write-3" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_json/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&am [...]
\ No newline at end of file
diff --git a/arrow/datatypes/struct.Field.html b/arrow/datatypes/struct.Field.html
index fcf3b5313e9..bf97f1c8ebc 100644
--- a/arrow/datatypes/struct.Field.html
+++ b/arrow/datatypes/struct.Field.html
@@ -158,8 +158,8 @@
     __deserializer: __D
 ) -&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.Field.html" title="struct arrow::datatypes::Field">Field</a>, &lt;__D as <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;&gt;::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize [...]
     __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Displ [...]
-    T: <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.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymet [...]
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(field: Field&lt;'_&gt;) -&gt; <a class="struct" href="struct.Field.html" title="struct arrow::datatypes::Field">Field</a></h4></section></summary><div class='docblock'>Converts to t [...]
+    T: <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.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymet [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/convert.rs.html#87">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(field: <a class="struct" href="../../arrow_ipc/gen/Schema/struct.Field.html" title="struct arrow_ipc [...]
     T: <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.Field.html" title="struct arrow::datatypes::Field">Field</a>&gt;,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter"> [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value 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#tymethod.hash">Read more</a></div></details><details class="toggle meth [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
diff --git a/arrow/index.html b/arrow/index.html
index 5804547f874..27e227cfb34 100644
--- a/arrow/index.html
+++ b/arrow/index.html
@@ -150,7 +150,7 @@ and a corresponding list of <a href="array/type.ArrayRef.html" title="type arrow
 <ul>
 <li>JSON: <a href="../arrow_json/reader/struct.Reader.html" title="struct arrow_json::reader::Reader"><code>Reader</code></a> and <a href="../arrow_json/writer/struct.Writer.html" title="struct arrow_json::writer::Writer"><code>Writer</code></a></li>
 <li>CSV: <a href="csv::reader::Reader"><code>Reader</code></a> and <a href="csv::writer::Writer"><code>Writer</code></a></li>
-<li>IPC: <a href="ipc::reader::StreamReader"><code>Reader</code></a> and <a href="ipc::writer::FileWriter"><code>Writer</code></a></li>
+<li>IPC: <a href="../arrow_ipc/reader/struct.StreamReader.html" title="struct arrow_ipc::reader::StreamReader"><code>Reader</code></a> and <a href="../arrow_ipc/writer/struct.FileWriter.html" title="struct arrow_ipc::writer::FileWriter"><code>Writer</code></a></li>
 </ul>
 <p>Parquet is published as a <a href="https://crates.io/crates/parquet">separate crate</a></p>
 <h2 id="serde-compatibility"><a class="doc-anchor" href="#serde-compatibility">§</a>Serde Compatibility</h2>
@@ -200,7 +200,7 @@ the sub-crates they need.</p>
 <li>[<code>arrow-cast</code>][arrow_cast] - cast kernels for arrow arrays</li>
 <li>[<code>arrow-csv</code>][arrow_csv] - read/write CSV to arrow format</li>
 <li>[<code>arrow-data</code>][arrow_data] - the underlying data of arrow arrays</li>
-<li>[<code>arrow-ipc</code>][arrow_ipc] - read/write IPC to arrow format</li>
+<li><a href="../arrow_ipc/index.html" title="mod arrow_ipc"><code>arrow-ipc</code></a> - read/write IPC to arrow format</li>
 <li><a href="../arrow_json/index.html" title="mod arrow_json"><code>arrow-json</code></a> - read/write JSON to arrow format</li>
 <li>[<code>arrow-ord</code>][arrow_ord] - ordering kernels for arrow arrays</li>
 <li>[<code>arrow-row</code>][arrow_row] - comparable row format</li>
@@ -225,7 +225,7 @@ arrow’s use of unsafe, see <a href="https://github.com/apache/arrow-rs/tree/ma
 more sophisticated query processing workloads, consider checking out <a href="https://github.com/apache/arrow-datafusion">DataFusion</a>. This
 orchestrates the primitives exported by this crate into an embeddable query engine, with
 SQL and DataFrame frontends, and heavily influences this crate’s roadmap.</p>
-</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.csv"><code>pub use arrow_csv as csv;</code></div></li><li><div class="item-name" id="reexport.ipc"><code>pub use arrow_ipc as ipc;</code></div></li><li><div class="item-name" id="reexport.json"><code>pub use <a class="mod" href="../arrow_json/index.html" title="mod arrow_json">arrow_json</a> as json;</code></div>< [...]
+</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.csv"><code>pub use arrow_csv as csv;</code></div></li><li><div class="item-name" id="reexport.ipc"><code>pub use <a class="mod" href="../arrow_ipc/index.html" title="mod arrow_ipc">arrow_ipc</a> as ipc;</code></div></li><li><div class="item-name" id="reexport.json"><code>pub use <a class="mod" href="../arrow_json/ [...]
 <a href="https://arrow.apache.org/docs/format/CDataInterface.html">C Data Interface</a>
 and <a href="https://docs.rs/pyo3/latest/pyo3/">pyo3</a>.
 For underlying implementation, see the <a href="ffi/index.html" title="mod arrow::ffi">ffi</a> module.</div></li><li><div class="item-name"><a class="mod" href="record_batch/index.html" title="mod arrow::record_batch">record_batch</a></div></li><li><div class="item-name"><a class="mod" href="temporal_conversions/index.html" title="mod arrow::temporal_conversions">temporal_conversions</a></div><div class="desc docblock-short">Conversion methods for dates and times.</div></li><li><div clas [...]
diff --git a/arrow/record_batch/trait.RecordBatchReader.html b/arrow/record_batch/trait.RecordBatchReader.html
index 11a8f484b33..0528540863b 100644
--- a/arrow/record_batch/trait.RecordBatchReader.html
+++ b/arrow/record_batch/trait.RecordBatchReader.html
@@ -11,10 +11,10 @@
 reader should have the same schema as returned from this method.</p>
 </div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_batch" class="method"><h4 class="code-header">fn <a href="#method.next_batch" class="fn">next_batch</a>(&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 [...]
 </div></details></div><h2 id="trait-implementations" class="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-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E" class="impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#448-462">source</a><a href="#impl-IntoPyArrow-for-Box%3Cdyn+RecordBatchReader+%2B+Send%3E"  [...]
-</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a class="src rightside" href="../../src/arrow_json/reader/mod.rs.html#349">source</a><a href="#method.schema" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_json/foreigntype.reader.html#tymethod.schema" class="fn">schema</a>(&a [...]
-    R: <a class="trait" href="trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -& [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-2" class="method trait-impl"><a href="#method.schema-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-3" class="method trait-impl"><a href="#method.schema-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" hr [...]
-    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-4" class="method trait-impl"><a href="#method.schema-4" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <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="s [...]
+</div><div class="impl-items"><section id="method.into_pyarrow" class="method trait-impl"><a class="src rightside" href="../../src/arrow/pyarrow.rs.html#451-461">source</a><a href="#method.into_pyarrow" class="anchor">§</a><h4 class="code-header">fn <a href="../pyarrow/trait.IntoPyArrow.html#tymethod.into_pyarrow" class="fn">into_pyarrow</a>(self, py: Python&lt;'_&gt;) -&gt; PyResult&lt;PyObject&gt;</h4></section></div></details></div><h2 id="foreign-impls" class="section-header">Impleme [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/reader.rs.html#1118">source</a><a href="#method.schema" class="anchor">§</a><h4 class=" [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/reader.rs.html#1350">source</a><a href="#method.schema-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_ipc/foreigntype.reader.html#tymethod.schema" class="fn">schema</a>(&amp;self) - [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-2" class="method trait-impl"><a class="src rightside" href="../../src/arrow_json/reader/mod.rs.html#349">source</a><a href="#method.schema-2" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_json/foreigntype.reader.html#tymethod.schema" class="fn">schema</a [...]
+    R: <a class="trait" href="trait.RecordBatchReader.html" title="trait arrow::record_batch::RecordBatchReader">RecordBatchReader</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-3" class="method trait-impl"><a href="#method.schema-3" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -& [...]
+    R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.BufRead.html" title="trait std::io::BufRead">BufRead</a>,</div></h3></section></summary><div class="impl-items"><section id="method.schema-4" class="method trait-impl"><a href="#method.schema-4" class="anchor">§</a><h4 class="code-header">fn <a class="fn">schema</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a [...]
     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="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.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>, <a class="enum" href="../error/enum.ArrowError. [...]
\ No newline at end of file
diff --git a/arrow/record_batch/trait.RecordBatchWriter.html b/arrow/record_batch/trait.RecordBatchWriter.html
index 69bc185634c..47a17fc5cc9 100644
--- a/arrow/record_batch/trait.RecordBatchWriter.html
+++ b/arrow/record_batch/trait.RecordBatchWriter.html
@@ -5,9 +5,9 @@
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for types that can write <code>RecordBatch</code>’s.</p>
 </div></details><h2 id="required-methods" class="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.write" class="method"><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum" href [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="tymethod.close" class="method"><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum a [...]
-</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="impl"><a href="#impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href="trait.RecordBatchWriter.html" title="trait arrow::record_batch::RecordBatchWrite [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class="enum [...]
-    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class=" [...]
+</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="impl"><a class="src rightside" href="../../src/arrow_ipc/writer.rs.html#898">source</a><a href="#impl-RecordBatchWriter-for-FileWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl&lt;W&gt; <a class="trait" href= [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/writer.rs.html#899">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_ipc/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&amp;mut self, bat [...]
+    W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_ipc/writer.rs.html#1044">source</a><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_ipc/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&amp;mut self [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-2" class="method trait-impl"><a href="#method.write-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" href="struct.RecordBatch.html" title="struct arrow::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a class=" [...]
     W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,
     F: <a class="trait" href="../../arrow_json/writer/trait.JsonFormat.html" title="trait arrow_json::writer::JsonFormat">JsonFormat</a>,</div></h3></section></summary><div class="impl-items"><section id="method.write-3" class="method trait-impl"><a class="src rightside" href="../../src/arrow_json/writer.rs.html#389">source</a><a href="#method.write-3" class="anchor">§</a><h4 class="code-header">fn <a href="../../arrow_json/foreigntype.writer.html#tymethod.write" class="fn">write</a>(&am [...]
\ No newline at end of file
diff --git a/arrow_row/all.html b/arrow_row/all.html
index d27f7b311c7..ad290a0deb8 100644
--- a/arrow_row/all.html
+++ b/arrow_row/all.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d [...]
\ No newline at end of file
diff --git a/arrow_row/enum.Codec.html b/arrow_row/enum.Codec.html
index 77bb8d15141..2c07cb1b280 100644
--- a/arrow_row/enum.Codec.html
+++ b/arrow_row/enum.Codec.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 `Codec` enum in crate `arrow_row`."><title>Codec in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,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="API documentation for the Rust `Codec` enum in crate `arrow_row`."><title>Codec in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,F [...]
     Stateless,
     Dictionary(<a class="struct" href="struct.RowConverter.html" title="struct arrow_row::RowConverter">RowConverter</a>, <a class="struct" href="struct.OwnedRow.html" title="struct arrow_row::OwnedRow">OwnedRow</a>),
     Struct(<a class="struct" href="struct.RowConverter.html" title="struct arrow_row::RowConverter">RowConverter</a>, <a class="struct" href="struct.OwnedRow.html" title="struct arrow_row::OwnedRow">OwnedRow</a>),
@@ -9,10 +9,10 @@ and the encoding of a row containing only nulls</p>
 </div><section id="variant.Struct" class="variant"><a href="#variant.Struct" class="anchor">§</a><h3 class="code-header">Struct(<a class="struct" href="struct.RowConverter.html" title="struct arrow_row::RowConverter">RowConverter</a>, <a class="struct" href="struct.OwnedRow.html" title="struct arrow_row::OwnedRow">OwnedRow</a>)</h3></section><div class="docblock"><p>A row converter for the child fields
 and the encoding of a row containing only nulls</p>
 </div><section id="variant.List" class="variant"><a href="#variant.List" class="anchor">§</a><h3 class="code-header">List(<a class="struct" href="struct.RowConverter.html" title="struct arrow_row::RowConverter">RowConverter</a>)</h3></section><div class="docblock"><p>A row converter for the child field</p>
-</div></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Codec" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#387-475">source</a><a href="#impl-Codec" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.Codec.html" title="enum arrow_row::Codec">Codec</a></h3></sec [...]
+</div></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Codec" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#379-467">source</a><a href="#impl-Codec" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.Codec.html" title="enum arrow_row::Codec">Codec</a></h3></sec [...]
     &amp;self,
     array: &amp;dyn Array
-) -&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="enum" href="enum.Encoder.html" title="enum arrow_row::Encoder">Encoder</a>&lt;'_&gt;, ArrowError&gt;</h4></section><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#467-474">source</a><h4 class="code-header">pub(crate) fn <a href="#method.size" class="fn">size</a>(&amp;self) -&gt; <a clas [...]
+) -&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="enum" href="enum.Encoder.html" title="enum arrow_row::Encoder">Encoder</a>&lt;'_&gt;, ArrowError&gt;</h4></section><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#459-466">source</a><h4 class="code-header">pub(crate) fn <a href="#method.size" class="fn">size</a>(&amp;self) -&gt; <a clas [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/enum.Encoder.html b/arrow_row/enum.Encoder.html
index ca05b8e04ab..9d9653fe384 100644
--- a/arrow_row/enum.Encoder.html
+++ b/arrow_row/enum.Encoder.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 `Encoder` enum in crate `arrow_row`."><title>Encoder in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.wof [...]
+<!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 `Encoder` enum in crate `arrow_row`."><title>Encoder in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.wof [...]
     Stateless,
     Dictionary(<a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a>, <a class="struct" href="struct.Row.html" title="struct arrow_row::Row">Row</a>&lt;'a&gt;),
     Struct(<a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a>, <a class="struct" href="struct.Row.html" title="struct arrow_row::Row">Row</a>&lt;'a&gt;),
@@ -10,7 +10,7 @@
 values that are masked by a null in the parent StructArray, otherwise
 this would establish an ordering between semantically null values</p>
 </div><section id="variant.List" class="variant"><a href="#variant.List" class="anchor">§</a><h3 class="code-header">List(<a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a>)</h3></section><div class="docblock"><p>The row encoding of the child array</p>
-</div></div><h2 id="trait-implementations" class="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-Encoder%3C'a%3E" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#477">source</a><a href="#impl-Debug-for-Encoder%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" h [...]
+</div></div><h2 id="trait-implementations" class="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-Encoder%3C'a%3E" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#469">source</a><a href="#impl-Debug-for-Encoder%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" h [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/fn.decode_column.html b/arrow_row/fn.decode_column.html
index f2f2d0cd148..961de50fe2b 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium- [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium- [...]
     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 aa030a928d6..409aa7ec2d2 100644
--- a/arrow_row/fn.encode_column.html
+++ b/arrow_row/fn.encode_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="Encodes a column to the provided `Rows` incrementing the offsets as it progresses"><title>encode_column in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular- [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular- [...]
     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,
diff --git a/arrow_row/fn.encode_dictionary_values.html b/arrow_row/fn.encode_dictionary_values.html
index 00c99621823..564a2431661 100644
--- a/arrow_row/fn.encode_dictionary_values.html
+++ b/arrow_row/fn.encode_dictionary_values.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="Encode dictionary values not preserving the dictionary encoding"><title>encode_dictionary_values in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141 [...]
+<!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 - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141 [...]
     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;,
diff --git a/arrow_row/fn.null_sentinel.html b/arrow_row/fn.null_sentinel.html
index 4146ccab22d..6666e6d9191 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/fn.row_lengths.html b/arrow_row/fn.row_lengths.html
index 5a940c25bcb..a9ab97914e7 100644
--- a/arrow_row/fn.row_lengths.html
+++ b/arrow_row/fn.row_lengths.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>row_lengths in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843 [...]
+<!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>row_lengths in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843 [...]
     cols: &amp;[ArrayRef],
     encoders: &amp;[<a class="enum" href="enum.Encoder.html" title="enum arrow_row::Encoder">Encoder</a>&lt;'_&gt;]
 ) -&gt; <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></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Computes the length of each encoded <a href="struct.Rows.html" title="struct arrow_row::Rows"><code>Rows</code></a> a [...]
diff --git a/arrow_row/index.html b/arrow_row/index.html
index 0078c71018a..65d1847d791 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,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="A comparable row-oriented representation of a collection of `Array`."><title>arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSan [...]
 <p><a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a>s are <a href="http://wwwlgis.informatik.uni-kl.de/archiv/wwwdvs.informatik.uni-kl.de/courses/DBSREAL/SS2005/Vorlesungsunterlagen/Implementing_Sorting.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.decode.html b/arrow_row/list/fn.decode.html
index 2b2f54cce5c..79b8c713ed8 100644
--- a/arrow_row/list/fn.decode.html
+++ b/arrow_row/list/fn.decode.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 in arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.wof [...]
+<!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 in arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.wof [...]
     converter: &amp;<a class="struct" href="../struct.RowConverter.html" title="struct arrow_row::RowConverter">RowConverter</a>,
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     field: &amp;<a class="struct" href="../struct.SortField.html" title="struct arrow_row::SortField">SortField</a>,
diff --git a/arrow_row/list/fn.encode.html b/arrow_row/list/fn.encode.html
index 826b3cdbfd0..bd8d93d6a26 100644
--- a/arrow_row/list/fn.encode.html
+++ b/arrow_row/list/fn.encode.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="Encodes the provided `GenericListArray` to `out` with the provided `SortOptions`"><title>encode in arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
     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>,
diff --git a/arrow_row/list/fn.encode_one.html b/arrow_row/list/fn.encode_one.html
index bfb142a536b..caf94b80c64 100644
--- a/arrow_row/list/fn.encode_one.html
+++ b/arrow_row/list/fn.encode_one.html
@@ -1,6 +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 `encode_one` fn in crate `arrow_row`."><title>encode_one in arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0 [...]
+<!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::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0 [...]
     out: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
-    temporary: &amp;mut <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;,
     rows: &amp;<a class="struct" href="../struct.Rows.html" title="struct arrow_row::Rows">Rows</a>,
     range: <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/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;&gt;,
     opts: SortOptions
diff --git a/arrow_row/list/fn.encoded_len.html b/arrow_row/list/fn.encoded_len.html
index 95401ee80b7..d460a2c2f63 100644
--- a/arrow_row/list/fn.encoded_len.html
+++ b/arrow_row/list/fn.encoded_len.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 `encoded_len` fn in crate `arrow_row`."><title>encoded_len in arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141b [...]
\ 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 `encoded_len` fn in crate `arrow_row`."><title>encoded_len in arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141b [...]
\ No newline at end of file
diff --git a/arrow_row/list/index.html b/arrow_row/list/index.html
index 9d802b1fda4..aac1f2e3360 100644
--- a/arrow_row/list/index.html
+++ b/arrow_row/list/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 `list` mod in crate `arrow_row`."><title>arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
\ 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 `list` mod in crate `arrow_row`."><title>arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
\ 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 a91a1d687c8..771c2ef7963 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fira [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,Fira [...]
     (<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 b133df56524..c15d7be0640 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSa [...]
     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 section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield 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><span id="s [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield 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><span id="s [...]
 <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="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="src rightside" href="../src/arrow_row/lib.rs.html#1052-1057">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-OwnedRow" class="anchor">§</a><h3 class=" [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#1044-1049">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-OwnedRow" class="anchor">§</a><h3 class=" [...]
     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>,</div></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></d [...]
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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>,</div></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></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> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></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></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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
-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-for-OwnedRow" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#1031-1036">source</a><a href="#impl-PartialOrd-for-OwnedRow" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cm [...]
+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-for-OwnedRow" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#1023-1028">source</a><a href="#impl-PartialOrd-for-OwnedRow" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cm [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn  [...]
-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="src rightside" href="../src/arrow_row/lib.rs.html#1029">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="str [...]
+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="src rightside" href="../src/arrow_row/lib.rs.html#1021">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="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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/struct.Row.html b/arrow_row/struct.Row.html
index 90d488b7c48..899a7e079be 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d38 [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d38 [...]
     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 section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield 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 section-header"><a href="#structfield.config" class="anchor field">§</a><code>config: &am [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#992-997">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-Row%3C'a%3E" class="anchor">§</a><h3 cla [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data" class="structfield 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 section-header"><a href="#structfield.config" class="anchor field">§</a><code>config: &am [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#984-989">source</a><a href="#impl-AsRef%3C%5Bu8%5D%3E-for-Row%3C'a%3E" class="anchor">§</a><h3 cla [...]
     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>,</div></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></d [...]
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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>,</div></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></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> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></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></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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
-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-for-Row%3C'a%3E" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#971-976">source</a><a href="#impl-PartialOrd-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/cmp/trait.PartialOrd.html" title=" [...]
+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-for-Row%3C'a%3E" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#963-968">source</a><a href="#impl-PartialOrd-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/cmp/trait.PartialOrd.html" title=" [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn  [...]
-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="src rightside" href="../src/arrow_row/lib.rs.html#944">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</a>  [...]
+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="src rightside" href="../src/arrow_row/lib.rs.html#936">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</a>  [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/struct.RowConfig.html b/arrow_row/struct.RowConfig.html
index 93dca76fe36..a09d94d4f85 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970 [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970 [...]
     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 section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield 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;</code></span>< [...]
 </div><span id="structfield.validate_utf8" class="structfield 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="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="src rightside" href="../src/arrow_row/lib.rs.html#810">source</a><a href="#impl-Clone-for-RowConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.o [...]
+</div><h2 id="trait-implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#802">source</a><a href="#impl-Clone-for-RowConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.o [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/struct.RowConverter.html b/arrow_row/struct.RowConverter.html
index 9fb4ebb6248..96ad639d853 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,Fira [...]
     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>
@@ -105,14 +105,9 @@ blocks using a length of 32, this is to reduce space amplification for small str
 └───────┴───────────────┴───────┴─────────┴───────┘
 </code></pre></div><h3 id="list-encoding"><a class="doc-anchor" href="#list-encoding">§</a>List Encoding</h3>
 <p>Lists are encoded by first encoding all child elements to the row format.</p>
-<p>A “canonical byte array” is then constructed by concatenating the row
-encodings of all their elements into a single binary array, followed
-by the lengths of each encoded row, and the number of elements, encoded
-as big endian <code>u32</code>.</p>
-<p>This canonical byte array is then encoded using the variable length byte
-encoding described above.</p>
-<p><em>The lengths are not strictly necessary but greatly simplify decode, they
-may be removed in a future iteration</em>.</p>
+<p>A list value is then encoded as the concatenation of each of the child elements,
+separately encoded using the variable length encoding described above, followed
+by the variable length encoding of an empty byte array.</p>
 <p>For example given:</p>
 <div class="example-wrap"><pre class="language-text"><code>[1_u8, 2_u8, 3_u8]
 [1_u8, null]
@@ -124,19 +119,19 @@ null
  1  │01│01│  2  │01│02│  3  │01│03│  1  │01│01│  null  │00│00│
     └──┴──┘     └──┴──┘     └──┴──┘     └──┴──┘        └──┴──┘
 </code></pre></div>
-<p>Which would be grouped into the following canonical byte arrays:</p>
-<div class="example-wrap"><pre class="language-text"><code>                        ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- [1_u8, 2_u8, 3_u8]     │01│01│01│02│01│03│00│00│00│02│00│00│00│02│00│00│00│02│00│00│00│03│
-                        └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
-                         └──── rows ────┘   └───────── row lengths ─────────┘  └─ count ─┘
+<p>Which would be encoded as</p>
+<div class="example-wrap"><pre class="language-text"><code>                        ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
+ [1_u8, 2_u8, 3_u8]     │02│01│01│00│00│02│02│01│02│00│00│02│02│01│03│00│00│02│01│
+                        └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
+                         └──── 1_u8 ────┘   └──── 2_u8 ────┘  └──── 3_u8 ────┘
+
+                        ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
+ [1_u8, null]           │02│01│01│00│00│02│02│00│00│00│00│02│01│
+                        └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
+                         └──── 1_u8 ────┘   └──── null ────┘
 
-                        ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
- [1_u8, null]           │01│01│00│00│00│00│00│02│00│00│00│02│00│00│00│02│
-                        └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
 </code></pre></div>
 <p>With <code>[]</code> represented by an empty byte array, and <code>null</code> a null byte array.</p>
-<p>These byte arrays will then be encoded using the variable length byte encoding
-described above.</p>
 <h2 id="ordering"><a class="doc-anchor" href="#ordering">§</a>Ordering</h2><h3 id="float-ordering"><a class="doc-anchor" href="#float-ordering">§</a>Float Ordering</h3>
 <p>Floats are totally ordered in accordance to the <code>totalOrder</code> predicate as defined
 in the IEEE 754 (2008 revision) floating point standard.</p>
@@ -149,13 +144,13 @@ nulls as <code>0xFF_u8</code> instead of <code>0_u8</code></p>
 <h3 id="reverse-column-ordering"><a class="doc-anchor" href="#reverse-column-ordering">§</a>Reverse Column Ordering</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 section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.fields" class="structfield 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;</code></span>< [...]
-</div><h2 id="implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#521-779">source</a><a href="#impl-RowConverter" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RowConverter.html" title="struct arrow_row::RowCo [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_fields" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#538-540">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.boo [...]
-</div></details><section id="method.supports_datatype" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#542-551">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="method" [...]
+</div><h2 id="implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#513-771">source</a><a href="#impl-RowConverter" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RowConverter.html" title="struct arrow_row::RowCo [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_fields" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#530-532">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.boo [...]
+</div></details><section id="method.supports_datatype" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#534-543">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="method" [...]
 <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 class="doc-anchor" href="#panics">§</a>Panics</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.append" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#597-676">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.append" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#589-668">source</a><h4 class="code-header">pub fn <a href="#method.append" class="fn">append</a>(
     &amp;self,
     rows: &amp;mut <a class="struct" href="struct.Rows.html" title="struct arrow_row::Rows">Rows</a>,
     columns: &amp;[ArrayRef]
@@ -179,11 +174,11 @@ converter.append(<span class="kw-2">&amp;mut </span>rows, <span class="kw-2">&am
 <span class="kw">let </span>back = converter.convert_rows(<span class="kw-2">&amp;</span>rows).unwrap();
 <span class="kw">let </span>values: Vec&lt;<span class="kw">_</span>&gt; = back[<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">"hello"</span>, <span class="string">"world"</span>, <span class="string">"a"</span>, <span class="string">"a"</span>, <span class="string">"hello"</span>]);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.convert_rows" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#683-704">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://d [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.convert_rows" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#675-696">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://d [...]
     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;,</div></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-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</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.empty_rows" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#734-746">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/primitive [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.empty_rows" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#726-738">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/primitive [...]
 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>
 
@@ -201,17 +196,17 @@ converted.iter().filter(|row| dedup.insert(<span class="kw-2">*</span>row)).for_
 </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">"hello"</span>, <span class="string">"world"</span>, <span class="string">"a"</span>]);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.convert_raw" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#753-763">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.convert_raw" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#745-755">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 class="doc-anchor" href="#safety">§</a>Safety</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="src rightside" href="../src/arrow_row/lib.rs.html#766-768">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 arrow [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#773-778">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="src rightside" href="../src/arrow_row/lib.rs.html#758-760">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 arrow [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#765-770">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="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="src rightside" href="../src/arrow_row/lib.rs.html#366">source</a><a href="#impl-Debug-for-RowConverter" class="anchor">§</a><h3 class="code-header">impl <a class [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#358">source</a><a href="#impl-Debug-for-RowConverter" class="anchor">§</a><h3 class="code-header">impl <a class [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/struct.RowParser.html b/arrow_row/struct.RowParser.html
index 7fcae69dc5f..9426286e908 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
     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 section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.config" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementati [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.config" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementati [...]
 <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="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="src rightside" href="../src/arrow_row/lib.rs.html#782">source</a><a href="#impl-Debug-for-RowParser" class="anchor">§</a><h3 class="code-header">impl <a class="trai [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#774">source</a><a href="#impl-Debug-for-RowParser" 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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/struct.Rows.html b/arrow_row/struct.Rows.html
index 12fc4d37d04..0fc0f45fe43 100644
--- a/arrow_row/struct.Rows.html
+++ b/arrow_row/struct.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="A row-oriented representation of arrow data, that is normalized for comparison."><title>Rows in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf08 [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf08 [...]
     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>,
@@ -7,14 +7,14 @@
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.buffer" class="structfield 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 class= [...]
 </div><span id="structfield.offsets" class="structfield 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 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="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="src rightside" href="../src/arrow_row/lib.rs.html#831-878">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></section> [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.row" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#844-851">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></summary> [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.clear" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#854-857">source</a><h4 class="code-header">pub fn <a href="#method.clear" class="fn">clear</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Sets the length of this <a href="struct.Rows.html" title="struct arrow_row::Rows"><code>Rows</code></a> to 0</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.num_rows" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#860-862">source</a><h4 class="code-header">pub fn <a href="#method.num_rows" class="fn">num_rows</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 of <a href="struct.Row.html" title=" [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#865-867">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="struct.RowsIter.html" title="struct arrow_row::RowsIter">RowsIter</a>&lt;'_&gt; <a href="#" class="tooltip" data-notable-ty="RowsIter&lt;&#39;_&gt;">ⓘ</a></h4></section></summary><div class [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#872-877">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><h2 id="implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#823-870">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></section> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.row" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#836-843">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></summary> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.clear" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#846-849">source</a><h4 class="code-header">pub fn <a href="#method.clear" class="fn">clear</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Sets the length of this <a href="struct.Rows.html" title="struct arrow_row::Rows"><code>Rows</code></a> to 0</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.num_rows" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#852-854">source</a><h4 class="code-header">pub fn <a href="#method.num_rows" class="fn">num_rows</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 of <a href="struct.Row.html" title=" [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#857-859">source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="struct.RowsIter.html" title="struct arrow_row::RowsIter">RowsIter</a>&lt;'_&gt; <a href="#" class="tooltip" data-notable-ty="RowsIter&lt;&#39;_&gt;">ⓘ</a></h4></section></summary><div class [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#864-869">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="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="src rightside" href="../src/arrow_row/lib.rs.html#821">source</a><a href="#impl-Debug-for-Rows" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="h [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../src/arrow_row/lib.rs.html#813">source</a><a href="#impl-Debug-for-Rows" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="h [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/struct.RowsIter.html b/arrow_row/struct.RowsIter.html
index e6c908969a0..a27ee2fc926 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,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="An iterator over `Rows`"><title>RowsIter in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,S [...]
     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 section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.rows" class="structfield 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 section-header"><a href="#structfield.start" class="anchor field">§</a><code>start: <a class="primiti [...]
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.rows" class="structfield 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 section-header"><a href="#structfield.start" class="anchor field">§</a><code>start: <a class="primiti [...]
     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;,</div></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,</div></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="src" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/double_ended.rs.html#356-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>,</div></h4></section></summa [...]
+    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>,</div></h4></section></summa [...]
     &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>,</div></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/n [...]
diff --git a/arrow_row/struct.SortField.html b/arrow_row/struct.SortField.html
index 423ca326912..ee781c9b4e5 100644
--- a/arrow_row/struct.SortField.html
+++ b/arrow_row/struct.SortField.html
@@ -1,16 +1,16 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Configure the data type and sort order for a given column"><title>SortField in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraS [...]
+<!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="Configure the data type and sort order for a given column"><title>SortField in arrow_row - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraS [...]
     pub(crate) options: SortOptions,
     pub(crate) data_type: DataType,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Configure the data type and sort order for a given column</p>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.options" class="structfield section-header"><a href="#structfield.options" class="anchor field">§</a><code>options: SortOptions</code></span><div class="docblock"><p>Sort options</p>
 </div><span id="structfield.data_type" class="structfield section-header"><a href="#structfield.data_type" class="anchor field">§</a><code>data_type: DataType</code></span><div class="docblock"><p>Data type</p>
-</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-SortField" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#502-519">source</a><a href="#impl-SortField" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">Sor [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_options" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#509-511">source</a><h4 class="code-header">pub fn <a href="#method.new_with_options" class="fn">new_with_options</a>(data_type: DataType, options: SortOptions) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new column with the given data type and [<code>SortOptions</code>]</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#516-518">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>Return size of this instance in bytes.</p>
+</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-SortField" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#494-511">source</a><a href="#impl-SortField" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.SortField.html" title="struct arrow_row::SortField">Sor [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_with_options" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#501-503">source</a><h4 class="code-header">pub fn <a href="#method.new_with_options" class="fn">new_with_options</a>(data_type: DataType, options: SortOptions) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new column with the given data type and [<code>SortOptions</code>]</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.size" class="method"><a class="src rightside" href="../src/arrow_row/lib.rs.html#508-510">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>Return 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="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-SortField" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#494">source</a><a href="#impl-Clone-for-SortField" class="anchor">§</a><h3 class="code-header">impl <a class="trai [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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-SortField" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#486">source</a><a href="#impl-Clone-for-SortField" class="anchor">§</a><h3 class="code-header">impl <a class="trai [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-SortField" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#494">source</a><a href="#impl-Eq-for-SortField" 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="struct.SortField.html" title="struct arrow_r [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-SortField" class="impl"><a class="src rightside" href="../src/arrow_row/lib.rs.html#486">source</a><a href="#impl-Eq-for-SortField" 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="struct.SortField.html" title="struct arrow_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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:/ [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/arrow_row/variable/fn.decode_binary.html b/arrow_row/variable/fn.decode_binary.html
index 845a59c8e77..5c90a6a5f15 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf [...]
     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_blocks.html b/arrow_row/variable/fn.decode_blocks.html
index a254f4f9c98..70da0e1c78c 100644
--- a/arrow_row/variable/fn.decode_blocks.html
+++ b/arrow_row/variable/fn.decode_blocks.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 `decode_blocks` fn in crate `arrow_row`."><title>decode_blocks in arrow_row::variable - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular- [...]
+<!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_blocks` fn in crate `arrow_row`."><title>decode_blocks in arrow_row::variable - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular- [...]
     row: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
     options: SortOptions,
     f: impl <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;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>])
diff --git a/arrow_row/variable/fn.decode_string.html b/arrow_row/variable/fn.decode_string.html
index 111c956436a..fa5bb4668ba 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf [...]
     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 497744241cb..4ae083d8416 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,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="Returns the number of bytes of encoded data"><title>decoded_len in arrow_row::variable - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSan [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/fn.encode_blocks.html b/arrow_row/variable/fn.encode_blocks.html
index fcff89510c5..71e15c14e57 100644
--- a/arrow_row/variable/fn.encode_blocks.html
+++ b/arrow_row/variable/fn.encode_blocks.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="Writes `val` in `SIZE` blocks with the appropriate continuation tokens"><title>encode_blocks in arrow_row::variable - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-0 [...]
+<!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="Writes `val` in `SIZE` blocks with the appropriate continuation tokens"><title>encode_blocks in arrow_row::variable - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-0 [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/list/fn.encode.html b/arrow_row/variable/fn.encode_empty.html
similarity index 56%
copy from arrow_row/list/fn.encode.html
copy to arrow_row/variable/fn.encode_empty.html
index 826b3cdbfd0..d7f273f66b9 100644
--- a/arrow_row/list/fn.encode.html
+++ b/arrow_row/variable/fn.encode_empty.html
@@ -1,9 +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="Encodes the provided `GenericListArray` to `out` with the provided `SortOptions`"><title>encode in arrow_row::list - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
-    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;
-)</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Encodes the provided <code>GenericListArray</code> to <code>out</code> with the provided <code>SortOptions</code></p>
-<p><code>rows</code> should contain the encoded child elements</p>
-</div></details></section></div></main></body></html>
\ 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 `encode_empty` fn in crate `arrow_row`."><title>encode_empty in arrow_row::variable - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-01 [...]
\ No newline at end of file
diff --git a/arrow_row/variable/fn.encode_null.html b/arrow_row/variable/fn.encode_null.html
new file mode 100644
index 00000000000..3f32f4a3c1c
--- /dev/null
+++ b/arrow_row/variable/fn.encode_null.html
@@ -0,0 +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 `encode_null` fn in crate `arrow_row`."><title>encode_null in arrow_row::variable - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c [...]
\ No newline at end of file
diff --git a/arrow_row/variable/fn.encode_one.html b/arrow_row/variable/fn.encode_one.html
index 4ca37bffbce..b12561c4581 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
+<!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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c14 [...]
     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 da5e87f04f9..5ba22282032 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff [...]
\ 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff [...]
\ No newline at end of file
diff --git a/arrow_row/variable/sidebar-items.js b/arrow_row/variable/sidebar-items.js
index 7b1d461988f..a957d73bb4e 100644
--- a/arrow_row/variable/sidebar-items.js
+++ b/arrow_row/variable/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"constant":["BLOCK_CONTINUATION","BLOCK_SIZE","EMPTY_SENTINEL","MINI_BLOCK_COUNT","MINI_BLOCK_SIZE","NON_EMPTY_SENTINEL"],"fn":["decode_binary","decode_blocks","decode_string","decoded_len","encode","encode_blocks","encode_one","encoded_len","padded_length"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"constant":["BLOCK_CONTINUATION","BLOCK_SIZE","EMPTY_SENTINEL","MINI_BLOCK_COUNT","MINI_BLOCK_SIZE","NON_EMPTY_SENTINEL"],"fn":["decode_binary","decode_blocks","decode_string","decoded_len","encode","encode_blocks","encode_empty","encode_null","encode_one","encoded_len","padded_length"]};
\ No newline at end of file
diff --git a/help.html b/help.html
index 8a79f924e18..511b8c04cc5 100644
--- a/help.html
+++ b/help.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="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ 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="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
diff --git a/index.html b/index.html
index 8199628d1a7..7b368c7d8de 100644
--- a/index.html
+++ b/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="List of crates"><title>Index of crates</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of crates"><title>Index of crates</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ 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 fb91e5bc403..77e815344fd 100644
--- a/parquet/arrow/arrow_reader/selection/struct.RowSelection.html
+++ b/parquet/arrow/arrow_reader/selection/struct.RowSelection.html
@@ -71,7 +71,7 @@ other:     NYNNNNNNY</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#414-416">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;Ite [...]
 <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="src rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#419-421">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 o [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#92">source</a><a href="#impl-Clone-for-RowSelection" class="anchor">§</a><h3 cl [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#92">source</a><a href="#impl-Clone-for-RowSelection" class="anchor">§</a><h3 cl [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-RowSelection" class="impl"><a class="src rightside" href="../../../../src/parquet/arrow/arrow_reader/selection.rs.html#92">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="struct. [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/arrow/arrow_reader/struct.RowSelection.html b/parquet/arrow/arrow_reader/struct.RowSelection.html
index 7512712fd67..efab37ba45e 100644
--- a/parquet/arrow/arrow_reader/struct.RowSelection.html
+++ b/parquet/arrow/arrow_reader/struct.RowSelection.html
@@ -71,7 +71,7 @@ other:     NYNNNNNNY</p>
 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#414-416">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;Item = [...]
 <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="src rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#419-421">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 of s [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#92">source</a><a href="#impl-Clone-for-RowSelection" class="anchor">§</a><h3 class [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#92">source</a><a href="#impl-Clone-for-RowSelection" class="anchor">§</a><h3 class [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-RowSelection" class="impl"><a class="src rightside" href="../../../src/parquet/arrow/arrow_reader/selection.rs.html#92">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="selection/ [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/basic/enum.ColumnOrder.html b/parquet/basic/enum.ColumnOrder.html
index 120d4a19c3d..fc9faf62691 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="src rightside" href="../../src/parquet/basic.rs.html#568-584">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 parquet::b [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_order" class="method"><a class="src rightside" href="../../src/parquet/basic.rs.html#587-592">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 column  [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../src/parquet/basic.rs.html#486">source</a><a href="#impl-Clone-for-ColumnOrder" class="anchor">§</a><h3 class="code-header">impl <a clas [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../src/parquet/basic.rs.html#486">source</a><a href="#impl-Clone-for-ColumnOrder" class="anchor">§</a><h3 class="code-header">impl <a clas [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-ColumnOrder" class="impl"><a class="src rightside" href="../../src/parquet/basic.rs.html#486">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.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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/basic/enum.ConvertedType.html b/parquet/basic/enum.ConvertedType.html
index 81c18fdfc97..f047fe7e4ee 100644
--- a/parquet/basic/enum.ConvertedType.html
+++ b/parquet/basic/enum.ConvertedType.html
@@ -70,7 +70,7 @@ the number of months associated with the duration, 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></div><h2 id="trait-implementations" class="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-ConvertedType" class="impl"><a class="src rightside" href="../../src/parquet/basic.rs.html#68">source</a><a href="#impl-Clone-for-ConvertedType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https:/ [...]
+</div></div><h2 id="trait-implementations" class="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-ConvertedType" class="impl"><a class="src rightside" href="../../src/parquet/basic.rs.html#68">source</a><a href="#impl-Clone-for-ConvertedType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https:/ [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
 sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3COption%3CConvertedType%3E%3E-for-ConvertedType" class="impl"><a class="src rightside" href="../../src/parquet/basic.rs.html#682-720">source</a><a href="#impl-TryFrom%3COption%3CConvertedType%3E%3E-for-ConvertedType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lan [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/data_type/struct.ByteArray.html b/parquet/data_type/struct.ByteArray.html
index b22ec6fc2ac..b37621d958f 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="src rightside" href="../../src/parquet/data_type.rs.html#162-167">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="docblock"> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.set_data" class="method"><a class="src rightside" href="../../src/parquet/data_type.rs.html#171-173">source</a><h4 class="code-header">pub fn <a href="#method.set_data" class="fn">set_data</a>(&amp;mut self, data: Bytes)</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="src rightside" href="../../src/parquet/data_type.rs.html#177-184">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="src rightside" href="../../src/parquet/data_type.rs.html#186-192">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="tr [...]
+</div></details><section id="method.as_utf8" class="method"><a class="src rightside" href="../../src/parquet/data_type.rs.html#186-192">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="tr [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetValueType-for-ByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#889-971">source</a><a href="#impl-ParquetValueType-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="t [...]
     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>,
@@ -22,10 +22,10 @@ sufficient, and should not be overridden without very good reason.</div></detail
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
 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-for-ByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#235-243">source</a><a href="#impl-PartialEq-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" 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%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#305-309">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/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-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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt-1" 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-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#299-303">source</a><a href="#impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait [...]
+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="src rightside" href="../../src/parquet/data_type.rs.html#305-309">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/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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn  [...]
+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="src rightside" href="../../src/parquet/data_type.rs.html#299-303">source</a><a href="#impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait [...]
+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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt-1" 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-PartialOrd-for-ByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#122-138">source</a><a href="#impl-PartialOrd-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt-2" 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="src rightside" href="../../src/parquet/data_type.rs.html#532">source</a><a href="#impl-SliceAsBytes-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.SliceAsBytes.html" title="trait  [...]
diff --git a/parquet/data_type/struct.FixedLenByteArray.html b/parquet/data_type/struct.FixedLenByteArray.html
index 834322e7790..574bf4f024d 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="src rightside" href="../../src/parquet/data_type.rs.html#162-167">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="docblock"> [...]
 </div></details><details class="toggle method-toggle" open><summary><section id="method.set_data" class="method"><a class="src rightside" href="../../src/parquet/data_type.rs.html#171-173">source</a><h4 class="code-header">pub fn <a href="#method.set_data" class="fn">set_data</a>(&amp;mut self, data: Bytes)</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="src rightside" href="../../src/parquet/data_type.rs.html#177-184">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="src rightside" href="../../src/parquet/data_type.rs.html#186-192">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-implementati [...]
+</div></details><section id="method.as_utf8" class="method"><a class="src rightside" href="../../src/parquet/data_type.rs.html#186-192">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-implementati [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetValueType-for-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#973-1057">source</a><a href="#impl-ParquetValueType-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header" [...]
     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>,
@@ -22,16 +22,16 @@ level logical types, removing the data-hazard from all decoding and encoding pat
 ) -&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></summary><div class='docblock'>Encode the value directly from a higher level encoder</div></details><details class="toggle method-toggle" open><summary><section id="method.set_data-1" class="method trait-impl"><a class="src rightside" href="../../src/parquet/data_type.rs [...]
     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="src rightside" href="../../src/parquet/data_type.rs.html#1021-1041">source</a><a href="#method. [...]
-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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" cl [...]
+) -&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="src rightside" href="../../src/parquet/data_type.rs.html#1021-1041">source</a><a href="#method. [...]
+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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" 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="src rightside" href="../../src/parquet/data_type.rs.html#281-285">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/nightly/co [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
-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-for-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#269-273">source</a><a href="#impl-PartialEq-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" t [...]
-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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" 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%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#305-309">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/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-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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt-1" 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-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#299-303">source</a><a href="#impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait [...]
+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-for-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#269-273">source</a><a href="#impl-PartialEq-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" t [...]
+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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" 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%3CByteArray%3E-for-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#305-309">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/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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn  [...]
+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="src rightside" href="../../src/parquet/data_type.rs.html#299-303">source</a><a href="#impl-PartialOrd%3CFixedLenByteArray%3E-for-ByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait [...]
+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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt-1" 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-PartialOrd-for-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#293-297">source</a><a href="#impl-PartialOrd-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang. [...]
 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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1215">source</a></span><a href="#method.gt-2" 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-FixedLenByteArray" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#533">source</a><a href="#impl-SliceAsBytes-for-FixedLenByteArray" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.SliceAsBytes.htm [...]
diff --git a/parquet/data_type/struct.Int96.html b/parquet/data_type/struct.Int96.html
index e1dfc4d56e0..06c93b99006 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="src rightside" href="../../src/parquet/data_type.rs.html#68-73">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 numbe [...]
 <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="src rightside" href="../../src/parquet/data_type.rs.html#76-84">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/std/ [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../src/parquet/data_type.rs.html#541-545">source</a><a href="#impl-AsBytes-for-Int96" class="anchor">§</a><h3 class="code-header">impl <a clas [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="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="src rightside" href="../../src/parquet/data_type.rs.html#541-545">source</a><a href="#impl-AsBytes-for-Int96" class="anchor">§</a><h3 class="code-header">impl <a clas [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ParquetValueType-for-Int96" class="impl"><a class="src rightside" href="../../src/parquet/data_type.rs.html#802-887">source</a><a href="#impl-ParquetValueType-for-Int96" class="anchor">§</a><h3 class="code-header">impl <a class="trait" hr [...]
     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/errors/enum.ParquetError.html b/parquet/errors/enum.ParquetError.html
index 68d078d2ab7..2c007041b07 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="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="src 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="https:// [...]
+</div></div><h2 id="trait-implementations" class="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="src 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="https:// [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static,</div></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://doc [...]
 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 b22261bd26e..f99c87110a0 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></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-FileReader-for-SerializedFileReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/parquet/file/serialized_reader.rs.html#257-282">source</a><a href="#impl-FileReader-for-SerializedFileReade [...]
 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>,</div></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::m [...]
     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>,</div></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a clas [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/parquet/format/struct.BoundaryOrder.html b/parquet/format/struct.BoundaryOrder.html
index c65309f6f94..0845e4ea2d4 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><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98ef [...]
 are ordered and if so, in which direction.</p>
-</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><de [...]
+</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><de [...]
     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>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
diff --git a/parquet/format/struct.CompressionCodec.html b/parquet/format/struct.CompressionCodec.html
index f97a5dd3ed4..2c931fe0965 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 section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><de [...]
+</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><de [...]
     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>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
diff --git a/parquet/format/struct.ConvertedType.html b/parquet/format/struct.ConvertedType.html
index 858bcf435e3..640844a699a 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="src rightside" href="../../src/parquet/format.rs.html#201-224">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="section-header">Trait  [...]
+</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="src rightside" href="../../src/parquet/format.rs.html#201-224">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="section-header">Trait  [...]
     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>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
diff --git a/parquet/format/struct.Encoding.html b/parquet/format/struct.Encoding.html
index 5d0a3dd3f76..affe37838c8 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="src rightside" href="../../src/parquet/format.rs.html#389-399">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="section-header">Trait  [...]
+</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="src rightside" href="../../src/parquet/format.rs.html#389-399">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="section-header">Trait  [...]
     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>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
diff --git a/parquet/format/struct.FieldRepetitionType.html b/parquet/format/struct.FieldRepetitionType.html
index 24ff58a8009..89e730ba2d2 100644
--- a/parquet/format/struct.FieldRepetitionType.html
+++ b/parquet/format/struct.FieldRepetitionType.html
@@ -2,7 +2,7 @@
 </div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><de [...]
 </div></details><details class="toggle" open><summary><section id="associatedconstant.OPTIONAL" class="associatedconstant"><a class="src rightside" href="../../src/parquet/format.rs.html#294">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"><p> [...]
 </div></details><details class="toggle" open><summary><section id="associatedconstant.REPEATED" class="associatedconstant"><a class="src rightside" href="../../src/parquet/format.rs.html#296">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"><p> [...]
-</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="src rightside" href="../../src/parquet/format.rs.html#297-301">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="section-header">Trait  [...]
+</div></details><section id="associatedconstant.ENUM_VALUES" class="associatedconstant"><a class="src rightside" href="../../src/parquet/format.rs.html#297-301">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="section-header">Trait  [...]
     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>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
diff --git a/parquet/format/struct.Type.html b/parquet/format/struct.Type.html
index 4cfb65352ae..bee73a9fbd3 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 section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><de [...]
+</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield 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="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><de [...]
     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>,</div></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></d [...]
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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="si [...]
diff --git a/parquet/schema/types/struct.ColumnPath.html b/parquet/schema/types/struct.ColumnPath.html
index f9f70a42ed1..ccf9f58f267 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">"d"</span>.to_string(), <span class="string">"e"</span>.to_string()]);
 <span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>path.string(), <span class="string">"a.b.c.d.e"</span>);</code></pre></div>
-</div></details><section id="method.parts" class="method"><a class="src rightside" href="../../../src/parquet/schema/types.rs.html#705-707">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="section-header">Trait Impleme [...]
+</div></details><section id="method.parts" class="method"><a class="src rightside" href="../../../src/parquet/schema/types.rs.html#705-707">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="section-header">Trait 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>,</div></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></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="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">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" class= [...]
diff --git a/parquet_derive_test/struct.ACompleteRecord.html b/parquet_derive_test/struct.ACompleteRecord.html
index d0f5a695c0b..f1498b166a0 100644
--- a/parquet_derive_test/struct.ACompleteRecord.html
+++ b/parquet_derive_test/struct.ACompleteRecord.html
@@ -46,5 +46,5 @@ if <code>into_left(&amp;self)</code> returns <code>true</code>.
 Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
 otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" hr [...]
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" cl [...]
-    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Erro [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Erro [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></div></section></div></ma [...]
\ No newline at end of file
diff --git a/parquet_derive_test/struct.APartiallyCompleteRecord.html b/parquet_derive_test/struct.APartiallyCompleteRecord.html
index 8e91456c46e..d332466c5c2 100644
--- a/parquet_derive_test/struct.APartiallyCompleteRecord.html
+++ b/parquet_derive_test/struct.APartiallyCompleteRecord.html
@@ -37,5 +37,5 @@ if <code>into_left(&amp;self)</code> returns <code>true</code>.
 Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
 otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" hr [...]
     U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" cl [...]
-    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Erro [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Erro [...]
     T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></div></section></div></ma [...]
\ No newline at end of file
diff --git a/search-index.js b/search-index.js
index 12ad2198809..b20c5b8608b 100644
--- a/search-index.js
+++ b/search-index.js
@@ -15,7 +15,7 @@ var searchIndex = new Map(JSON.parse('[\
 ["arrow_json",{"t":"EKEEEEEMQCCKFFFFOOCNNNNNNNNNOCMNOONNNNNNHHHNNNNOOOCHCONNNCCQNOOOCNOONCOCCCOCNNNNNNNNNNNNFNNNNNNNNNFNNNNNNOOONNNFNNONONNONONNNFNNONNNOONNNNOFNNNNNNNNNKFNNONNNNMOQNNNPPGPPFNNNNNNHHNNNNHHHHHHHHHHNNNNOHONNNOOHNNNNNNNFFFFNNNNNNNNONONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNSFSNNONNNNONNNFNNONONNONOHNNNFPGPPPPPPPPPPGPPPPPPPPPPFFGPPPPNNNNNONNNNNNNNNNNNNOHNNNNNNNONNOONNNNHNNNNNNNNNNNNNNNNNNNNNNHNNNNQNOOHNNNNNOOONNNNNNNNNNNNNNNNNNNNNHFNNONNNNOONN [...]
 ["arrow_json_integration_test",{"t":"FPPGPOHNNNNNNNNNNNNNNNNNNONNNNOHHONNNNNNNNNNHNONN","n":["Args","ArrowToJson","JsonToArrow","Mode","Validate","arrow","arrow_to_json","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_ref","group_id","integration","into","into","into_request","into_request","json","json_to_arrow","main","mode", [...]
 ["arrow_ord",{"t":"CCCCCKPPPPRPPPPGHHHNNNNHHHHNNNHHNMMMHHHHHNNNNNNMIHHHHHFNNNNHNNNNNHHNNNNNHHHHFIFFNNNNNNNNNHNNNNNNONONNNNNNNNNNNNHHNOONHHHHHHHHHHHHHHHHHHHNNNNNNNNNNNNO","n":["cmp","ord","partition","rank","sort","ArrayOrd","Distinct","Equal","Greater","GreaterEqual","Item","Less","LessEqual","NotDistinct","NotEqual","Op","apply","apply_op","apply_op_vectored","borrow","borrow_mut","clone","clone_into","collect_bool","compare_op","distinct","eq","fmt","fmt","from","gt","gt_eq","into","is [...]
-["arrow_row",{"t":"GPPGPPFFFFFFFFPPPPNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNOOOOONNNOOOHQNHHNONNNNNNNNNOOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNHNOONNNNNNNNHONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCTRKKMHHHHHHMHQQHMHHHHHHSSSSSSHHHHHHHHH","n":["Codec","Dictionary","Dictionary","Encoder","List","List","OwnedRow","Row","RowConfig","RowConverter","RowParser","Rows","RowsIter","SortField","Stateless","Stateless","Struct","Struct","append","as_ref","as_ref","borrow","borrow","borrow","bo [...]
+["arrow_row",{"t":"GPPGPPFFFFFFFFPPPPNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNOOOOONNNOOOHQNHHNONNNNNNNNNOOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNHNOONNNNNNNNHONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCTRKKMHHHHHHMHQQHMHHHHHHSSSSSSHHHHHHHHHHH","n":["Codec","Dictionary","Dictionary","Encoder","List","List","OwnedRow","Row","RowConfig","RowConverter","RowParser","Rows","RowsIter","SortField","Stateless","Stateless","Struct","Struct","append","as_ref","as_ref","borrow","borrow","borrow"," [...]
 ["arrow_schema",{"t":"GPPPPPPPSSSSSGPPPPPPPPPPPFIFPPPPPPPPPPGPPPPPPPPPPPPPPPPPPPPPPFFPIPFPPPPGPPPPPPFGPPPNNNNNOCNOOONCCCCOONNNNOOOONOONCNNNNPPPSSSSSGPPPPPPPPPPPPPPPPPPGPPPPPPPPPPPPPPPPPPGPPPPPPGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNFFFNNNNNNOONOONNNCNONNONNNHNNNNOOONONOOHNNNNNNNNNNNNNNNNNTFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFINNNNNNNNONNONONNNNNNNNNNONONNNNNNNNNNONNNNNNNNNNNNNNNFFNNNNNNN [...]
 ["arrow_select",{"t":"CCCCCCCCHHHHHQFFINNNNOHHNNHNNNOHHNOHONNNNNNOPSIFFFFPPGPPFPNNNNNNNNNNNNNHNOOONOONNHNOOHHHHHHHHHHHHNNNNNNNNNNNNNNNNNNNNONNNNNNNHONOOOONNNNNNNNNNNNNNNNNNFONNQNHHHHHNNOQNNNHRFKNNHONNNNNNHHHHHHHHHHHHHHHHHHMQQQNNNNHH","n":["concat","dictionary","filter","interleave","nullif","take","window","zip","binary_capacity","concat","concat_batches","concat_dictionaries","concat_fallback","dict_helper","Interner","MergedDictionaries","PtrEq","borrow","borrow","borrow_mut","borrow_m [...]
 ["arrow_stream_to_file",{"t":"H","n":["main"],"q":[[0,"arrow_stream_to_file"],[1,"arrow::error"]],"i":[0],"f":"{{}{{d{b}}}}","D":"`","p":[[1,"unit"],[8,"Result",1]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAAAAQA="}],\
@@ -24,7 +24,7 @@ var searchIndex = new Map(JSON.parse('[\
 ["flight_test_integration_client",{"t":"FPPIPPIGNNNNNNNNNNNNNNNNNNONNNNHOOONNNNNNNNNNNNN","n":["Args","AuthBasicProto","Err","Error","Middleware","Ok","Result","Scenario","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_ref","group_id","host","into","into","into_request","into_request","main","path","port","scenario","to_owned", [...]
 ["flight_test_integration_server",{"t":"FPPIPPIGNNNNNNNNNNNNNNNNNNNNNNHOONNNNNNNNNNNNN","n":["Args","AuthBasicProto","Err","Error","Middleware","Ok","Result","Scenario","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_ref","group_id","into","into","into_request","into_request","main","port","scenario","to_owned","to_possible_val [...]
 ["gen",{"t":"HH","n":["main","prost_config"],"q":[[0,"gen"],[2,"core::error"],[3,"alloc::boxed"],[4,"core::result"],[5,"prost_build::config"]],"i":[0,0],"f":"{{}{{h{b{f{d}}}}}}{{}j}","D":"`","p":[[1,"unit"],[10,"Error",2],[5,"Box",3],[6,"Result",4],[5,"Config",5]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAIAEAAAAAAAAQACAA=="}],\
-["parquet",{"t":"CCCCCCQCCCCCSEEFSEFNCHCCCNNNNCNNNNCONNNNNNNNOOHHHCNNNNNNNNNKFFFFFIFFFKFFHOOOONNNNNNNNNNNNNNNNNNNMNONMHOOOOCOONNNNNNNNNOONNNNNNNNOONNNNOOOOONNNNNNNNNNMNOOONNOMOOOOOOOOOONNNOOOOCOOOOHOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFFNNNNMNONNNNNNOMNONNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNONNONNONNNNNNNNNNFFFFGFFFFFPPINNONNNNNNNNNNNNNNNNNNNNOOCNONNNNNNNOHOONNNNNNNNNNNNNNNNNNNNNHHNHHHNHHHHNONNNNNNNNNNNNNNNNOCONNONNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNHOOOFFPPFFGPNONNNNNNNNNN [...]
+["parquet",{"t":"CCCCCCQCCCCCSEEFSEFNCHCCCNNNNCNNNNCONNNNNNNNOOHHHCNNNNNNNNNKFFFFFIFFFKFFHOOOONNNNNNNNNNNNNNNNNNNMNONMHOOOOCOONNNNNNNNNOONNNNNNNNOONNNNOOOOONNNNNNNNNNMNOOONNOMOOOOOOOOOONNNOOOOCOOOOHOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFFNNNNMNONNNNNNOMNONNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNONNONNONNNNNNNNNNFFFFGFFFFFPPINNONNNNNNNNNNNNNNNNNNNNOOCNONNNNNNNOHOONNNNNNNNNNNNNNNNNNNNNHHNHHHNHHHHNONNNNNNNNNNNNNNNNOCONNONNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNHOOOFFPPFFGPNONNNNNNNNNN [...]
 ["parquet_concat",{"t":"FNNNNNNNNNNNONHONNNNNN","n":["Args","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","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"],[22,"clap_builder::builder::command"],[23,"core::fmt"],[24,"clap_builder::parser::matches::arg_matches"],[25,"clap_build [...]
 ["parquet_derive",{"t":"YYCPPPFPPPGGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNONNNNNNONNNN","n":["ParquetRecordReader","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_reader","column_writer","converted_type","copied_direct_fields","copied_direct_vals","eq","eq","eq","fmt","fmt","fmt","from [...]
 ["parquet_derive_test",{"t":"FFOOOOONNNNOOOOOOOOOONOONNNOOOONNOOOOOOOOOOOOOONNNNNNOOOO","n":["ACompleteRecord","APartiallyCompleteRecord","a_bool","a_borrowed_string","a_str","a_string","bool","borrow","borrow","borrow_mut","borrow_mut","borrowed_byte_vec","borrowed_maybe_a_str","borrowed_maybe_a_string","borrowed_maybe_borrowed_byte_vec","borrowed_maybe_byte_vec","byte_vec","byte_vec","date","double","double","eq","float","float","fmt","from","from","i16","i16","i32","i32","into","into" [...]
diff --git a/search.desc/parquet/parquet-desc-0-.js b/search.desc/parquet/parquet-desc-0-.js
index 6541b70ea99..69c57feb3bb 100644
--- a/search.desc/parquet/parquet-desc-0-.js
+++ b/search.desc/parquet/parquet-desc-0-.js
@@ -1 +1 @@
-searchState.loadedDescShard("parquet", 0, "This crate contains the official Native Rust …\nHigh-level API for reading/writing Arrow RecordBatches and …\nContains Rust mappings for Thrift definition. Refer to …\nBloom filter implementation specific to Parquet, as …\nLow level column reader and writer APIs.\nData types that connect Parquet physical types with their …\nCommon Parquet errors and macros.\nDefines a an item with an experimental public API\nLow level APIs for reading raw parque [...]
\ No newline at end of file
+searchState.loadedDescShard("parquet", 0, "This crate contains the official Native Rust …\nHigh-level API for reading/writing Arrow RecordBatches and …\nContains Rust mappings for Thrift definition. Refer to …\nBloom filter implementation specific to Parquet, as …\nLow level column reader and writer APIs.\nData types that connect Parquet physical types with their …\nCommon Parquet errors and macros.\nDefines a an item with an experimental public API\nLow level APIs for reading raw parque [...]
\ No newline at end of file
diff --git a/settings.html b/settings.html
index 42180e2b725..87e79209133 100644
--- a/settings.html
+++ b/settings.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="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ 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="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ No newline at end of file
diff --git a/src/arrow_row/lib.rs.html b/src/arrow_row/lib.rs.html
index 966742a2fa8..83525adcc3b 100644
--- a/src/arrow_row/lib.rs.html
+++ b/src/arrow_row/lib.rs.html
@@ -2272,6 +2272,10 @@
 <a href="#2272" id="2272">2272</a>
 <a href="#2273" id="2273">2273</a>
 <a href="#2274" id="2274">2274</a>
+<a href="#2275" id="2275">2275</a>
+<a href="#2276" id="2276">2276</a>
+<a href="#2277" id="2277">2277</a>
+<a href="#2278" id="2278">2278</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
@@ -2569,16 +2573,9 @@
 ///
 /// Lists are encoded by first encoding all child elements to the row format.
 ///
-/// A "canonical byte array" is then constructed by concatenating the row
-/// encodings of all their elements into a single binary array, followed
-/// by the lengths of each encoded row, and the number of elements, encoded
-/// as big endian `u32`.
-///
-/// This canonical byte array is then encoded using the variable length byte
-/// encoding described above.
-///
-/// _The lengths are not strictly necessary but greatly simplify decode, they
-/// may be removed in a future iteration_.
+/// A list value is then encoded as the concatenation of each of the child elements,
+/// separately encoded using the variable length encoding described above, followed
+/// by the variable length encoding of an empty byte array.
 ///
 /// For example given:
 ///
@@ -2597,24 +2594,23 @@
 ///     └──┴──┘     └──┴──┘     └──┴──┘     └──┴──┘        └──┴──┘
 ///```
 ///
-/// Which would be grouped into the following canonical byte arrays:
+/// Which would be encoded as
 ///
 /// ```text
-///                         ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
-///  [1_u8, 2_u8, 3_u8]     │01│01│01│02│01│03│00│00│00│02│00│00│00│02│00│00│00│02│00│00│00│03│
-///                         └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
-///                          └──── rows ────┘   └───────── row lengths ─────────┘  └─ count ─┘
+///                         ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
+///  [1_u8, 2_u8, 3_u8]     │02│01│01│00│00│02│02│01│02│00│00│02│02│01│03│00│00│02│01│
+///                         └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
+///                          └──── 1_u8 ────┘   └──── 2_u8 ────┘  └──── 3_u8 ────┘
+///
+///                         ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
+///  [1_u8, null]           │02│01│01│00│00│02│02│00│00│00│00│02│01│
+///                         └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
+///                          └──── 1_u8 ────┘   └──── null ────┘
 ///
-///                         ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
-///  [1_u8, null]           │01│01│00│00│00│00│00│02│00│00│00│02│00│00│00│02│
-///                         └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
 ///```
 ///
 /// With `[]` represented by an empty byte array, and `null` a null byte array.
 ///
-/// These byte arrays will then be encoded using the variable length byte encoding
-/// described above.
-///
 /// # Ordering
 ///
 /// ## Float Ordering
@@ -4545,5 +4541,17 @@
 
         dictionary_eq(<span class="kw-2">&amp;</span>back[<span class="number">0</span>], <span class="kw-2">&amp;</span>array);
     }
+
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_list_prefix() {
+        <span class="kw">let </span><span class="kw-2">mut </span>a = ListBuilder::new(Int8Builder::new());
+        a.append_value([<span class="prelude-val">None</span>]);
+        a.append_value([<span class="prelude-val">None</span>, <span class="prelude-val">None</span>]);
+        <span class="kw">let </span>a = a.finish();
+
+        <span class="kw">let </span>converter = RowConverter::new(<span class="macro">vec!</span>[SortField::new(a.data_type().clone())]).unwrap();
+        <span class="kw">let </span>rows = converter.convert_columns(<span class="kw-2">&amp;</span>[Arc::new(a) <span class="kw">as _</span>]).unwrap();
+        <span class="macro">assert_eq!</span>(rows.row(<span class="number">0</span>).cmp(<span class="kw-2">&amp;</span>rows.row(<span class="number">1</span>)), Ordering::Less);
+    }
 }
 </code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/src/arrow_row/list.rs.html b/src/arrow_row/list.rs.html
index 88f5cff7e6c..e1bbf226973 100644
--- a/src/arrow_row/list.rs.html
+++ b/src/arrow_row/list.rs.html
@@ -173,6 +173,17 @@
 <a href="#173" id="173">173</a>
 <a href="#174" id="174">174</a>
 <a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</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
@@ -190,9 +201,9 @@
 // specific language governing permissions and limitations
 // under the License.
 
-</span><span class="kw">use crate</span>::{RowConverter, Rows, SortField};
-<span class="kw">use </span>arrow_array::builder::BufferBuilder;
+</span><span class="kw">use crate</span>::{null_sentinel, RowConverter, Rows, SortField};
 <span class="kw">use </span>arrow_array::{Array, GenericListArray, OffsetSizeTrait};
+<span class="kw">use </span>arrow_buffer::{Buffer, MutableBuffer};
 <span class="kw">use </span>arrow_data::ArrayDataBuilder;
 <span class="kw">use </span>arrow_schema::{ArrowError, SortOptions};
 <span class="kw">use </span>std::ops::Range;
@@ -218,12 +229,10 @@
 <span class="kw">fn </span>encoded_len(rows: <span class="kw-2">&amp;</span>Rows, range: <span class="prelude-ty">Option</span>&lt;Range&lt;usize&gt;&gt;) -&gt; usize {
     <span class="kw">match </span>range {
         <span class="prelude-val">None </span>=&gt; <span class="number">1</span>,
-        <span class="prelude-val">Some</span>(range) <span class="kw">if </span>range.start == range.end =&gt; <span class="number">1</span>,
         <span class="prelude-val">Some</span>(range) =&gt; {
-            <span class="kw">let </span>element_count = range.end - range.start;
-            <span class="kw">let </span>row_bytes = range.map(|i| rows.row(i).as_ref().len()).sum::&lt;usize&gt;();
-            <span class="kw">let </span>total = (<span class="number">1 </span>+ element_count) * std::mem::size_of::&lt;u32&gt;() + row_bytes;
-            <span class="kw">super</span>::variable::padded_length(<span class="prelude-val">Some</span>(total))
+            <span class="number">1 </span>+ range
+                .map(|i| <span class="kw">super</span>::variable::padded_length(<span class="prelude-val">Some</span>(rows.row(i).as_ref().len())))
+                .sum::&lt;usize&gt;()
         }
     }
 }
@@ -238,7 +247,6 @@
     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>[];
     offsets
         .iter_mut()
         .skip(<span class="number">1</span>)
@@ -249,42 +257,28 @@
             <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>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)
+            <span class="kw-2">*</span>offset += encode_one(out, rows, range, opts)
         });
 }
 
 <span class="attr">#[inline]
 </span><span class="kw">fn </span>encode_one(
     out: <span class="kw-2">&amp;mut </span>[u8],
-    temporary: <span class="kw-2">&amp;mut </span>Vec&lt;u8&gt;,
     rows: <span class="kw-2">&amp;</span>Rows,
     range: <span class="prelude-ty">Option</span>&lt;Range&lt;usize&gt;&gt;,
     opts: SortOptions,
 ) -&gt; usize {
-    temporary.clear();
-
     <span class="kw">match </span>range {
-        <span class="prelude-val">None </span>=&gt; <span class="kw">super</span>::variable::encode_one(out, <span class="prelude-val">None</span>, opts),
-        <span class="prelude-val">Some</span>(range) <span class="kw">if </span>range.start == range.end =&gt; {
-            <span class="kw">super</span>::variable::encode_one(out, <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[]), opts)
-        }
+        <span class="prelude-val">None </span>=&gt; <span class="kw">super</span>::variable::encode_null(out, opts),
+        <span class="prelude-val">Some</span>(range) <span class="kw">if </span>range.start == range.end =&gt; <span class="kw">super</span>::variable::encode_empty(out, opts),
         <span class="prelude-val">Some</span>(range) =&gt; {
-            <span class="kw">for </span>row <span class="kw">in </span>range.clone().map(|i| rows.row(i)) {
-                temporary.extend_from_slice(row.as_ref());
+            <span class="kw">let </span><span class="kw-2">mut </span>offset = <span class="number">0</span>;
+            <span class="kw">for </span>i <span class="kw">in </span>range {
+                <span class="kw">let </span>row = rows.row(i);
+                offset += <span class="kw">super</span>::variable::encode_one(<span class="kw-2">&amp;mut </span>out[offset..], <span class="prelude-val">Some</span>(row.data), opts);
             }
-            <span class="kw">for </span>row <span class="kw">in </span>range.clone().map(|i| rows.row(i)) {
-                <span class="kw">let </span>len: u32 = row
-                    .as_ref()
-                    .len()
-                    .try_into()
-                    .expect(<span class="string">"ListArray or LargeListArray containing a list of more than u32::MAX items is not supported"</span>);
-                temporary.extend_from_slice(<span class="kw-2">&amp;</span>len.to_be_bytes());
-            }
-            <span class="kw">let </span>row_count: u32 = (range.end - range.start)
-                .try_into()
-                .expect(<span class="string">"lists containing more than u32::MAX elements not supported"</span>);
-            temporary.extend_from_slice(<span class="kw-2">&amp;</span>row_count.to_be_bytes());
-            <span class="kw">super</span>::variable::encode_one(out, <span class="prelude-val">Some</span>(temporary), opts)
+            offset += <span class="kw">super</span>::variable::encode_empty(<span class="kw-2">&amp;mut </span>out[offset..], opts);
+            offset
         }
     }
 }
@@ -300,50 +294,78 @@
     field: <span class="kw-2">&amp;</span>SortField,
     validate_utf8: bool,
 ) -&gt; <span class="prelude-ty">Result</span>&lt;GenericListArray&lt;O&gt;, ArrowError&gt; {
-    <span class="kw">let </span>canonical = <span class="kw">super</span>::variable::decode_binary::&lt;i64&gt;(rows, field.options);
+    <span class="kw">let </span>opts = field.options;
+
+    <span class="kw">let </span><span class="kw-2">mut </span>values_bytes = <span class="number">0</span>;
 
-    <span class="kw">let </span><span class="kw-2">mut </span>offsets = BufferBuilder::&lt;O&gt;::new(rows.len() + <span class="number">1</span>);
-    offsets.append(O::from_usize(<span class="number">0</span>).unwrap());
-    <span class="kw">let </span><span class="kw-2">mut </span>current_offset = <span class="number">0</span>;
+    <span class="kw">let </span><span class="kw-2">mut </span>offset = <span class="number">0</span>;
+    <span class="kw">let </span><span class="kw-2">mut </span>offsets = Vec::with_capacity(rows.len() + <span class="number">1</span>);
+    offsets.push(O::usize_as(<span class="number">0</span>));
 
-    <span class="kw">let </span><span class="kw-2">mut </span>child_rows = Vec::with_capacity(rows.len());
-    canonical.value_offsets().windows(<span class="number">2</span>).for_each(|w| {
-        <span class="kw">let </span>start = w[<span class="number">0</span>] <span class="kw">as </span>usize;
-        <span class="kw">let </span>end = w[<span class="number">1</span>] <span class="kw">as </span>usize;
-        <span class="kw">if </span>start == end {
-            <span class="comment">// Null or empty list
-            </span>offsets.append(O::from_usize(current_offset).unwrap());
-            <span class="kw">return</span>;
+    <span class="kw">for </span>row <span class="kw">in </span>rows.iter_mut() {
+        <span class="kw">let </span><span class="kw-2">mut </span>row_offset = <span class="number">0</span>;
+        <span class="kw">loop </span>{
+            <span class="kw">let </span>decoded = <span class="kw">super</span>::variable::decode_blocks(<span class="kw-2">&amp;</span>row[row_offset..], opts, |x| {
+                values_bytes += x.len();
+            });
+            <span class="kw">if </span>decoded &lt;= <span class="number">1 </span>{
+                offsets.push(O::usize_as(offset));
+                <span class="kw">break</span>;
+            }
+            row_offset += decoded;
+            offset += <span class="number">1</span>;
         }
+    }
+    O::from_usize(offset).expect(<span class="string">"overflow"</span>);
 
-        <span class="kw">let </span>row = <span class="kw-2">&amp;</span>canonical.value_data()[start..end];
-        <span class="kw">let </span>element_count_start = row.len() - <span class="number">4</span>;
-        <span class="kw">let </span>element_count =
-            u32::from_be_bytes((<span class="kw-2">&amp;</span>row[element_count_start..]).try_into().unwrap()) <span class="kw">as </span>usize;
+    <span class="kw">let </span><span class="kw-2">mut </span>null_count = <span class="number">0</span>;
+    <span class="kw">let </span>nulls = MutableBuffer::collect_bool(rows.len(), |x| {
+        <span class="kw">let </span>valid = rows[x][<span class="number">0</span>] != null_sentinel(opts);
+        null_count += !valid <span class="kw">as </span>usize;
+        valid
+    });
 
-        <span class="kw">let </span>lengths_start = element_count_start - (element_count * <span class="number">4</span>);
+    <span class="kw">let </span><span class="kw-2">mut </span>values_offsets = Vec::with_capacity(offset);
+    <span class="kw">let </span><span class="kw-2">mut </span>values_bytes = Vec::with_capacity(values_bytes);
+    <span class="kw">for </span>row <span class="kw">in </span>rows.iter_mut() {
         <span class="kw">let </span><span class="kw-2">mut </span>row_offset = <span class="number">0</span>;
-        row[lengths_start..element_count_start]
-            .chunks_exact(<span class="number">4</span>)
-            .for_each(|chunk| {
-                <span class="kw">let </span>len = u32::from_be_bytes(chunk.try_into().unwrap());
-                <span class="kw">let </span>next_row_offset = row_offset + len <span class="kw">as </span>usize;
-                child_rows.push(<span class="kw-2">&amp;</span>row[row_offset..next_row_offset]);
-                row_offset = next_row_offset;
+        <span class="kw">loop </span>{
+            <span class="kw">let </span>decoded = <span class="kw">super</span>::variable::decode_blocks(<span class="kw-2">&amp;</span>row[row_offset..], opts, |x| {
+                values_bytes.extend_from_slice(x)
             });
+            row_offset += decoded;
+            <span class="kw">if </span>decoded &lt;= <span class="number">1 </span>{
+                <span class="kw">break</span>;
+            }
+            values_offsets.push(values_bytes.len());
+        }
+        <span class="kw-2">*</span>row = <span class="kw-2">&amp;</span>row[row_offset..];
+    }
 
-        current_offset += element_count;
-        offsets.append(O::from_usize(current_offset).unwrap());
-    });
+    <span class="kw">if </span>opts.descending {
+        values_bytes.iter_mut().for_each(|o| <span class="kw-2">*</span>o = !<span class="kw-2">*</span>o);
+    }
+
+    <span class="kw">let </span><span class="kw-2">mut </span>last_value_offset = <span class="number">0</span>;
+    <span class="kw">let </span><span class="kw-2">mut </span>child_rows: Vec&lt;<span class="kw">_</span>&gt; = values_offsets
+        .into_iter()
+        .map(|offset| {
+            <span class="kw">let </span>v = <span class="kw-2">&amp;</span>values_bytes[last_value_offset..offset];
+            last_value_offset = offset;
+            v
+        })
+        .collect();
 
     <span class="kw">let </span>child = converter.convert_raw(<span class="kw-2">&amp;mut </span>child_rows, validate_utf8)<span class="question-mark">?</span>;
     <span class="macro">assert_eq!</span>(child.len(), <span class="number">1</span>);
+
     <span class="kw">let </span>child_data = child[<span class="number">0</span>].to_data();
 
     <span class="kw">let </span>builder = ArrayDataBuilder::new(field.data_type.clone())
         .len(rows.len())
-        .nulls(canonical.nulls().cloned())
-        .add_buffer(offsets.finish())
+        .null_count(null_count)
+        .null_bit_buffer(<span class="prelude-val">Some</span>(nulls.into()))
+        .add_buffer(Buffer::from_vec(offsets))
         .add_child_data(child_data);
 
     <span class="prelude-val">Ok</span>(GenericListArray::from(<span class="kw">unsafe </span>{ builder.build_unchecked() }))
diff --git a/src/arrow_row/variable.rs.html b/src/arrow_row/variable.rs.html
index eef2ebe71c5..f8c80cd9ed7 100644
--- a/src/arrow_row/variable.rs.html
+++ b/src/arrow_row/variable.rs.html
@@ -264,6 +264,10 @@
 <a href="#264" id="264">264</a>
 <a href="#265" id="265">265</a>
 <a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</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
@@ -349,15 +353,23 @@
     }
 }
 
+<span class="kw">pub fn </span>encode_null(out: <span class="kw-2">&amp;mut </span>[u8], opts: SortOptions) -&gt; usize {
+    out[<span class="number">0</span>] = null_sentinel(opts);
+    <span class="number">1
+</span>}
+
+<span class="kw">pub fn </span>encode_empty(out: <span class="kw-2">&amp;mut </span>[u8], opts: SortOptions) -&gt; usize {
+    out[<span class="number">0</span>] = <span class="kw">match </span>opts.descending {
+        <span class="bool-val">true </span>=&gt; !EMPTY_SENTINEL,
+        <span class="bool-val">false </span>=&gt; EMPTY_SENTINEL,
+    };
+    <span class="number">1
+</span>}
+
 <span class="kw">pub fn </span>encode_one(out: <span class="kw-2">&amp;mut </span>[u8], val: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span>[u8]&gt;, opts: SortOptions) -&gt; usize {
     <span class="kw">match </span>val {
-        <span class="prelude-val">Some</span>([]) =&gt; {
-            out[<span class="number">0</span>] = <span class="kw">match </span>opts.descending {
-                <span class="bool-val">true </span>=&gt; !EMPTY_SENTINEL,
-                <span class="bool-val">false </span>=&gt; EMPTY_SENTINEL,
-            };
-            <span class="number">1
-        </span>}
+        <span class="prelude-val">None </span>=&gt; encode_null(out, opts),
+        <span class="prelude-val">Some</span>([]) =&gt; encode_empty(out, opts),
         <span class="prelude-val">Some</span>(val) =&gt; {
             <span class="comment">// Write `2_u8` to demarcate as non-empty, non-null string
             </span>out[<span class="number">0</span>] = NON_EMPTY_SENTINEL;
@@ -377,10 +389,6 @@
             }
             len
         }
-        <span class="prelude-val">None </span>=&gt; {
-            out[<span class="number">0</span>] = null_sentinel(opts);
-            <span class="number">1
-        </span>}
     }
 }
 
@@ -414,7 +422,7 @@
     end_offset
 }
 
-<span class="kw">fn </span>decode_blocks(row: <span class="kw-2">&amp;</span>[u8], options: SortOptions, <span class="kw-2">mut </span>f: <span class="kw">impl </span>FnMut(<span class="kw-2">&amp;</span>[u8])) -&gt; usize {
+<span class="kw">pub fn </span>decode_blocks(row: <span class="kw-2">&amp;</span>[u8], options: SortOptions, <span class="kw-2">mut </span>f: <span class="kw">impl </span>FnMut(<span class="kw-2">&amp;</span>[u8])) -&gt; usize {
     <span class="kw">let </span>(non_empty_sentinel, continuation) = <span class="kw">match </span>options.descending {
         <span class="bool-val">true </span>=&gt; (!NON_EMPTY_SENTINEL, !BLOCK_CONTINUATION),
         <span class="bool-val">false </span>=&gt; (NON_EMPTY_SENTINEL, BLOCK_CONTINUATION),