This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/iceberg-rust.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new 11ae5ee  deploy: 19af3d371775a20f49e7ec263c3f55b2f1e73d05
11ae5ee is described below

commit 11ae5ee3ff7450a8d32bc262091f3d2fe76e31a9
Author: Xuanwo <[email protected]>
AuthorDate: Fri Aug 16 13:02:36 2024 +0000

    deploy: 19af3d371775a20f49e7ec263c3f55b2f1e73d05
---
 api/iceberg/all.html                                          |  2 +-
 api/iceberg/expr/enum.Predicate.html                          |  4 ++--
 api/iceberg/expr/enum.PredicateOperator.html                  |  4 ++--
 api/iceberg/expr/struct.BinaryExpression.html                 |  4 ++--
 api/iceberg/expr/struct.BoundReference.html                   |  4 ++--
 api/iceberg/expr/struct.Reference.html                        |  4 ++--
 api/iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.html      |  2 ++
 api/iceberg/io/index.html                                     |  2 +-
 api/iceberg/io/sidebar-items.js                               |  2 +-
 .../io/storage_s3/constant.S3_ASSUME_ROLE_SESSION_NAME.html   | 11 +++++++++++
 api/iceberg/spec/enum.DataFileBuilderError.html               |  2 +-
 api/iceberg/spec/enum.DataFileFormat.html                     |  2 +-
 api/iceberg/spec/enum.FormatVersion.html                      |  4 ++--
 api/iceberg/spec/enum.PrimitiveType.html                      |  4 ++--
 api/iceberg/spec/enum.SortDirection.html                      |  4 ++--
 api/iceberg/spec/enum.SortOrderBuilderError.html              |  2 +-
 api/iceberg/spec/enum.Transform.html                          |  4 ++--
 api/iceberg/spec/enum.Type.html                               |  2 +-
 api/iceberg/spec/struct.Datum.html                            |  2 +-
 api/iceberg/spec/struct.Schema.html                           |  6 +++---
 api/iceberg/spec/struct.SortField.html                        |  4 ++--
 api/iceberg/struct.Error.html                                 |  2 +-
 api/search-index.js                                           |  2 +-
 api/search.desc/iceberg/iceberg-desc-0-.js                    |  2 +-
 api/src/iceberg/io/storage_s3.rs.html                         | 10 +++++++++-
 25 files changed, 56 insertions(+), 35 deletions(-)

diff --git a/api/iceberg/all.html b/api/iceberg/all.html
index 8d4078f..cb58adf 100644
--- a/api/iceberg/all.html
+++ b/api/iceberg/all.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="List of 
all items in this crate"><title>List of all items in this 
crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d
 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="List of 
all items in this crate"><title>List of all items in this 
crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d
 [...]
\ No newline at end of file
diff --git a/api/iceberg/expr/enum.Predicate.html 
b/api/iceberg/expr/enum.Predicate.html
index de6ae74..d8ecc71 100644
--- a/api/iceberg/expr/enum.Predicate.html
+++ b/api/iceberg/expr/enum.Predicate.html
@@ -82,8 +82,8 @@ predicates.</p>
     &amp;self,
     schema: <a class="type" href="../spec/type.SchemaRef.html" title="type 
iceberg::spec::SchemaRef">SchemaRef</a>,
     case_sensitive: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>,
-) -&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;<a class="enum" href="enum.BoundPredicate.html" 
title="enum 
iceberg::expr::BoundPredicate">BoundPredicate</a>&gt;</h4></section></summary><div
 class='docblock'>Bind an expression to a 
schema.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Clone-for-Predicate" 
class="impl"><a class="src rightside" href="../../src/iceberg/expr/predicate.r 
[...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+) -&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;<a class="enum" href="enum.BoundPredicate.html" 
title="enum 
iceberg::expr::BoundPredicate">BoundPredicate</a>&gt;</h4></section></summary><div
 class='docblock'>Bind an expression to a 
schema.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Clone-for-Predicate" 
class="impl"><a class="src rightside" href="../../src/iceberg/expr/predicate.r 
[...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 <p>This is different from <a href="enum.Predicate.html#method.negate" 
title="method 
iceberg::expr::Predicate::negate"><code>Predicate::negate()</code></a> since it 
doesn’t rewrite expression, but
 just adds a <code>NOT</code> operator.</p>
 <h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example</h5>
diff --git a/api/iceberg/expr/enum.PredicateOperator.html 
b/api/iceberg/expr/enum.PredicateOperator.html
index f2ef53d..c43dba9 100644
--- a/api/iceberg/expr/enum.PredicateOperator.html
+++ b/api/iceberg/expr/enum.PredicateOperator.html
@@ -38,8 +38,8 @@
 <span class="macro">assert!</span>(PredicateOperator::Eq.negate() == 
PredicateOperator::NotEq);
 <span class="macro">assert!</span>(PredicateOperator::In.negate() == 
PredicateOperator::NotIn);
 <span class="macro">assert!</span>(PredicateOperator::StartsWith.negate() == 
PredicateOperator::NotStartsWith);</code></pre></div>
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-PredicateOperator" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/mod.rs.html#37">source</a><a 
href="#impl-Clone-for-PredicateOperator" class="anchor">§</a><h3 
class="code-header [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-PredicateOperator" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/mod.rs.html#37">source</a><a 
href="#impl-Clone-for-PredicateOperator" class="anchor">§</a><h3 
class="code-header [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-Serialize-for-PredicateOperator" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/mod.rs.html#37">source</a><a 
href="#impl-Serialize-for-PredicateOperator" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; title="tra 
[...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section 
id="impl-Copy-for-PredicateOperator" class="impl"><a class="src rightside" 
href="../../src/ice [...]
diff --git a/api/iceberg/expr/struct.BinaryExpression.html 
b/api/iceberg/expr/struct.BinaryExpression.html
index dc31a76..8ef24cf 100644
--- a/api/iceberg/expr/struct.BinaryExpression.html
+++ b/api/iceberg/expr/struct.BinaryExpression.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Binary 
predicate, for example, `a &gt; 10`."><title>BinaryExpression in iceberg::expr 
- 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans
 [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Bind-for-BinaryExpression%3CT%3E" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#200-211">source</a><a 
href="#impl-Bind-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3 
class="code-header" [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Bind-for-BinaryExpression%3CT%3E" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#200-211">source</a><a 
href="#impl-Bind-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3 
class="code-header" [...]
     T: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html"; 
title="trait 
serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</div></h3></section></summary><div
 class="impl-items"><details class="toggle method-toggle" 
open><summary><section id="method.deserialize" class="method trait-impl"><a 
class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a 
href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a hr 
[...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-Serialize-for-BinaryExpression%3CT%3E" class="impl"><a class="src 
rightside" href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a 
href="#impl-Serialize-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trai [...]
     T: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait 
serde::ser::Serialize">Serialize</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.serialize" class="method trait-impl"><a class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a 
href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://docs.rs [...]
diff --git a/api/iceberg/expr/struct.BoundReference.html 
b/api/iceberg/expr/struct.BoundReference.html
index 2ea5774..600ebdf 100644
--- a/api/iceberg/expr/struct.BoundReference.html
+++ b/api/iceberg/expr/struct.BoundReference.html
@@ -6,8 +6,8 @@
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new 
bound reference.</p>
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.field" class="method"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#366-368">source</a><h4 
class="code-header">pub fn <a href="#method.field" 
class="fn">field</a>(&amp;self) -&gt; &amp;<a class="struct" 
href="../spec/struct.NestedField.html" title="struct 
iceberg::spec::NestedField">NestedField</a></h4></section></summary><div 
class="docblock"><p>Return the field of this reference.</p>
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.accessor" class="method"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#371-373">source</a><h4 
class="code-header">pub fn <a href="#method.accessor" 
class="fn">accessor</a>(&amp;self) -&gt; 
&amp;StructAccessor</h4></section></summary><div class="docblock"><p>Get this 
BoundReference’s Accessor</p>
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-BoundReference" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#342">source</a><a 
href="#impl-Clone-for-BoundReference" class="anchor">§</a><h3 
class="code-header">im [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-BoundReference" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#342">source</a><a 
href="#impl-Clone-for-BoundReference" class="anchor">§</a><h3 
class="code-header">im [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-Serialize-for-BoundReference" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#342">source</a><a 
href="#impl-Serialize-for-BoundReference" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait s [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section 
id="impl-Eq-for-BoundReference" class="impl"><a class="src rightside" 
href="../../src/iceberg/ [...]
diff --git a/api/iceberg/expr/struct.Reference.html 
b/api/iceberg/expr/struct.Reference.html
index 95716ff..b5d68b7 100644
--- a/api/iceberg/expr/struct.Reference.html
+++ b/api/iceberg/expr/struct.Reference.html
@@ -105,8 +105,8 @@ For example, <code>a</code> in <code>a &gt; 10</code>.</p>
 
 <span class="kw">let </span>as_string = <span 
class="macro">format!</span>(<span class="string">"{expr}"</span>);
 <span class="macro">assert!</span>(<span class="kw-2">&amp;</span>as_string == 
<span class="string">"a NOT IN (5, 6)" </span>|| <span 
class="kw-2">&amp;</span>as_string == <span class="string">"a NOT IN (6, 
5)"</span>);</code></pre></div>
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Bind-for-Reference" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#309-339">source</a><a 
href="#impl-Bind-for-Reference" class="anchor">§</a><h3 
class="code-header">impl <a cl [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Bind-for-Reference" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#309-339">source</a><a 
href="#impl-Bind-for-Reference" class="anchor">§</a><h3 
class="code-header">impl <a cl [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Serialize-for-Reference" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/term.rs.html#37">source</a><a 
href="#impl-Serialize-for-Reference" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait serde::ser:: [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section 
id="impl-StructuralPartialEq-for-Reference" class="impl"><a class="src 
rightside" href="../../ [...]
diff --git a/api/iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.html 
b/api/iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.html
new file mode 100644
index 0000000..4228713
--- /dev/null
+++ b/api/iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.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="Optional 
session name used to assume an IAM role."><title>S3_ASSUME_ROLE_SESSION_NAME in 
iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd
 [...]
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/api/iceberg/io/index.html b/api/iceberg/io/index.html
index b37d39c..fbd8aec 100644
--- a/api/iceberg/io/index.html
+++ b/api/iceberg/io/index.html
@@ -35,7 +35,7 @@
 <li><code>new_output</code>: Create output file for writing.</li>
 </ul>
 </div></details><h2 id="structs" class="section-header">Structs<a 
href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div 
class="item-name"><a class="struct" href="struct.FileIO.html" title="struct 
iceberg::io::FileIO">FileIO</a></div><div class="desc docblock-short">FileIO 
implementation, used to manipulate files in underlying 
storage.</div></li><li><div class="item-name"><a class="struct" 
href="struct.FileIOBuilder.html" title="struct 
iceberg::io::FileIOBuilder">FileIO [...]
-credential chain.</div></li><li><div class="item-name"><a class="constant" 
href="constant.S3_ASSUME_ROLE_EXTERNAL_ID.html" title="constant 
iceberg::io::S3_ASSUME_ROLE_EXTERNAL_ID">S3_ASSUME_ROLE_EXTERNAL_ID</a></div><div
 class="desc docblock-short">Optional external ID used to assume an IAM 
role.</div></li><li><div class="item-name"><a class="constant" 
href="constant.S3_ENDPOINT.html" title="constant 
iceberg::io::S3_ENDPOINT">S3_ENDPOINT</a></div><div class="desc 
docblock-short">Followin [...]
+credential chain.</div></li><li><div class="item-name"><a class="constant" 
href="constant.S3_ASSUME_ROLE_EXTERNAL_ID.html" title="constant 
iceberg::io::S3_ASSUME_ROLE_EXTERNAL_ID">S3_ASSUME_ROLE_EXTERNAL_ID</a></div><div
 class="desc docblock-short">Optional external ID used to assume an IAM 
role.</div></li><li><div class="item-name"><a class="constant" 
href="constant.S3_ASSUME_ROLE_SESSION_NAME.html" title="constant 
iceberg::io::S3_ASSUME_ROLE_SESSION_NAME">S3_ASSUME_ROLE_SESSION_NAME</a [...]
 S3 endpoint.</div></li><li><div class="item-name"><a class="constant" 
href="constant.S3_PATH_STYLE_ACCESS.html" title="constant 
iceberg::io::S3_PATH_STYLE_ACCESS">S3_PATH_STYLE_ACCESS</a></div><div 
class="desc docblock-short">S3 Path Style Access.</div></li><li><div 
class="item-name"><a class="constant" href="constant.S3_REGION.html" 
title="constant iceberg::io::S3_REGION">S3_REGION</a></div><div class="desc 
docblock-short">S3 region.</div></li><li><div class="item-name"><a 
class="consta [...]
 This is required when using temporary credentials.</div></li><li><div 
class="item-name"><a class="constant" href="constant.S3_SSE_KEY.html" 
title="constant iceberg::io::S3_SSE_KEY">S3_SSE_KEY</a></div><div class="desc 
docblock-short">S3 Server Side Encryption Key.
 If S3 encryption type is kms, input is a KMS Key ID.
diff --git a/api/iceberg/io/sidebar-items.js b/api/iceberg/io/sidebar-items.js
index 3f47c9d..5d40cf8 100644
--- a/api/iceberg/io/sidebar-items.js
+++ b/api/iceberg/io/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = 
{"constant":["GCS_NO_AUTH","GCS_PROJECT_ID","GCS_SERVICE_PATH","GCS_USER_PROJECT","S3_ACCESS_KEY_ID","S3_ASSUME_ROLE_ARN","S3_ASSUME_ROLE_EXTERNAL_ID","S3_ENDPOINT","S3_PATH_STYLE_ACCESS","S3_REGION","S3_SECRET_ACCESS_KEY","S3_SESSION_TOKEN","S3_SSE_KEY","S3_SSE_MD5","S3_SSE_TYPE"],"struct":["FileIO","FileIOBuilder","FileMetadata","InputFile","OutputFile"],"trait":["FileRead","FileWrite"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = 
{"constant":["GCS_NO_AUTH","GCS_PROJECT_ID","GCS_SERVICE_PATH","GCS_USER_PROJECT","S3_ACCESS_KEY_ID","S3_ASSUME_ROLE_ARN","S3_ASSUME_ROLE_EXTERNAL_ID","S3_ASSUME_ROLE_SESSION_NAME","S3_ENDPOINT","S3_PATH_STYLE_ACCESS","S3_REGION","S3_SECRET_ACCESS_KEY","S3_SESSION_TOKEN","S3_SSE_KEY","S3_SSE_MD5","S3_SSE_TYPE"],"struct":["FileIO","FileIOBuilder","FileMetadata","InputFile","OutputFile"],"trait":["FileRead","FileWrite"]};
\ No newline at end of file
diff --git 
a/api/iceberg/io/storage_s3/constant.S3_ASSUME_ROLE_SESSION_NAME.html 
b/api/iceberg/io/storage_s3/constant.S3_ASSUME_ROLE_SESSION_NAME.html
new file mode 100644
index 0000000..cd2232f
--- /dev/null
+++ b/api/iceberg/io/storage_s3/constant.S3_ASSUME_ROLE_SESSION_NAME.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" 
content="0;URL=../../../iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a 
href="../../../iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.html">../../../iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.html</a>...</p>
+    
<script>location.replace("../../../iceberg/io/constant.S3_ASSUME_ROLE_SESSION_NAME.html"
 + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/api/iceberg/spec/enum.DataFileBuilderError.html 
b/api/iceberg/spec/enum.DataFileBuilderError.html
index 6879e42..0bdb98f 100644
--- a/api/iceberg/spec/enum.DataFileBuilderError.html
+++ b/api/iceberg/spec/enum.DataFileBuilderError.html
@@ -4,7 +4,7 @@
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Error type for DataFileBuilder</p>
 </div></details><h2 id="variants" class="variants section-header">Variants 
(Non-exhaustive)<a href="#variants" class="anchor">§</a></h2><details 
class="toggle non-exhaustive"><summary class="hideme"><span>This enum is marked 
as non-exhaustive</span></summary><div class="docblock">Non-exhaustive enums 
could have additional variants added in future. Therefore, when matching 
against variants of non-exhaustive enums, an extra wildcard arm must be added 
to account for any future variants.</di [...]
 </div><section id="variant.ValidationError" class="variant"><a 
href="#variant.ValidationError" class="anchor">§</a><h3 
class="code-header">ValidationError(<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>)</h3></section><div 
class="docblock"><p>Custom validation error</p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Debug-for-DataFileBuilderError" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/manifest.rs.html#939">source</a><a 
href="#impl-Debug-for-DataFileBuilderError" class="anchor">§</a><h3 
class="code-header">impl <a clas [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Debug-for-DataFileBuilderError" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/manifest.rs.html#939">source</a><a 
href="#impl-Debug-for-DataFileBuilderError" class="anchor">§</a><h3 
class="code-header">impl <a clas [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
     T: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html"; 
title="trait core::error::Error">Error</a> + 
'static,</div></h3></section></summary><div class="impl-items"><details 
class="toggle method-toggle" open><summary><section id="method.as_error_source" 
class="method trait-impl"><a href="#method.as_error_source" 
class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">as_error_source</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" 
href="https://doc [...]
 to benefit from Rust’s automatic dereferencing of method
diff --git a/api/iceberg/spec/enum.DataFileFormat.html 
b/api/iceberg/spec/enum.DataFileFormat.html
index 4e4eb3e..b840bd4 100644
--- a/api/iceberg/spec/enum.DataFileFormat.html
+++ b/api/iceberg/spec/enum.DataFileFormat.html
@@ -6,7 +6,7 @@
 </div></details><h2 id="variants" class="variants section-header">Variants<a 
href="#variants" class="anchor">§</a></h2><div class="variants"><section 
id="variant.Avro" class="variant"><a href="#variant.Avro" 
class="anchor">§</a><h3 class="code-header">Avro</h3></section><div 
class="docblock"><p>Avro file format: <a 
href="https://avro.apache.org/";>https://avro.apache.org/</a></p>
 </div><section id="variant.Orc" class="variant"><a href="#variant.Orc" 
class="anchor">§</a><h3 class="code-header">Orc</h3></section><div 
class="docblock"><p>Orc file format: <a 
href="https://orc.apache.org/";>https://orc.apache.org/</a></p>
 </div><section id="variant.Parquet" class="variant"><a href="#variant.Parquet" 
class="anchor">§</a><h3 class="code-header">Parquet</h3></section><div 
class="docblock"><p>Parquet file format: <a 
href="https://parquet.apache.org/";>https://parquet.apache.org/</a></p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-DataFileFormat" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/manifest.rs.html#1171">source</a><a 
href="#impl-Clone-for-DataFileFormat" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" h [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-DataFileFormat" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/manifest.rs.html#1171">source</a><a 
href="#impl-Clone-for-DataFileFormat" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" h [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><section 
id="impl-Copy-for-DataFileFormat" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/manifest.rs.html#1171">source</a><a 
href="#impl-Copy-for-DataFileFormat" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html"; 
title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Dat 
[...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
diff --git a/api/iceberg/spec/enum.FormatVersion.html 
b/api/iceberg/spec/enum.FormatVersion.html
index 7e0ee74..1af0df9 100644
--- a/api/iceberg/spec/enum.FormatVersion.html
+++ b/api/iceberg/spec/enum.FormatVersion.html
@@ -4,8 +4,8 @@
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Iceberg format version</p>
 </div></details><h2 id="variants" class="variants section-header">Variants<a 
href="#variants" class="anchor">§</a></h2><div class="variants"><section 
id="variant.V1" class="variant"><a href="#variant.V1" class="anchor">§</a><h3 
class="code-header">V1 = 1</h3></section><div class="docblock"><p>Iceberg spec 
version 1</p>
 </div><section id="variant.V2" class="variant"><a href="#variant.V2" 
class="anchor">§</a><h3 class="code-header">V2 = 2</h3></section><div 
class="docblock"><p>Iceberg spec version 2</p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-FormatVersion" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/table_metadata.rs.html#859">source</a><a 
href="#impl-Clone-for-FormatVersion" class="anchor">§</a><h3 
class="code-header">impl <a class="trait [...]
-    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-FormatVersion" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/table_metadata.rs.html#859">source</a><a 
href="#impl-Clone-for-FormatVersion" class="anchor">§</a><h3 
class="code-header">impl <a class="trait [...]
+    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
     Self: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div 
class='docblock'>Compares and returns the maximum of two values. <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max";>Read
 more</a></div></details><details class="toggle method-toggle" 
open><summary><section id="method.min" class="method trait-impl"><span 
class="rightside"><span class="si [...]
     Self: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div 
class='docblock'>Compares and returns the minimum of two values. <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min";>Read
 more</a></div></details><details class="toggle method-toggle" 
open><summary><section id="method.clamp" class="method trait-impl"><span 
class="rightside"><span class=" [...]
     Self: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a> + <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html"; 
title="trait 
core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div 
class='docblock'>Restrict a value to a certain interval. <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp";>Read
 more</a></div></details></div> [...]
diff --git a/api/iceberg/spec/enum.PrimitiveType.html 
b/api/iceberg/spec/enum.PrimitiveType.html
index 0dcd631..27b8756 100644
--- a/api/iceberg/spec/enum.PrimitiveType.html
+++ b/api/iceberg/spec/enum.PrimitiveType.html
@@ -41,8 +41,8 @@
     __deserializer: __D,
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;<a class="enum" 
href="enum.PrimitiveType.html" title="enum 
iceberg::spec::PrimitiveType">PrimitiveType</a>, __D::<a class="associatedtype" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html#associatedtype.Error";
 title="type serde::de::Deserializer::Error">Error</a>&gt;<div 
class="where">where
     __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></div></details><details
 class="toggle implementors-toggle" open><summary><section 
id="impl-PrimitiveType-2" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#238-259">source</a><a 
href="#impl-PrimitiveType-2" class="anchor">§</a><h3 class="code-header">impl 
<a class="enum" [...]
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-PrimitiveType" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#200">source</a><a 
href="#impl-Clone-for-PrimitiveType" class="anchor">§</a><h3 
class="code-header" [...]
-    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-PrimitiveType" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#200">source</a><a 
href="#impl-Clone-for-PrimitiveType" class="anchor">§</a><h3 
class="code-header" [...]
+    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
     H: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"; 
title="trait core::hash::Hasher">Hasher</a>,
     Self: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div 
class='docblock'>Feeds a slice of this type into the given <a 
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"; 
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a 
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice";>Read
 more</a></div></details></div></d [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
diff --git a/api/iceberg/spec/enum.SortDirection.html 
b/api/iceberg/spec/enum.SortDirection.html
index 30d492f..37f7650 100644
--- a/api/iceberg/spec/enum.SortDirection.html
+++ b/api/iceberg/spec/enum.SortDirection.html
@@ -4,8 +4,8 @@
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Sort direction in a partition, either ascending or 
descending</p>
 </div></details><h2 id="variants" class="variants section-header">Variants<a 
href="#variants" class="anchor">§</a></h2><div class="variants"><section 
id="variant.Ascending" class="variant"><a href="#variant.Ascending" 
class="anchor">§</a><h3 class="code-header">Ascending</h3></section><div 
class="docblock"><p>Ascending</p>
 </div><section id="variant.Descending" class="variant"><a 
href="#variant.Descending" class="anchor">§</a><h3 
class="code-header">Descending</h3></section><div 
class="docblock"><p>Descending</p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-SortDirection" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#35">source</a><a 
href="#impl-Clone-for-SortDirection" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="htt [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-SortDirection" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#35">source</a><a 
href="#impl-Clone-for-SortDirection" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="htt [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-Serialize-for-SortDirection" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#35">source</a><a 
href="#impl-Serialize-for-SortDirection" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait serd [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section 
id="impl-Copy-for-SortDirection" class="impl"><a class="src rightside" 
href="../../src/iceberg [...]
diff --git a/api/iceberg/spec/enum.SortOrderBuilderError.html 
b/api/iceberg/spec/enum.SortOrderBuilderError.html
index d594b34..6f80ca4 100644
--- a/api/iceberg/spec/enum.SortOrderBuilderError.html
+++ b/api/iceberg/spec/enum.SortOrderBuilderError.html
@@ -4,7 +4,7 @@
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Error type for SortOrderBuilder</p>
 </div></details><h2 id="variants" class="variants section-header">Variants 
(Non-exhaustive)<a href="#variants" class="anchor">§</a></h2><details 
class="toggle non-exhaustive"><summary class="hideme"><span>This enum is marked 
as non-exhaustive</span></summary><div class="docblock">Non-exhaustive enums 
could have additional variants added in future. Therefore, when matching 
against variants of non-exhaustive enums, an extra wildcard arm must be added 
to account for any future variants.</di [...]
 </div><section id="variant.ValidationError" class="variant"><a 
href="#variant.ValidationError" class="anchor">§</a><h3 
class="code-header">ValidationError(<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>)</h3></section><div 
class="docblock"><p>Custom validation error</p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Debug-for-SortOrderBuilderError" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#99">source</a><a 
href="#impl-Debug-for-SortOrderBuilderError" class="anchor">§</a><h3 
class="code-header">impl <a class=" [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Debug-for-SortOrderBuilderError" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#99">source</a><a 
href="#impl-Debug-for-SortOrderBuilderError" class="anchor">§</a><h3 
class="code-header">impl <a class=" [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
     T: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html"; 
title="trait core::error::Error">Error</a> + 
'static,</div></h3></section></summary><div class="impl-items"><details 
class="toggle method-toggle" open><summary><section id="method.as_error_source" 
class="method trait-impl"><a href="#method.as_error_source" 
class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">as_error_source</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" 
href="https://doc [...]
 to benefit from Rust’s automatic dereferencing of method
diff --git a/api/iceberg/spec/enum.Transform.html 
b/api/iceberg/spec/enum.Transform.html
index ec2df1b..27f8ca2 100644
--- a/api/iceberg/spec/enum.Transform.html
+++ b/api/iceberg/spec/enum.Transform.html
@@ -125,8 +125,8 @@ and filtering based on the original, untransformed data.</p>
 <code>bucket(a, 37) as bs</code>, if one row matches <code>a = 10</code>, then 
its partition
 value should match <code>bucket(10, 37) as bs</code>, and we project <code>a = 
10</code> to
 <code>bs = bucket(10, 37)</code></p>
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Transform" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/transform.rs.html#48">source</a><a 
href="#impl-Clone-for-Transform" class="anchor">§</a><h3 
class="code-header">impl <a  [...]
-    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Transform" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/transform.rs.html#48">source</a><a 
href="#impl-Clone-for-Transform" class="anchor">§</a><h3 
class="code-header">impl <a  [...]
+    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Serialize-for-Transform" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/transform.rs.html#672-677">source</a><a 
href="#impl-Serialize-for-Transform" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait se [...]
     S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section id="impl-Copy-for-Transform" 
class="impl"><a class="src rightside" href="../../src/iceberg/spec/ [...]
diff --git a/api/iceberg/spec/enum.Type.html b/api/iceberg/spec/enum.Type.html
index b350dc0..bcacab9 100644
--- a/api/iceberg/spec/enum.Type.html
+++ b/api/iceberg/spec/enum.Type.html
@@ -18,7 +18,7 @@
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.decimal" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#160-163">source</a><h4 
class="code-header">pub fn <a href="#method.decimal" 
class="fn">decimal</a>(precision: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html";>u32</a>, scale: 
<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html";>u32</a>) -&g 
[...]
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.is_floating_type" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#167-172">source</a><h4 
class="code-header">pub fn <a href="#method.is_floating_type" 
class="fn">is_floating_type</a>(&amp;self) -&gt; <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a></h4></section></summary><div
 class="docblock"><p>Check if it’s float o [...]
 </div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Type" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#80">source</a><a 
href="#impl-Clone-for-Type" class="anchor">§</a><h3 class="code-header">impl <a 
class="tra [...]
-    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
+    D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Display [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Serialize-for-Type" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#261-267">source</a><a 
href="#impl-Serialize-for-Type" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait serde::ser:: [...]
     S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section id="impl-Eq-for-Type" 
class="impl"><a class="src rightside" href="../../src/iceberg/spec/datatyp [...]
diff --git a/api/iceberg/spec/struct.Datum.html 
b/api/iceberg/spec/struct.Datum.html
index 59631d6..16ff065 100644
--- a/api/iceberg/spec/struct.Datum.html
+++ b/api/iceberg/spec/struct.Datum.html
@@ -251,7 +251,7 @@ Example:</p>
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.data_type" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/values.rs.html#1002-1004">source</a><h4 
class="code-header">pub fn <a href="#method.data_type" 
class="fn">data_type</a>(&amp;self) -&gt; &amp;<a class="enum" 
href="enum.PrimitiveType.html" title="enum 
iceberg::spec::PrimitiveType">PrimitiveType</a></h4></section></summary><div 
class="docblock"><p>Get the primitive type fro [...]
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.is_nan" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/values.rs.html#1008-1014">source</a><h4 
class="code-header">pub fn <a href="#method.is_nan" 
class="fn">is_nan</a>(&amp;self) -&gt; <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a></h4></section></summary><div
 class="docblock"><p>Returns true if the Literal represents a primitive type
 that can be a NaN, and that it’s value is NaN</p>
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Datum" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/values.rs.html#95">source</a><a 
href="#impl-Clone-for-Datum" class="anchor">§</a><h3 class="code-header">impl 
<a class="trai [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Datum" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/values.rs.html#95">source</a><a 
href="#impl-Clone-for-Datum" class="anchor">§</a><h3 class="code-header">impl 
<a class="trai [...]
     H: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"; 
title="trait core::hash::Hasher">Hasher</a>,
     Self: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div 
class='docblock'>Feeds a slice of this type into the given <a 
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"; 
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a 
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice";>Read
 more</a></div></details></div></d [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
diff --git a/api/iceberg/spec/struct.Schema.html 
b/api/iceberg/spec/struct.Schema.html
index b66ab18..34e15c3 100644
--- a/api/iceberg/spec/struct.Schema.html
+++ b/api/iceberg/spec/struct.Schema.html
@@ -17,11 +17,11 @@
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_id_by_name" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#337-339">source</a><h4 
class="code-header">pub fn <a href="#method.field_id_by_name" 
class="fn">field_id_by_name</a>(&amp;self, name: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/op [...]
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.name_by_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#342-344">source</a><h4 
class="code-header">pub fn <a href="#method.name_by_field_id" 
class="fn">name_by_field_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/opt [...]
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.accessor_by_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#347-349">source</a><h4 
class="code-header">pub fn <a href="#method.accessor_by_field_id" 
class="fn">accessor_by_field_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nigh [...]
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Schema" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a 
href="#impl-Clone-for-Schema" class="anchor">§</a><h3 class="code-header">impl 
<a class="tr [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Schema" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a 
href="#impl-Clone-for-Schema" class="anchor">§</a><h3 class="code-header">impl 
<a class="tr [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Serialize-for-Schema" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a 
href="#impl-Serialize-for-Schema" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait serde::ser::Seri [...]
-    __S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-TryFrom%3C%26Schema%3E-for- [...]
+    __S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-TryFrom%3C%26Schema%3E-for- [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210";>source</a><a
 href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a 
href="https:/ [...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow_mut" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217";>source</a><a
 href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a 
href= [...]
diff --git a/api/iceberg/spec/struct.SortField.html 
b/api/iceberg/spec/struct.SortField.html
index ca7f2e1..b9260ce 100644
--- a/api/iceberg/spec/struct.SortField.html
+++ b/api/iceberg/spec/struct.SortField.html
@@ -11,8 +11,8 @@
 </div><h2 id="implementations" class="section-header">Implementations<a 
href="#implementations" class="anchor">§</a></h2><div 
id="implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-SortField" class="impl"><a class="src 
rightside" href="../../src/iceberg/spec/sort.rs.html#75">source</a><a 
href="#impl-SortField" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.SortField.html" title="struct 
iceberg::spec::SortFiel [...]
 On the builder, call <code>.source_id(...)</code>, 
<code>.transform(...)</code>, <code>.direction(...)</code>, 
<code>.null_order(...)</code> to set the values of the fields.
 Finally, call <code>.build()</code> to create the instance of 
<code>SortField</code>.</p>
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-SortField" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#75">source</a><a 
href="#impl-Clone-for-SortField" class="anchor">§</a><h3 
class="code-header">impl <a class [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-SortField" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#75">source</a><a 
href="#impl-Clone-for-SortField" class="anchor">§</a><h3 
class="code-header">impl <a class [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.208/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Serialize-for-SortField" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/sort.rs.html#75">source</a><a 
href="#impl-Serialize-for-SortField" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html"; 
title="trait serde::ser:: [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.208/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section id="impl-Eq-for-SortField" 
class="impl"><a class="src rightside" href="../../src/iceberg/spec/ [...]
diff --git a/api/iceberg/struct.Error.html b/api/iceberg/struct.Error.html
index 6f7fefb..cfbef3b 100644
--- a/api/iceberg/struct.Error.html
+++ b/api/iceberg/struct.Error.html
@@ -35,7 +35,7 @@ Backtrace:
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.kind" class="method"><a class="src rightside" 
href="../src/iceberg/error.rs.html#241-243">source</a><h4 
class="code-header">pub fn <a href="#method.kind" 
class="fn">kind</a>(&amp;self) -&gt; <a class="enum" href="enum.ErrorKind.html" 
title="enum iceberg::ErrorKind">ErrorKind</a></h4></section></summary><div 
class="docblock"><p>Return error’s kind.</p>
 <p>Users can use this method to check error’s kind and take actions.</p>
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.message" class="method"><a class="src rightside" 
href="../src/iceberg/error.rs.html#247-249">source</a><h4 
class="code-header">pub fn <a href="#method.message" 
class="fn">message</a>(&amp;self) -&gt; &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a></h4></section></summary><div
 class="docblock"><p>Return error’s message.</p>
-</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Debug-for-Error" class="impl"><a class="src rightside" 
href="../src/iceberg/error.rs.html#148-187">source</a><a 
href="#impl-Debug-for-Error" class="anchor">§</a><h3 class="code-header">impl 
<a class="trait" h [...]
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Debug-for-Error" class="impl"><a class="src rightside" 
href="../src/iceberg/error.rs.html#148-187">source</a><a 
href="#impl-Debug-for-Error" class="anchor">§</a><h3 class="code-header">impl 
<a class="trait" h [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
     T: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html"; 
title="trait core::error::Error">Error</a> + 
'static,</div></h3></section></summary><div class="impl-items"><details 
class="toggle method-toggle" open><summary><section id="method.as_error_source" 
class="method trait-impl"><a href="#method.as_error_source" 
class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">as_error_source</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" 
href="https://doc [...]
 to benefit from Rust’s automatic dereferencing of method
diff --git a/api/search-index.js b/api/search-index.js
index 10ab1b9..a2d37c1 100644
--- a/api/search-index.js
+++ b/api/search-index.js
@@ -1,5 +1,5 @@
 var searchIndex = new Map(JSON.parse('[\
-["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 [...]
+["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 [...]
 
["iceberg_catalog_glue",{"t":"SSSSSFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQ","n":["AWS_ACCESS_KEY_ID","AWS_PROFILE_NAME","AWS_REGION_NAME","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","GlueCatalog","GlueCatalogConfig","borrow","borrow","borrow_mut","borrow_mut","builder","create_namespace","create_table","drop_namespace","drop_table","file_io","fmt","fmt","from","from","get_namespace","into","into","into_shared","into_shared","list_namespaces","list_tables","load_table","namespace_exists",
 [...]
 
["iceberg_catalog_hms",{"t":"PPFFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Buffered","Framed","HmsCatalog","HmsCatalogConfig","HmsThriftTransport","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","builder","create_namespace","create_table","default","drop_namespace","drop_table","file_io","fmt","fmt","fmt","from","from","from","get_namespace","into","into","into","list_namespaces","list_tables","load_table","namespace_exists","new","rename_table","table_exists
 [...]
 
["iceberg_catalog_memory",{"t":"FNNNNNNNNNNNNNNNNNNNNNNN","n":["MemoryCatalog","borrow","borrow_mut","create_namespace","create_table","drop_namespace","drop_table","fmt","from","get_namespace","into","list_namespaces","list_tables","load_table","namespace_exists","new","rename_table","table_exists","try_from","try_into","type_id","update_namespace","update_table","vzip"],"q":[[0,"iceberg_catalog_memory"],[24,"iceberg_catalog_memory::catalog"],[25,"iceberg::catalog"],[26,"alloc::string"]
 [...]
diff --git a/api/search.desc/iceberg/iceberg-desc-0-.js 
b/api/search.desc/iceberg/iceberg-desc-0-.js
index 1194489..0207fa2 100644
--- a/api/search.desc/iceberg/iceberg-desc-0-.js
+++ b/api/search.desc/iceberg/iceberg-desc-0-.js
@@ -1 +1 @@
-searchState.loadedDescShard("iceberg", 0, "Apache Iceberg Official Native Rust 
Implementation\nAdd a new schema to the table\nAdd snapshot to table.\nAdd sort 
order to table.\nAdd a new partition spec to the table\nAssign a new UUID to 
the table\nThe catalog API for Iceberg Rust.\nThe table’s current schema id 
must match the requirement.\nIceberg data is invalid.\nThe table’s default sort 
order id must match the …\nThe table’s default spec id must match the 
requirement.\nContains the err [...]
\ No newline at end of file
+searchState.loadedDescShard("iceberg", 0, "Apache Iceberg Official Native Rust 
Implementation\nAdd a new schema to the table\nAdd snapshot to table.\nAdd sort 
order to table.\nAdd a new partition spec to the table\nAssign a new UUID to 
the table\nThe catalog API for Iceberg Rust.\nThe table’s current schema id 
must match the requirement.\nIceberg data is invalid.\nThe table’s default sort 
order id must match the …\nThe table’s default spec id must match the 
requirement.\nContains the err [...]
\ No newline at end of file
diff --git a/api/src/iceberg/io/storage_s3.rs.html 
b/api/src/iceberg/io/storage_s3.rs.html
index c297be3..e021d54 100644
--- a/api/src/iceberg/io/storage_s3.rs.html
+++ b/api/src/iceberg/io/storage_s3.rs.html
@@ -142,6 +142,10 @@
 <a href="#142" id="142">142</a>
 <a href="#143" id="143">143</a>
 <a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</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
@@ -196,6 +200,8 @@
 </span><span class="kw">pub const </span>S3_ASSUME_ROLE_ARN: <span 
class="kw-2">&amp;</span>str = <span 
class="string">"client.assume-role.arn"</span>;
 <span class="doccomment">/// Optional external ID used to assume an IAM role.
 </span><span class="kw">pub const </span>S3_ASSUME_ROLE_EXTERNAL_ID: <span 
class="kw-2">&amp;</span>str = <span 
class="string">"client.assume-role.external-id"</span>;
+<span class="doccomment">/// Optional session name used to assume an IAM role.
+</span><span class="kw">pub const </span>S3_ASSUME_ROLE_SESSION_NAME: <span 
class="kw-2">&amp;</span>str = <span 
class="string">"client.assume-role.session-name"</span>;
 
 <span class="doccomment">/// Parse iceberg props to s3 config.
 </span><span class="kw">pub</span>(<span class="kw">crate</span>) <span 
class="kw">fn </span>s3_config_parse(<span class="kw-2">mut </span>m: 
HashMap&lt;String, String&gt;) -&gt; <span 
class="prelude-ty">Result</span>&lt;S3Config&gt; {
@@ -220,13 +226,15 @@
             cfg.enable_virtual_host_style = <span class="bool-val">true</span>;
         }
     };
-
     <span class="kw">if let </span><span class="prelude-val">Some</span>(arn) 
= m.remove(S3_ASSUME_ROLE_ARN) {
         cfg.role_arn = <span class="prelude-val">Some</span>(arn);
     }
     <span class="kw">if let </span><span 
class="prelude-val">Some</span>(external_id) = 
m.remove(S3_ASSUME_ROLE_EXTERNAL_ID) {
         cfg.external_id = <span class="prelude-val">Some</span>(external_id);
     };
+    <span class="kw">if let </span><span 
class="prelude-val">Some</span>(session_name) = 
m.remove(S3_ASSUME_ROLE_SESSION_NAME) {
+        cfg.role_session_name = <span 
class="prelude-val">Some</span>(session_name);
+    };
     <span class="kw">let </span>s3_sse_key = m.remove(S3_SSE_KEY);
     <span class="kw">if let </span><span 
class="prelude-val">Some</span>(sse_type) = m.remove(S3_SSE_TYPE) {
         <span class="kw">match </span>sse_type.to_lowercase().as_str() {

Reply via email to