You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2023/09/17 10:40:24 UTC

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

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 452ea9110b deploy: b64e362f04084d1ea9e9bd4d55f8b994968aa9d2
452ea9110b is described below

commit 452ea9110b7e7ec9bfec3b5762b750fcdead1ac7
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Sun Sep 17 10:40:18 2023 +0000

    deploy: b64e362f04084d1ea9e9bd4d55f8b994968aa9d2
---
 arrow/array/types/struct.GenericBinaryType.html    |   6 +-
 arrow/array/types/struct.GenericStringType.html    |   6 +-
 arrow/array/types/trait.ByteArrayType.html         |  18 +--
 arrow/array/types/type.BinaryType.html             |   6 +-
 arrow/array/types/type.LargeBinaryType.html        |   6 +-
 arrow/array/types/type.LargeUtf8Type.html          |   6 +-
 arrow/array/types/type.Utf8Type.html               |   6 +-
 arrow/datatypes/struct.GenericBinaryType.html      |   6 +-
 arrow/datatypes/struct.GenericStringType.html      |   6 +-
 arrow/datatypes/trait.ByteArrayType.html           |  18 +--
 arrow/datatypes/type.BinaryType.html               |   6 +-
 arrow/datatypes/type.LargeBinaryType.html          |   6 +-
 arrow/datatypes/type.LargeUtf8Type.html            |   6 +-
 arrow/datatypes/type.Utf8Type.html                 |   6 +-
 .../types/bytes/trait.ByteArrayNativeType.html     |   2 +-
 arrow_array/types/index.html                       |   2 +-
 arrow_array/types/struct.GenericBinaryType.html    |   6 +-
 arrow_array/types/struct.GenericStringType.html    |   6 +-
 arrow_array/types/trait.ByteArrayType.html         |  14 +-
 arrow_array/types/type.BinaryType.html             |   6 +-
 arrow_array/types/type.LargeBinaryType.html        |   6 +-
 arrow_array/types/type.LargeUtf8Type.html          |   6 +-
 arrow_array/types/type.Utf8Type.html               |   6 +-
 arrow_row/all.html                                 |   2 +-
 arrow_row/index.html                               |   2 +-
 arrow_row/struct.RowConverter.html                 |   8 +-
 .../variable/constant.BLOCK_CONTINUATION.html      |   2 +-
 arrow_row/variable/constant.EMPTY_SENTINEL.html    |   2 +-
 arrow_row/variable/constant.MINI_BLOCK_COUNT.html  |   3 +
 arrow_row/variable/constant.MINI_BLOCK_SIZE.html   |   2 +
 .../variable/constant.NON_EMPTY_SENTINEL.html      |   2 +-
 arrow_row/variable/fn.decode_binary.html           |   2 +-
 arrow_row/variable/fn.decode_blocks.html           |   5 +
 arrow_row/variable/fn.decode_string.html           |   2 +-
 arrow_row/variable/fn.decoded_len.html             |   2 +-
 arrow_row/variable/fn.encode.html                  |   2 +-
 arrow_row/variable/fn.encode_blocks.html           |   2 +
 arrow_row/variable/fn.encode_one.html              |   2 +-
 arrow_row/variable/fn.encoded_len.html             |   2 +-
 arrow_row/variable/fn.padded_length.html           |   2 +-
 arrow_row/variable/index.html                      |   2 +-
 arrow_row/variable/sidebar-items.js                |   2 +-
 search-index.js                                    |   2 +-
 src/arrow_array/types.rs.html                      |   8 +-
 src/arrow_row/lib.rs.html                          |  22 ++-
 src/arrow_row/variable.rs.html                     | 170 +++++++++++++--------
 46 files changed, 245 insertions(+), 167 deletions(-)

diff --git a/arrow/array/types/struct.GenericBinaryType.html b/arrow/array/types/struct.GenericBinaryType.html
index 385f5890a8..5368567586 100644
--- a/arrow/array/types/struct.GenericBinaryType.html
+++ b/arrow/array/types/struct.GenericBinaryType.html
@@ -1,11 +1,11 @@
-<!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="`ByteArrayType` for binary arrays"><title>GenericBinaryType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crosso [...]
+<!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="`ByteArrayType` for binary arrays"><title>GenericBinaryType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crosso [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span>{
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType"><code>ByteArrayType</code></a> for binary arrays</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></sect [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
     offsets: &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;O&gt; as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait. [...]
     values: &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>value [...]
diff --git a/arrow/array/types/struct.GenericStringType.html b/arrow/array/types/struct.GenericStringType.html
index d11accbae1..a7f9642f28 100644
--- a/arrow/array/types/struct.GenericStringType.html
+++ b/arrow/array/types/struct.GenericStringType.html
@@ -1,11 +1,11 @@
-<!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="`ByteArrayType` for string arrays"><title>GenericStringType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crosso [...]
+<!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="`ByteArrayType` for string arrays"><title>GenericStringType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crosso [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span>{
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType"><code>ByteArrayType</code></a> for string arrays</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></sect [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
     offsets: &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;O&gt; as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait. [...]
     values: &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>value [...]
diff --git a/arrow/array/types/trait.ByteArrayType.html b/arrow/array/types/trait.ByteArrayType.html
index 388105866e..0fe7947006 100644
--- a/arrow/array/types/trait.ByteArrayType.html
+++ b/arrow/array/types/trait.ByteArrayType.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 trait over the variable-size byte array types"><title>ByteArrayType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/wof [...]
+<!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 trait over the variable-size byte array types"><title>ByteArrayType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/wof [...]
     type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>;
     type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../../arrow_array/types/bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;Self::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Native" ti [...]
 
@@ -12,16 +12,16 @@
     ) -&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 arrow::error::ArrowError">ArrowError</a>&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait over the variable-size byte array types</p>
 <p>See <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">Variable Size Binary Layout</a></p>
-</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Offset" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1388">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../trait. [...]
-</div></details><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1392">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../../arrow_array/types/bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https: [...]
+</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Offset" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1390">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../trait. [...]
+</div></details><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1394">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../../arrow_array/types/bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https: [...]
 Utf8Array will have native type has &amp;str
 BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></p>
-</div></details></div><h2 id="required-associated-consts" class="small-section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1395">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a c [...]
-</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1398">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Datatype of array elements</p>
-</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1401-1404">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(
+</div></details></div><h2 id="required-associated-consts" class="small-section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1397">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a c [...]
+</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1400">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="../../datatypes/enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Datatype of array elements</p>
+</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1403-1406">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(
     offsets: &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;Self::<a class="associatedtype" href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>va [...]
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1461">source</a><a href="#impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; [...]
-    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-1" class="associatedtype trait-impl"><a href="#associatedtype.Offset-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-1" class="associatedtype trait-impl [...]
-    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-2" class="associatedtype trait-impl"><a href="#associatedtype.Offset-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-2" class="associatedtype trait-impl [...]
\ No newline at end of file
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1463">source</a><a href="#impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-1" class="associatedtype trait-impl"><a href="#associatedtype.Offset-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-1" class="associatedtype trait-impl [...]
+    O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-2" class="associatedtype trait-impl"><a href="#associatedtype.Offset-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-2" class="associatedtype trait-impl [...]
\ No newline at end of file
diff --git a/arrow/array/types/type.BinaryType.html b/arrow/array/types/type.BinaryType.html
index 44720f60ef..025214e329 100644
--- a/arrow/array/types/type.BinaryType.html
+++ b/arrow/array/types/type.BinaryType.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="An arrow binary array with i32 offsets"><title>BinaryType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An arrow binary array with i32 offsets"><title>BinaryType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryType {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></sect [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
     offsets: &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;O&gt; as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait. [...]
     values: &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>value [...]
\ No newline at end of file
diff --git a/arrow/array/types/type.LargeBinaryType.html b/arrow/array/types/type.LargeBinaryType.html
index 3231f1c885..fb6557fc45 100644
--- a/arrow/array/types/type.LargeBinaryType.html
+++ b/arrow/array/types/type.LargeBinaryType.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="An arrow binary array with i64 offsets"><title>LargeBinaryType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cro [...]
+<!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 arrow binary array with i64 offsets"><title>LargeBinaryType in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cro [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeBinaryType {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></sect [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
     offsets: &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;O&gt; as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait. [...]
     values: &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>value [...]
\ No newline at end of file
diff --git a/arrow/array/types/type.LargeUtf8Type.html b/arrow/array/types/type.LargeUtf8Type.html
index aa4ab56714..4bff564357 100644
--- a/arrow/array/types/type.LargeUtf8Type.html
+++ b/arrow/array/types/type.LargeUtf8Type.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="An arrow utf8 array with i64 offsets"><title>LargeUtf8Type in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An arrow utf8 array with i64 offsets"><title>LargeUtf8Type in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeUtf8Type {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></sect [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
     offsets: &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;O&gt; as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait. [...]
     values: &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>value [...]
\ No newline at end of file
diff --git a/arrow/array/types/type.Utf8Type.html b/arrow/array/types/type.Utf8Type.html
index 4110dc91ca..cb0a32f6d6 100644
--- a/arrow/array/types/type.Utf8Type.html
+++ b/arrow/array/types/type.Utf8Type.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="An arrow utf8 array with i32 offsets"><title>Utf8Type in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
+<!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 arrow utf8 array with i32 offsets"><title>Utf8Type in arrow::array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Utf8Type {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
     O: <a class="trait" href="../trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="../../datatypes/trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></sect [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="../../datatypes/trait.ByteArrayType.html#associatedcons [...]
     offsets: &amp;<a class="struct" href="../../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="../../datatypes/struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;O&gt; as <a class="trait" href="../../datatypes/trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="../../datatypes/trait. [...]
     values: &amp;<a class="struct" href="../../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>value [...]
\ No newline at end of file
diff --git a/arrow/datatypes/struct.GenericBinaryType.html b/arrow/datatypes/struct.GenericBinaryType.html
index c4b4268b04..e542253bc0 100644
--- a/arrow/datatypes/struct.GenericBinaryType.html
+++ b/arrow/datatypes/struct.GenericBinaryType.html
@@ -1,11 +1,11 @@
-<!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="`ByteArrayType` for binary arrays"><title>GenericBinaryType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
+<!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="`ByteArrayType` for binary arrays"><title>GenericBinaryType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span>{
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType"><code>ByteArrayType</code></a> for binary arrays</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section></summ [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;<a class="struct" href="../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;O&gt; as <a class="trait" href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="ty [...]
     values: &amp;<a class="struct" href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</ [...]
diff --git a/arrow/datatypes/struct.GenericStringType.html b/arrow/datatypes/struct.GenericStringType.html
index 4d72e0e9b9..f444f743d2 100644
--- a/arrow/datatypes/struct.GenericStringType.html
+++ b/arrow/datatypes/struct.GenericStringType.html
@@ -1,11 +1,11 @@
-<!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="`ByteArrayType` for string arrays"><title>GenericStringType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
+<!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="`ByteArrayType` for string arrays"><title>GenericStringType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span>{
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType"><code>ByteArrayType</code></a> for string arrays</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section></summ [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;<a class="struct" href="../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;O&gt; as <a class="trait" href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="ty [...]
     values: &amp;<a class="struct" href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</ [...]
diff --git a/arrow/datatypes/trait.ByteArrayType.html b/arrow/datatypes/trait.ByteArrayType.html
index 9a92fdd253..f01c7d5d62 100644
--- a/arrow/datatypes/trait.ByteArrayType.html
+++ b/arrow/datatypes/trait.ByteArrayType.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 trait over the variable-size byte array types"><title>ByteArrayType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cr [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A trait over the variable-size byte array types"><title>ByteArrayType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cr [...]
     type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>;
     type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../arrow_array/types/bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Native" title="type arrow::da [...]
 
@@ -12,16 +12,16 @@
     ) -&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 arrow::error::ArrowError">ArrowError</a>&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait over the variable-size byte array types</p>
 <p>See <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">Variable Size Binary Layout</a></p>
-</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Offset" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1388">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/tra [...]
-</div></details><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1392">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../arrow_array/types/bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc. [...]
+</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Offset" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1390">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/tra [...]
+</div></details><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1394">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="../../arrow_array/types/bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc. [...]
 Utf8Array will have native type has &amp;str
 BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></p>
-</div></details></div><h2 id="required-associated-consts" class="small-section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1395">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a clas [...]
-</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1398">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Datatype of array elements</p>
-</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1401-1404">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(
+</div></details></div><h2 id="required-associated-consts" class="small-section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1397">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a clas [...]
+</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1400">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: <a class="enum" href="enum.DataType.html" title="enum arrow::datatypes::DataType">DataType</a></h4></section></summary><div class="docblock"><p>Datatype of array elements</p>
+</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1403-1406">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(
     offsets: &amp;<a class="struct" href="../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow::datatypes::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;<a class="struct" href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>value [...]
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1461">source</a><a href="#impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; <a [...]
-    O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-1" class="associatedtype trait-impl"><a href="#associatedtype.Offset-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-1" class="associatedtype trai [...]
-    O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-2" class="associatedtype trait-impl"><a href="#associatedtype.Offset-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-2" class="associatedtype trai [...]
\ No newline at end of file
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1463">source</a><a href="#impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O&gt; <a [...]
+    O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-1" class="associatedtype trait-impl"><a href="#associatedtype.Offset-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-1" class="associatedtype trai [...]
+    O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Offset-2" class="associatedtype trait-impl"><a href="#associatedtype.Offset-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section><section id="associatedtype.Native-2" class="associatedtype trai [...]
\ No newline at end of file
diff --git a/arrow/datatypes/type.BinaryType.html b/arrow/datatypes/type.BinaryType.html
index 59d886f933..aa6b2a7cc7 100644
--- a/arrow/datatypes/type.BinaryType.html
+++ b/arrow/datatypes/type.BinaryType.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="An arrow binary array with i32 offsets"><title>BinaryType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hr [...]
+<!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 arrow binary array with i32 offsets"><title>BinaryType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hr [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryType {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section></summ [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;<a class="struct" href="../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;O&gt; as <a class="trait" href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="ty [...]
     values: &amp;<a class="struct" href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</ [...]
\ No newline at end of file
diff --git a/arrow/datatypes/type.LargeBinaryType.html b/arrow/datatypes/type.LargeBinaryType.html
index 0e75aba520..2c4a800bbb 100644
--- a/arrow/datatypes/type.LargeBinaryType.html
+++ b/arrow/datatypes/type.LargeBinaryType.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="An arrow binary array with i64 offsets"><title>LargeBinaryType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorig [...]
+<!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 arrow binary array with i64 offsets"><title>LargeBinaryType in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorig [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeBinaryType {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section></summ [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;<a class="struct" href="../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="struct.GenericBinaryType.html" title="struct arrow::datatypes::GenericBinaryType">GenericBinaryType</a>&lt;O&gt; as <a class="trait" href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="ty [...]
     values: &amp;<a class="struct" href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</ [...]
\ No newline at end of file
diff --git a/arrow/datatypes/type.LargeUtf8Type.html b/arrow/datatypes/type.LargeUtf8Type.html
index b2304dc6f0..6f244e5981 100644
--- a/arrow/datatypes/type.LargeUtf8Type.html
+++ b/arrow/datatypes/type.LargeUtf8Type.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="An arrow utf8 array with i64 offsets"><title>LargeUtf8Type in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
+<!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 arrow utf8 array with i64 offsets"><title>LargeUtf8Type in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeUtf8Type {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section></summ [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;<a class="struct" href="../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;O&gt; as <a class="trait" href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="ty [...]
     values: &amp;<a class="struct" href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</ [...]
\ No newline at end of file
diff --git a/arrow/datatypes/type.Utf8Type.html b/arrow/datatypes/type.Utf8Type.html
index 4606f31cc8..6bf49fda0d 100644
--- a/arrow/datatypes/type.Utf8Type.html
+++ b/arrow/datatypes/type.Utf8Type.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="An arrow utf8 array with i32 offsets"><title>Utf8Type in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An arrow utf8 array with i32 offsets"><title>Utf8Type in arrow::datatypes - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Utf8Type {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
     O: <a class="trait" href="../array/trait.OffsetSizeTrait.html" title="trait arrow::array::OffsetSizeTrait">OffsetSizeTrait</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Offset" class="associatedtype trait-impl"><a href="#associatedtype.Offset" class="anchor">§</a><h4 class="code-header">type <a href="trait.ByteArrayType.html#associatedtype.Offset" class="associatedtype">Offset</a> = O</h4></section></summ [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;<a class="struct" href="../buffer/struct.OffsetBuffer.html" title="struct arrow::buffer::OffsetBuffer">OffsetBuffer</a>&lt;&lt;<a class="struct" href="struct.GenericStringType.html" title="struct arrow::datatypes::GenericStringType">GenericStringType</a>&lt;O&gt; as <a class="trait" href="trait.ByteArrayType.html" title="trait arrow::datatypes::ByteArrayType">ByteArrayType</a>&gt;::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="ty [...]
     values: &amp;<a class="struct" href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</ [...]
\ No newline at end of file
diff --git a/arrow_array/types/bytes/trait.ByteArrayNativeType.html b/arrow_array/types/bytes/trait.ByteArrayNativeType.html
index fd20a296ce..fcff3bf457 100644
--- a/arrow_array/types/bytes/trait.ByteArrayNativeType.html
+++ b/arrow_array/types/bytes/trait.ByteArrayNativeType.html
@@ -3,4 +3,4 @@
     unsafe fn <a href="#tymethod.from_bytes_unchecked" class="fn">from_bytes_unchecked</a>(b: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Self</a>;
 }</code></pre><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.from_bytes_unchecked" class="method"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1367">source</a><h4 class="code-header">unsafe fn <a href="#tymethod.from_bytes_unchecked" class="fn">from_bytes_unchecked</a>(b: &amp;[<a class="primit [...]
 <p><code>b</code> must be a valid byte sequence for <code>Self</code></p>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayNativeType-for-str" class="impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1376-1380">source</a><a href="#impl-ByteArrayNativeType-for-str" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ByteArrayN [...]
\ No newline at end of file
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayNativeType-for-str" class="impl"><a class="src rightside" href="../../../src/arrow_array/types.rs.html#1377-1382">source</a><a href="#impl-ByteArrayNativeType-for-str" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.ByteArrayN [...]
\ No newline at end of file
diff --git a/arrow_array/types/index.html b/arrow_array/types/index.html
index c69af18423..93e60b4ae4 100644
--- a/arrow_array/types/index.html
+++ b/arrow_array/types/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="Zero-sized types used to parameterize generic array implementations"><title>arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Zero-sized types used to parameterize generic array implementations"><title>arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff [...]
 </div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="bytes/index.html" title="mod arrow_array::types::bytes">bytes</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="desc docblock-short">Crate private types for Byte Arrays</div></li><li><div class="item-name"><a class="mod" href="decimal/index.html" title="mod arrow_array::types::decimal">decimal</a><spa [...]
 See <a href="https://arrow.apache.org/docs/format/Columnar.html">https://arrow.apache.org/docs/format/Columnar.html</a></div></li><li><div class="item-name"><a class="trait" href="trait.ArrowPrimitiveType.html" title="trait arrow_array::types::ArrowPrimitiveType">ArrowPrimitiveType</a></div><div class="desc docblock-short">Trait bridging the dynamic-typed nature of Arrow (via [<code>DataType</code>]) with the
 static-typed nature of rust types (<a href="arrow_buffer::ArrowNativeType"><code>ArrowNativeType</code></a>) for all types that implement <a href="arrow_buffer::ArrowNativeType"><code>ArrowNativeType</code></a>.</div></li><li><div class="item-name"><a class="trait" href="trait.ArrowTemporalType.html" title="trait arrow_array::types::ArrowTemporalType">ArrowTemporalType</a></div><div class="desc docblock-short">A subtype of primitive type that represents temporal values.</div></li><li><di [...]
diff --git a/arrow_array/types/struct.GenericBinaryType.html b/arrow_array/types/struct.GenericBinaryType.html
index 4f07584a49..b1aafc65c7 100644
--- a/arrow_array/types/struct.GenericBinaryType.html
+++ b/arrow_array/types/struct.GenericBinaryType.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="`ByteArrayType` for binary arrays"><title>GenericBinaryType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigi [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`ByteArrayType` for binary arrays"><title>GenericBinaryType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigi [...]
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType"><code>ByteArrayType</code></a> for binary arrays</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
 ) -&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>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericBinaryTyp [...]
diff --git a/arrow_array/types/struct.GenericStringType.html b/arrow_array/types/struct.GenericStringType.html
index 49e8daa953..8ad9c2fd22 100644
--- a/arrow_array/types/struct.GenericStringType.html
+++ b/arrow_array/types/struct.GenericStringType.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="`ByteArrayType` for string arrays"><title>GenericStringType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigi [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`ByteArrayType` for string arrays"><title>GenericStringType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigi [...]
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.ByteArrayType.html" title="trait arrow_array::types::ByteArrayType"><code>ByteArrayType</code></a> for string arrays</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;O&gt;</code></span><h2 id="trait-implementations" class="small-section-heade [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
 ) -&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>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericStringTyp [...]
diff --git a/arrow_array/types/trait.ByteArrayType.html b/arrow_array/types/trait.ByteArrayType.html
index 217207b9b8..f30a7efd99 100644
--- a/arrow_array/types/trait.ByteArrayType.html
+++ b/arrow_array/types/trait.ByteArrayType.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 trait over the variable-size byte array types"><title>ByteArrayType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A trait over the variable-size byte array types"><title>ByteArrayType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2"  [...]
     type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/list_array/trait.OffsetSizeTrait.html" title="trait arrow_array::array::list_array::OffsetSizeTrait">OffsetSizeTrait</a>;
     type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Native" title="type arrow_array::types::ByteArrayType [...]
 
@@ -12,14 +12,14 @@
     ) -&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>, ArrowError&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait over the variable-size byte array types</p>
 <p>See <a href="https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout">Variable Size Binary Layout</a></p>
-</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Offset" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1388">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/lis [...]
-</div></details><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1392">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/co [...]
+</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Offset" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1390">source</a><h4 class="code-header">type <a href="#associatedtype.Offset" class="associatedtype">Offset</a>: <a class="trait" href="../array/lis [...]
+</div></details><details class="toggle" open><summary><section id="associatedtype.Native" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1394">source</a><h4 class="code-header">type <a href="#associatedtype.Native" class="associatedtype">Native</a>: <a class="trait" href="bytes/trait.ByteArrayNativeType.html" title="trait arrow_array::types::bytes::ByteArrayNativeType">ByteArrayNativeType</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/co [...]
 Utf8Array will have native type has &amp;str
 BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></p>
-</div></details></div><h2 id="required-associated-consts" class="small-section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1395">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a clas [...]
-</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1398">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType</h4></section></summary><div class="docblock"><p>Datatype of array elements</p>
-</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1401-1404">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(
+</div></details></div><h2 id="required-associated-consts" class="small-section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1397">source</a><h4 class="code-header">const <a href="#associatedconstant.PREFIX" class="constant">PREFIX</a>: &amp;'static <a clas [...]
+</div></details><details class="toggle" open><summary><section id="associatedconstant.DATA_TYPE" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1400">source</a><h4 class="code-header">const <a href="#associatedconstant.DATA_TYPE" class="constant">DATA_TYPE</a>: DataType</h4></section></summary><div class="docblock"><p>Datatype of array elements</p>
+</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.validate" class="method"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1403-1406">source</a><h4 class="code-header">fn <a href="#tymethod.validate" class="fn">validate</a>(
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
 ) -&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>, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></p>
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1461-1486">source</a><a href="#impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O:  [...]
\ No newline at end of file
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1463-1488">source</a><a href="#impl-ByteArrayType-for-GenericBinaryType%3CO%3E" class="anchor">§</a><h3 class="code-header">impl&lt;O:  [...]
\ No newline at end of file
diff --git a/arrow_array/types/type.BinaryType.html b/arrow_array/types/type.BinaryType.html
index 9b131c56a4..8326ff186c 100644
--- a/arrow_array/types/type.BinaryType.html
+++ b/arrow_array/types/type.BinaryType.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 arrow binary array with i32 offsets"><title>BinaryType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
+<!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 arrow binary array with i32 offsets"><title>BinaryType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BinaryType {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
 ) -&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>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericBinaryTyp [...]
\ No newline at end of file
diff --git a/arrow_array/types/type.LargeBinaryType.html b/arrow_array/types/type.LargeBinaryType.html
index a192e839c8..05d298848e 100644
--- a/arrow_array/types/type.LargeBinaryType.html
+++ b/arrow_array/types/type.LargeBinaryType.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 arrow binary array with i64 offsets"><title>LargeBinaryType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An arrow binary array with i64 offsets"><title>LargeBinaryType in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeBinaryType {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1464">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1466">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
 ) -&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>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericBinaryTyp [...]
\ No newline at end of file
diff --git a/arrow_array/types/type.LargeUtf8Type.html b/arrow_array/types/type.LargeUtf8Type.html
index 3b27ad40bc..d918fe8fae 100644
--- a/arrow_array/types/type.LargeUtf8Type.html
+++ b/arrow_array/types/type.LargeUtf8Type.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 arrow utf8 array with i64 offsets"><title>LargeUtf8Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin [...]
+<!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 arrow utf8 array with i64 offsets"><title>LargeUtf8Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct LargeUtf8Type {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64 [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
 ) -&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>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericStringTyp [...]
\ No newline at end of file
diff --git a/arrow_array/types/type.Utf8Type.html b/arrow_array/types/type.Utf8Type.html
index a38de2ab98..32e95af4f9 100644
--- a/arrow_array/types/type.Utf8Type.html
+++ b/arrow_array/types/type.Utf8Type.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 arrow utf8 array with i32 offsets"><title>Utf8Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An arrow utf8 array with i32 offsets"><title>Utf8Type in arrow_array::types - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href [...]
 </div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Utf8Type {
     phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>&gt;,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.phantom" class="structfield small-section-header"><a href="#structfield.phantom" class="anchor field">§</a><code>phantom: <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32 [...]
 Utf8Array will have native type has &amp;str
-BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1415">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
+BinaryArray will have type as <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="primitive u8">u8</a></div></details><details class="toggle" open><summary><section id="associatedconstant.PREFIX" class="associatedconstant trait-impl"><a class="src rightside" href="../../src/arrow_array/types.rs.html#1417">source</a><a href="#associatedconstant.PREFIX" class="anchor">§</a><h4 class="code-header">const <a href="trait.ByteArrayType.html#associatedconstant.PREFIX" class= [...]
     offsets: &amp;OffsetBuffer&lt;Self::<a class="associatedtype" href="trait.ByteArrayType.html#associatedtype.Offset" title="type arrow_array::types::ByteArrayType::Offset">Offset</a>&gt;,
     values: &amp;Buffer
 ) -&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>, ArrowError&gt;</h4></section></summary><div class='docblock'>Verifies that every consecutive pair of <code>offsets</code> denotes a valid slice of <code>values</code></div></details></div></details><section id="impl-ByteArrayTypeSealed-for-GenericStringTyp [...]
\ No newline at end of file
diff --git a/arrow_row/all.html b/arrow_row/all.html
index bb37d354d4..545f707666 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><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
diff --git a/arrow_row/index.html b/arrow_row/index.html
index e174aa02df..dff5f20c5c 100644
--- a/arrow_row/index.html
+++ b/arrow_row/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A comparable row-oriented representation of a collection of `Array`."><title>arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A comparable row-oriented representation of a collection of `Array`."><title>arrow_row - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
 <p><a href="struct.Row.html" title="struct arrow_row::Row"><code>Row</code></a>s are <a href="https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.1080&amp;rep=rep1&amp;type=pdf">normalized for sorting</a>, and can therefore be very efficiently <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">compared</a>,
 using <a href="https://www.man7.org/linux/man-pages/man3/memcmp.3.html"><code>memcmp</code></a> under the hood, or used in <a href="https://en.wikipedia.org/wiki/Sorting_algorithm#Non-comparison_sorts">non-comparison sorts</a> such as <a href="https://en.wikipedia.org/wiki/Radix_sort">radix sort</a>.
 This makes the row format ideal for implementing efficient multi-column sorting,
diff --git a/arrow_row/struct.RowConverter.html b/arrow_row/struct.RowConverter.html
index 531fc6e21e..a19ff7efa0 100644
--- a/arrow_row/struct.RowConverter.html
+++ b/arrow_row/struct.RowConverter.html
@@ -56,12 +56,12 @@ by flipping all bar the sign bit if they are negative.</p>
 <p>An empty byte array is encoded as <code>1_u8</code>.</p>
 <p>A non-null, non-empty byte array is encoded as <code>2_u8</code> followed by the byte array
 encoded using a block based scheme described below.</p>
-<p>The byte array is broken up into 32-byte blocks, each block is written in turn
+<p>The byte array is broken up into fixed-width blocks, each block is written in turn
 to the output, followed by <code>0xFF_u8</code>. The final block is padded to 32-bytes
 with <code>0_u8</code> and written to the output, followed by the un-padded length in bytes
-of this final block as a <code>u8</code>.</p>
-<p>Note the following example encodings use a block size of 4 bytes,
-as opposed to 32 bytes for brevity:</p>
+of this final block as a <code>u8</code>. The first 4 blocks have a length of 8, with subsequent
+blocks using a length of 32, this is to reduce space amplification for small strings.</p>
+<p>Note the following example encodings use a block size of 4 bytes for brevity:</p>
 <div class="example-wrap"><pre class="language-text"><code>                      ┌───┬───┬───┬───┬───┬───┐
  &quot;MEEP&quot;               │02 │&#39;M&#39;│&#39;E&#39;│&#39;E&#39;│&#39;P&#39;│04 │
                       └───┴───┴───┴───┴───┴───┘
diff --git a/arrow_row/variable/constant.BLOCK_CONTINUATION.html b/arrow_row/variable/constant.BLOCK_CONTINUATION.html
index c447d9f0fd..01b7d4cbb7 100644
--- a/arrow_row/variable/constant.BLOCK_CONTINUATION.html
+++ b/arrow_row/variable/constant.BLOCK_CONTINUATION.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="The continuation token"><title>BLOCK_CONTINUATION in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=". [...]
+<!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 continuation token"><title>BLOCK_CONTINUATION in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=". [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/constant.EMPTY_SENTINEL.html b/arrow_row/variable/constant.EMPTY_SENTINEL.html
index f74c4b3543..a13a1a56b9 100644
--- a/arrow_row/variable/constant.EMPTY_SENTINEL.html
+++ b/arrow_row/variable/constant.EMPTY_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="Indicates an empty string"><title>EMPTY_SENTINEL in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=".. [...]
+<!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="Indicates an empty string"><title>EMPTY_SENTINEL in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href=".. [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/constant.MINI_BLOCK_COUNT.html b/arrow_row/variable/constant.MINI_BLOCK_COUNT.html
new file mode 100644
index 0000000000..ffe1920bf0
--- /dev/null
+++ b/arrow_row/variable/constant.MINI_BLOCK_COUNT.html
@@ -0,0 +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="The first block is split into `MINI_BLOCK_COUNT` mini-blocks"><title>MINI_BLOCK_COUNT in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" t [...]
+<p>This helps to reduce the space amplification for small strings</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/constant.MINI_BLOCK_SIZE.html b/arrow_row/variable/constant.MINI_BLOCK_SIZE.html
new file mode 100644
index 0000000000..e4741aab7d
--- /dev/null
+++ b/arrow_row/variable/constant.MINI_BLOCK_SIZE.html
@@ -0,0 +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="The mini block size"><title>MINI_BLOCK_SIZE in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../s [...]
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/constant.NON_EMPTY_SENTINEL.html b/arrow_row/variable/constant.NON_EMPTY_SENTINEL.html
index f297622c50..43bf4898b8 100644
--- a/arrow_row/variable/constant.NON_EMPTY_SENTINEL.html
+++ b/arrow_row/variable/constant.NON_EMPTY_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="Indicates a non-empty string"><title>NON_EMPTY_SENTINEL in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
+<!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="Indicates a non-empty string"><title>NON_EMPTY_SENTINEL in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/fn.decode_binary.html b/arrow_row/variable/fn.decode_binary.html
index 4dd514342d..d99617529a 100644
--- a/arrow_row/variable/fn.decode_binary.html
+++ b/arrow_row/variable/fn.decode_binary.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decodes a binary array from `rows` with the provided `options`"><title>decode_binary in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decodes a binary array from `rows` with the provided `options`"><title>decode_binary in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     options: SortOptions
 ) -&gt; GenericBinaryArray&lt;I&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Decodes a binary array from <code>rows</code> with the provided <code>options</code></p>
diff --git a/arrow_row/variable/fn.decode_blocks.html b/arrow_row/variable/fn.decode_blocks.html
new file mode 100644
index 0000000000..d0eb2066bd
--- /dev/null
+++ b/arrow_row/variable/fn.decode_blocks.html
@@ -0,0 +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 `decode_blocks` fn in crate `arrow_row`."><title>decode_blocks in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as= [...]
+    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>])
+) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/fn.decode_string.html b/arrow_row/variable/fn.decode_string.html
index e8f47ec08b..1c647a772e 100644
--- a/arrow_row/variable/fn.decode_string.html
+++ b/arrow_row/variable/fn.decode_string.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decodes a string array from `rows` with the provided `options`"><title>decode_string in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decodes a string array from `rows` with the provided `options`"><title>decode_string in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
     rows: &amp;mut [&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]],
     options: SortOptions,
     validate_utf8: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
diff --git a/arrow_row/variable/fn.decoded_len.html b/arrow_row/variable/fn.decoded_len.html
index caaa3fba54..fbf83f3330 100644
--- a/arrow_row/variable/fn.decoded_len.html
+++ b/arrow_row/variable/fn.decoded_len.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns the number of bytes of encoded data"><title>decoded_len in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns the number of bytes of encoded data"><title>decoded_len in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/fn.encode.html b/arrow_row/variable/fn.encode.html
index 7f287c4db1..fa6cfc9630 100644
--- a/arrow_row/variable/fn.encode.html
+++ b/arrow_row/variable/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="Variable length values are encoded as"><title>encode in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Variable length values are encoded as"><title>encode in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href [...]
     data: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
     offsets: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>],
     i: I,
diff --git a/arrow_row/variable/fn.encode_blocks.html b/arrow_row/variable/fn.encode_blocks.html
new file mode 100644
index 0000000000..f05ff28d69
--- /dev/null
+++ b/arrow_row/variable/fn.encode_blocks.html
@@ -0,0 +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><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as=" [...]
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/fn.encode_one.html b/arrow_row/variable/fn.encode_one.html
index 7574e1b37b..21c12d8fdb 100644
--- a/arrow_row/variable/fn.encode_one.html
+++ b/arrow_row/variable/fn.encode_one.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `encode_one` fn in crate `arrow_row`."><title>encode_one in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `encode_one` fn in crate `arrow_row`."><title>encode_one in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
     out: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
     val: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]&gt;,
     opts: SortOptions
diff --git a/arrow_row/variable/fn.encoded_len.html b/arrow_row/variable/fn.encoded_len.html
index 21217bf37b..0c17431cc6 100644
--- a/arrow_row/variable/fn.encoded_len.html
+++ b/arrow_row/variable/fn.encoded_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 length of the encoded representation of a byte array, including the null byte"><title>encoded_len in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link r [...]
+<!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 length of the encoded representation of a byte array, including the null byte"><title>encoded_len in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link r [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/fn.padded_length.html b/arrow_row/variable/fn.padded_length.html
index 05420c9ec2..867b62e3f2 100644
--- a/arrow_row/variable/fn.padded_length.html
+++ b/arrow_row/variable/fn.padded_length.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 padded length of the encoded length of the given length"><title>padded_length in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="fon [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns the padded length of the encoded length of the given length"><title>padded_length in arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="fon [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_row/variable/index.html b/arrow_row/variable/index.html
index c46afc0440..2fcd8f7d29 100644
--- a/arrow_row/variable/index.html
+++ b/arrow_row/variable/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `variable` mod in crate `arrow_row`."><title>arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/wof [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `variable` mod in crate `arrow_row`."><title>arrow_row::variable - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/wof [...]
\ No newline at end of file
diff --git a/arrow_row/variable/sidebar-items.js b/arrow_row/variable/sidebar-items.js
index a178f6c57e..7b1d461988 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","NON_EMPTY_SENTINEL"],"fn":["decode_binary","decode_string","decoded_len","encode","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_one","encoded_len","padded_length"]};
\ No newline at end of file
diff --git a/search-index.js b/search-index.js
index c1e7b593de..4f13c04150 100644
--- a/search-index.js
+++ b/search-index.js
@@ -14,7 +14,7 @@ var searchIndex = JSON.parse('{\
 "arrow_json":{"doc":"Transfer data between the Arrow memory format and JSON …","t":"CICCCCKOAAIDDDDMMALLLLLLLLLLLLMAKLMMLLLLLLLLLFFFLLLLMAFAMLLAAOLMMMALMMLAMAAAMALLLLLLLLLLLLDLLLLLLLLLLLDLLLLLLLLMMMLLLDLLLMLMLLLMLMLLLDLLLMLLLLMMLLLLMDLLLLLLLLLLLIDLLLMLLLLLKMOLLLNNENNDLLLLLLLLFFLLLLLLFFFFFFFFFFLLLMMLLLMMFLLLLLLLDDDDLLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLOLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLRDRLLLMLLLLLMLLLDLLLMLMLLLMLMFLLLDNENNNNNNENNNNNNNNNNDDENNNNLLLLLMLLLLLLLLLLLLLMLLL [...]
 "arrow_json_integration_test":{"doc":"","t":"DNNENMFLLLLLLFLLLLLLLLLLLLLLLLMLLLLMFFMLLLLLLLLLLFLMLL","n":["Args","ArrowToJson","JsonToArrow","Mode","Validate","arrow","arrow_to_json","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","canonicalize_schema","cast","cast","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_cast","from_cast","from_ref","group_id","integration","into"," [...]
 "arrow_ord":{"doc":"Arrow ordering kernels","t":"AAAAAINNNNQNNNNEFFFLLLLLFFFFLLLLFFLKKKFFFFFLLLLLLKGFFFFFDLLLLLFLLLLLLFFLLLLLFFFFDGDDLLLLLLLLLFLLLLLLMLMLLLLLLLLLLLLLLLFFLMMLFFFFFFFFFFFFFFFFFFFLLLLLLLLLLLLM","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","cast","clone","clone_into","collect_bool","compare_op","distinct","eq [...]
-"arrow_row":{"doc":"A comparable row-oriented representation of a collection …","t":"ENNNNENNDDDDDDDDNNNNLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLMMMMMLLLMMMFOOALFLMLLLLLLLLLMMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLALLLLLLLFLMMLLLLLLMLLLFMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAFFFFFFOFFFSQIIKFFFFFFKFOOFKFDDDDDLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLMMLMLLLMLLLLLLLLLLLLLLLLLLLMMMFFFFFRRRRFFFFFFF","n":["Codec","Dictionary","Dictionary","DictionaryValues [...]
+"arrow_row":{"doc":"A comparable row-oriented representation of a collection …","t":"ENNNNENNDDDDDDDDNNNNLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLMMMMMLLLMMMFOOALFLMLLLLLLLLLMMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLALLLLLLLFLMMLLLLLLMLLLFMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAFFFFFFOFFFSQIIKFFFFFFKFOOFKFDDDDDLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLMMLMLLLMLLLLLLLLLLLLLLLLLLLMMMFFFFFRRRRRRFFFFFFFFF","n":["Codec","Dictionary","Dictionary","DictionaryVa [...]
 "arrow_schema":{"doc":"Arrow logical types","t":"ENNNNNNRRRRRENNNNNNNNNNNDGDNNNNNNNNNNENNNNNNNNNNNNNNNNNNNNDDNGNDNNNNENNNNNNDENNMMLLLLLMALMMMLLAAAAMMLLLLMMMLMMLMMMMALLLLNNRRRRRENNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNNNNENNNNNNENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLENNNNNNNNNNNNNNNNNLLLLLLLLLLLLLLLDDDLLLLLLMMLMMLLLALMLLMLLFLLLLMMMLMLMMFLLLLLLLLLLLLLLLLLSDSSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDGLMLLLLLLLMLLMLMLLLLLLLLLLLMLMLLLLLLLLM [...]
 "arrow_select":{"doc":"Arrow selection kernels","t":"AAAAAAAAFFFFFODDGLLLLMFLLFLLLLFLLLMFFLMFMLLLLLLMNRGDDDDNNENNDNLLLLLLLLLLLLLFLLLLLLLMMMLMMLLFLMMFFFFFFFFFLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLFMLMMMMLLLLLLLLLLLLLLLLLLDMLLLOLLFFFFFLLMOLLLFQDILLLFMLLLLLLLFFFFFFFFFFFFFFFFKOOOLLLLFF","n":["concat","dictionary","filter","interleave","nullif","take","window","zip","binary_capacity","concat","concat_batches","concat_dictionaries","concat_fallback","dict_helper","Interner","MergedDictionaries","P [...]
 "arrow_stream_to_file":{"doc":"","t":"F","n":["main"],"q":[[0,"arrow_stream_to_file"],[1,"arrow::error"]],"d":[""],"i":[0],"f":[[[],1]],"c":[],"p":[[6,"Result",1]]},\
diff --git a/src/arrow_array/types.rs.html b/src/arrow_array/types.rs.html
index 46e0cb72d5..a8f6c3469a 100644
--- a/src/arrow_array/types.rs.html
+++ b/src/arrow_array/types.rs.html
@@ -1581,6 +1581,8 @@
 <a href="#1581" id="1581">1581</a>
 <a href="#1582" id="1582">1582</a>
 <a href="#1583" id="1583">1583</a>
+<a href="#1584" id="1584">1584</a>
+<a href="#1585" id="1585">1585</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
@@ -2951,13 +2953,15 @@
     }
 
     <span class="kw">impl </span>ByteArrayNativeType <span class="kw">for </span>[u8] {
-        <span class="kw">unsafe fn </span>from_bytes_unchecked(b: <span class="kw-2">&amp;</span>[u8]) -&gt; <span class="kw-2">&amp;</span><span class="self">Self </span>{
+        <span class="attr">#[inline]
+        </span><span class="kw">unsafe fn </span>from_bytes_unchecked(b: <span class="kw-2">&amp;</span>[u8]) -&gt; <span class="kw-2">&amp;</span><span class="self">Self </span>{
             b
         }
     }
 
     <span class="kw">impl </span>ByteArrayNativeType <span class="kw">for </span>str {
-        <span class="kw">unsafe fn </span>from_bytes_unchecked(b: <span class="kw-2">&amp;</span>[u8]) -&gt; <span class="kw-2">&amp;</span><span class="self">Self </span>{
+        <span class="attr">#[inline]
+        </span><span class="kw">unsafe fn </span>from_bytes_unchecked(b: <span class="kw-2">&amp;</span>[u8]) -&gt; <span class="kw-2">&amp;</span><span class="self">Self </span>{
             std::str::from_utf8_unchecked(b)
         }
     }
diff --git a/src/arrow_row/lib.rs.html b/src/arrow_row/lib.rs.html
index b81756ff5e..d83495cd7b 100644
--- a/src/arrow_row/lib.rs.html
+++ b/src/arrow_row/lib.rs.html
@@ -2481,6 +2481,12 @@
 <a href="#2481" id="2481">2481</a>
 <a href="#2482" id="2482">2482</a>
 <a href="#2483" id="2483">2483</a>
+<a href="#2484" id="2484">2484</a>
+<a href="#2485" id="2485">2485</a>
+<a href="#2486" id="2486">2486</a>
+<a href="#2487" id="2487">2487</a>
+<a href="#2488" id="2488">2488</a>
+<a href="#2489" id="2489">2489</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
@@ -2715,13 +2721,13 @@
 /// A non-null, non-empty byte array is encoded as `2_u8` followed by the byte array
 /// encoded using a block based scheme described below.
 ///
-/// The byte array is broken up into 32-byte blocks, each block is written in turn
+/// The byte array is broken up into fixed-width blocks, each block is written in turn
 /// to the output, followed by `0xFF_u8`. The final block is padded to 32-bytes
 /// with `0_u8` and written to the output, followed by the un-padded length in bytes
-/// of this final block as a `u8`.
+/// of this final block as a `u8`. The first 4 blocks have a length of 8, with subsequent
+/// blocks using a length of 32, this is to reduce space amplification for small strings.
 ///
-/// Note the following example encodings use a block size of 4 bytes,
-/// as opposed to 32 bytes for brevity:
+/// Note the following example encodings use a block size of 4 bytes for brevity:
 ///
 /// ```text
 ///                       ┌───┬───┬───┬───┬───┬───┐
@@ -4181,12 +4187,18 @@
             <span class="prelude-val">None</span>,
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0_u8</span>; <span class="number">0</span>]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0_u8</span>; <span class="number">6</span>]),
+            <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0_u8</span>; variable::MINI_BLOCK_SIZE]),
+            <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0_u8</span>; variable::MINI_BLOCK_SIZE + <span class="number">1</span>]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0_u8</span>; variable::BLOCK_SIZE]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0_u8</span>; variable::BLOCK_SIZE + <span class="number">1</span>]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">1_u8</span>; <span class="number">6</span>]),
+            <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">1_u8</span>; variable::MINI_BLOCK_SIZE]),
+            <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">1_u8</span>; variable::MINI_BLOCK_SIZE + <span class="number">1</span>]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">1_u8</span>; variable::BLOCK_SIZE]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">1_u8</span>; variable::BLOCK_SIZE + <span class="number">1</span>]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0xFF_u8</span>; <span class="number">6</span>]),
+            <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0xFF_u8</span>; variable::MINI_BLOCK_SIZE]),
+            <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0xFF_u8</span>; variable::MINI_BLOCK_SIZE + <span class="number">1</span>]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0xFF_u8</span>; variable::BLOCK_SIZE]),
             <span class="prelude-val">Some</span>(<span class="macro">vec!</span>[<span class="number">0xFF_u8</span>; variable::BLOCK_SIZE + <span class="number">1</span>]),
         ])) <span class="kw">as </span>ArrayRef;
@@ -4704,7 +4716,7 @@
         }
 
         <span class="kw">for </span>r <span class="kw">in </span>r2.iter() {
-            <span class="macro">assert_eq!</span>(r.data.len(), <span class="number">34</span>);
+            <span class="macro">assert_eq!</span>(r.data.len(), <span class="number">10</span>);
         }
     }
 
diff --git a/src/arrow_row/variable.rs.html b/src/arrow_row/variable.rs.html
index 06a8d72b77..18f2dbec76 100644
--- a/src/arrow_row/variable.rs.html
+++ b/src/arrow_row/variable.rs.html
@@ -241,6 +241,31 @@
 <a href="#241" id="241">241</a>
 <a href="#242" id="242">242</a>
 <a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+<a href="#245" id="245">245</a>
+<a href="#246" id="246">246</a>
+<a href="#247" id="247">247</a>
+<a href="#248" id="248">248</a>
+<a href="#249" id="249">249</a>
+<a href="#250" id="250">250</a>
+<a href="#251" id="251">251</a>
+<a href="#252" id="252">252</a>
+<a href="#253" id="253">253</a>
+<a href="#254" id="254">254</a>
+<a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<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>
 </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
@@ -269,6 +294,14 @@
 <span class="doccomment">/// The block size of the variable length encoding
 </span><span class="kw">pub const </span>BLOCK_SIZE: usize = <span class="number">32</span>;
 
+<span class="doccomment">/// The first block is split into `MINI_BLOCK_COUNT` mini-blocks
+///
+/// This helps to reduce the space amplification for small strings
+</span><span class="kw">pub const </span>MINI_BLOCK_COUNT: usize = <span class="number">4</span>;
+
+<span class="doccomment">/// The mini block size
+</span><span class="kw">pub const </span>MINI_BLOCK_SIZE: usize = BLOCK_SIZE / MINI_BLOCK_COUNT;
+
 <span class="doccomment">/// The continuation token
 </span><span class="kw">pub const </span>BLOCK_CONTINUATION: u8 = <span class="number">0xFF</span>;
 
@@ -288,7 +321,12 @@
 </span><span class="attr">#[inline]
 </span><span class="kw">pub fn </span>padded_length(a: <span class="prelude-ty">Option</span>&lt;usize&gt;) -&gt; usize {
     <span class="kw">match </span>a {
-        <span class="prelude-val">Some</span>(a) =&gt; <span class="number">1 </span>+ ceil(a, BLOCK_SIZE) * (BLOCK_SIZE + <span class="number">1</span>),
+        <span class="prelude-val">Some</span>(a) <span class="kw">if </span>a &lt;= BLOCK_SIZE =&gt; {
+            <span class="number">1 </span>+ ceil(a, MINI_BLOCK_SIZE) * (MINI_BLOCK_SIZE + <span class="number">1</span>)
+        }
+        <span class="comment">// Each miniblock ends with a 1 byte continuation, therefore add
+        // `(MINI_BLOCK_COUNT - 1)` additional bytes over non-miniblock size
+        </span><span class="prelude-val">Some</span>(a) =&gt; MINI_BLOCK_COUNT + ceil(a, BLOCK_SIZE) * (BLOCK_SIZE + <span class="number">1</span>),
         <span class="prelude-val">None </span>=&gt; <span class="number">1</span>,
     }
 }
@@ -325,44 +363,23 @@
             <span class="number">1
         </span>}
         <span class="prelude-val">Some</span>(val) =&gt; {
-            <span class="kw">let </span>block_count = ceil(val.len(), BLOCK_SIZE);
-            <span class="kw">let </span>end_offset = <span class="number">1 </span>+ block_count * (BLOCK_SIZE + <span class="number">1</span>);
-            <span class="kw">let </span>to_write = <span class="kw-2">&amp;mut </span>out[..end_offset];
-
             <span class="comment">// Write `2_u8` to demarcate as non-empty, non-null string
-            </span>to_write[<span class="number">0</span>] = NON_EMPTY_SENTINEL;
-
-            <span class="kw">let </span>chunks = val.chunks_exact(BLOCK_SIZE);
-            <span class="kw">let </span>remainder = chunks.remainder();
-            <span class="kw">for </span>(input, output) <span class="kw">in </span>chunks
-                .clone()
-                .zip(to_write[<span class="number">1</span>..].chunks_exact_mut(BLOCK_SIZE + <span class="number">1</span>))
-            {
-                <span class="kw">let </span>input: <span class="kw-2">&amp;</span>[u8; BLOCK_SIZE] = input.try_into().unwrap();
-                <span class="kw">let </span>out_block: <span class="kw-2">&amp;mut </span>[u8; BLOCK_SIZE] =
-                    (<span class="kw-2">&amp;mut </span>output[..BLOCK_SIZE]).try_into().unwrap();
-
-                <span class="kw-2">*</span>out_block = <span class="kw-2">*</span>input;
-
-                <span class="comment">// Indicate that there are further blocks to follow
-                </span>output[BLOCK_SIZE] = BLOCK_CONTINUATION;
-            }
+            </span>out[<span class="number">0</span>] = NON_EMPTY_SENTINEL;
 
-            <span class="kw">if </span>!remainder.is_empty() {
-                <span class="kw">let </span>start_offset = <span class="number">1 </span>+ (block_count - <span class="number">1</span>) * (BLOCK_SIZE + <span class="number">1</span>);
-                to_write[start_offset..start_offset + remainder.len()]
-                    .copy_from_slice(remainder);
-                <span class="kw-2">*</span>to_write.last_mut().unwrap() = remainder.len() <span class="kw">as </span>u8;
+            <span class="kw">let </span>len = <span class="kw">if </span>val.len() &lt;= BLOCK_SIZE {
+                <span class="number">1 </span>+ encode_blocks::&lt;MINI_BLOCK_SIZE&gt;(<span class="kw-2">&amp;mut </span>out[<span class="number">1</span>..], val)
             } <span class="kw">else </span>{
-                <span class="comment">// We must overwrite the continuation marker written by the loop above
-                </span><span class="kw-2">*</span>to_write.last_mut().unwrap() = BLOCK_SIZE <span class="kw">as </span>u8;
-            }
+                <span class="kw">let </span>(initial, rem) = val.split_at(BLOCK_SIZE);
+                <span class="kw">let </span>offset = encode_blocks::&lt;MINI_BLOCK_SIZE&gt;(<span class="kw-2">&amp;mut </span>out[<span class="number">1</span>..], initial);
+                out[offset] = BLOCK_CONTINUATION;
+                <span class="number">1 </span>+ offset + encode_blocks::&lt;BLOCK_SIZE&gt;(<span class="kw-2">&amp;mut </span>out[<span class="number">1 </span>+ offset..], rem)
+            };
 
             <span class="kw">if </span>opts.descending {
                 <span class="comment">// Invert bits
-                </span>to_write.iter_mut().for_each(|v| <span class="kw-2">*</span>v = !<span class="kw-2">*</span>v)
+                </span>out[..len].iter_mut().for_each(|v| <span class="kw-2">*</span>v = !<span class="kw-2">*</span>v)
             }
-            end_offset
+            len
         }
         <span class="prelude-val">None </span>=&gt; {
             out[<span class="number">0</span>] = null_sentinel(opts);
@@ -371,8 +388,37 @@
     }
 }
 
-<span class="doccomment">/// Returns the number of bytes of encoded data
-</span><span class="kw">fn </span>decoded_len(row: <span class="kw-2">&amp;</span>[u8], options: SortOptions) -&gt; usize {
+<span class="doccomment">/// Writes `val` in `SIZE` blocks with the appropriate continuation tokens
+</span><span class="attr">#[inline]
+</span><span class="kw">fn </span>encode_blocks&lt;<span class="kw">const </span>SIZE: usize&gt;(out: <span class="kw-2">&amp;mut </span>[u8], val: <span class="kw-2">&amp;</span>[u8]) -&gt; usize {
+    <span class="kw">let </span>block_count = ceil(val.len(), SIZE);
+    <span class="kw">let </span>end_offset = block_count * (SIZE + <span class="number">1</span>);
+    <span class="kw">let </span>to_write = <span class="kw-2">&amp;mut </span>out[..end_offset];
+
+    <span class="kw">let </span>chunks = val.chunks_exact(SIZE);
+    <span class="kw">let </span>remainder = chunks.remainder();
+    <span class="kw">for </span>(input, output) <span class="kw">in </span>chunks.clone().zip(to_write.chunks_exact_mut(SIZE + <span class="number">1</span>)) {
+        <span class="kw">let </span>input: <span class="kw-2">&amp;</span>[u8; SIZE] = input.try_into().unwrap();
+        <span class="kw">let </span>out_block: <span class="kw-2">&amp;mut </span>[u8; SIZE] = (<span class="kw-2">&amp;mut </span>output[..SIZE]).try_into().unwrap();
+
+        <span class="kw-2">*</span>out_block = <span class="kw-2">*</span>input;
+
+        <span class="comment">// Indicate that there are further blocks to follow
+        </span>output[SIZE] = BLOCK_CONTINUATION;
+    }
+
+    <span class="kw">if </span>!remainder.is_empty() {
+        <span class="kw">let </span>start_offset = (block_count - <span class="number">1</span>) * (SIZE + <span class="number">1</span>);
+        to_write[start_offset..start_offset + remainder.len()].copy_from_slice(remainder);
+        <span class="kw-2">*</span>to_write.last_mut().unwrap() = remainder.len() <span class="kw">as </span>u8;
+    } <span class="kw">else </span>{
+        <span class="comment">// We must overwrite the continuation marker written by the loop above
+        </span><span class="kw-2">*</span>to_write.last_mut().unwrap() = SIZE <span class="kw">as </span>u8;
+    }
+    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">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),
@@ -380,26 +426,44 @@
 
     <span class="kw">if </span>row[<span class="number">0</span>] != non_empty_sentinel {
         <span class="comment">// Empty or null string
-        </span><span class="kw">return </span><span class="number">0</span>;
+        </span><span class="kw">return </span><span class="number">1</span>;
     }
 
-    <span class="kw">let </span><span class="kw-2">mut </span>str_len = <span class="number">0</span>;
+    <span class="comment">// Extracts the block length from the sentinel
+    </span><span class="kw">let </span>block_len = |sentinel: u8| <span class="kw">match </span>options.descending {
+        <span class="bool-val">true </span>=&gt; !sentinel <span class="kw">as </span>usize,
+        <span class="bool-val">false </span>=&gt; sentinel <span class="kw">as </span>usize,
+    };
+
     <span class="kw">let </span><span class="kw-2">mut </span>idx = <span class="number">1</span>;
+    <span class="kw">for _ in </span><span class="number">0</span>..MINI_BLOCK_COUNT {
+        <span class="kw">let </span>sentinel = row[idx + MINI_BLOCK_SIZE];
+        <span class="kw">if </span>sentinel != continuation {
+            f(<span class="kw-2">&amp;</span>row[idx..idx + block_len(sentinel)]);
+            <span class="kw">return </span>idx + MINI_BLOCK_SIZE + <span class="number">1</span>;
+        }
+        f(<span class="kw-2">&amp;</span>row[idx..idx + MINI_BLOCK_SIZE]);
+        idx += MINI_BLOCK_SIZE + <span class="number">1</span>;
+    }
+
     <span class="kw">loop </span>{
         <span class="kw">let </span>sentinel = row[idx + BLOCK_SIZE];
-        <span class="kw">if </span>sentinel == continuation {
-            idx += BLOCK_SIZE + <span class="number">1</span>;
-            str_len += BLOCK_SIZE;
-            <span class="kw">continue</span>;
+        <span class="kw">if </span>sentinel != continuation {
+            f(<span class="kw-2">&amp;</span>row[idx..idx + block_len(sentinel)]);
+            <span class="kw">return </span>idx + BLOCK_SIZE + <span class="number">1</span>;
         }
-        <span class="kw">let </span>block_len = <span class="kw">match </span>options.descending {
-            <span class="bool-val">true </span>=&gt; !sentinel,
-            <span class="bool-val">false </span>=&gt; sentinel,
-        };
-        <span class="kw">return </span>str_len + block_len <span class="kw">as </span>usize;
+        f(<span class="kw-2">&amp;</span>row[idx..idx + BLOCK_SIZE]);
+        idx += BLOCK_SIZE + <span class="number">1</span>;
     }
 }
 
+<span class="doccomment">/// Returns the number of bytes of encoded data
+</span><span class="kw">fn </span>decoded_len(row: <span class="kw-2">&amp;</span>[u8], options: SortOptions) -&gt; usize {
+    <span class="kw">let </span><span class="kw-2">mut </span>len = <span class="number">0</span>;
+    decode_blocks(row, options, |block| len += block.len());
+    len
+}
+
 <span class="doccomment">/// Decodes a binary array from `rows` with the provided `options`
 </span><span class="kw">pub fn </span>decode_binary&lt;I: OffsetSizeTrait&gt;(
     rows: <span class="kw-2">&amp;mut </span>[<span class="kw-2">&amp;</span>[u8]],
@@ -419,22 +483,8 @@
     <span class="kw">let </span><span class="kw-2">mut </span>values = MutableBuffer::new(values_capacity);
 
     <span class="kw">for </span>row <span class="kw">in </span>rows {
-        <span class="kw">let </span>str_length = decoded_len(row, options);
-        <span class="kw">let </span><span class="kw-2">mut </span>to_read = str_length;
-        <span class="kw">let </span><span class="kw-2">mut </span>offset = <span class="number">1</span>;
-        <span class="kw">while </span>to_read &gt;= BLOCK_SIZE {
-            to_read -= BLOCK_SIZE;
-
-            values.extend_from_slice(<span class="kw-2">&amp;</span>row[offset..offset + BLOCK_SIZE]);
-            offset += BLOCK_SIZE + <span class="number">1</span>;
-        }
-
-        <span class="kw">if </span>to_read != <span class="number">0 </span>{
-            values.extend_from_slice(<span class="kw-2">&amp;</span>row[offset..offset + to_read]);
-            offset += BLOCK_SIZE + <span class="number">1</span>;
-        }
+        <span class="kw">let </span>offset = decode_blocks(row, options, |b| values.extend_from_slice(b));
         <span class="kw-2">*</span>row = <span class="kw-2">&amp;</span>row[offset..];
-
         offsets.append(I::from_usize(values.len()).expect(<span class="string">&quot;offset overflow&quot;</span>))
     }