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 a39e4079 deploy: cafc939d6aa303f7424a74fa8467ac0cb306591d
a39e4079 is described below

commit a39e407996ada4bfaa0acd72f53abcfe70308e52
Author: liurenjie1024 <[email protected]>
AuthorDate: Fri Oct 25 01:38:19 2024 +0000

    deploy: cafc939d6aa303f7424a74fa8467ac0cb306591d
---
 api/iceberg/enum.ErrorKind.html                  |  2 +-
 api/iceberg/expr/enum.BoundPredicate.html        |  4 +--
 api/iceberg/expr/enum.Predicate.html             |  4 +--
 api/iceberg/expr/struct.BoundReference.html      |  4 +--
 api/iceberg/expr/struct.Reference.html           |  4 +--
 api/iceberg/expr/struct.UnaryExpression.html     |  4 +--
 api/iceberg/io/index.html                        |  2 +-
 api/iceberg/io/struct.FileIO.html                |  4 +--
 api/iceberg/io/struct.InputFile.html             | 10 +++----
 api/iceberg/io/struct.OutputFile.html            | 14 ++++-----
 api/iceberg/io/trait.FileWrite.html              | 10 +++----
 api/iceberg/spec/enum.DataFileBuilderError.html  |  2 +-
 api/iceberg/spec/enum.FormatVersion.html         |  4 +--
 api/iceberg/spec/enum.ManifestContentType.html   |  2 +-
 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.NestedField.html         |  4 +--
 api/iceberg/spec/struct.Schema.html              |  2 +-
 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/file_io.rs.html               | 36 ++++++++----------------
 api/src/iceberg/io/mod.rs.html                   |  2 +-
 27 files changed, 63 insertions(+), 75 deletions(-)

diff --git a/api/iceberg/enum.ErrorKind.html b/api/iceberg/enum.ErrorKind.html
index 7ffee91a..2e8a6b0c 100644
--- a/api/iceberg/enum.ErrorKind.html
+++ b/api/iceberg/enum.ErrorKind.html
@@ -13,7 +13,7 @@ failed to parse it’s metadata or data file correctly.</p>
 </div><section id="variant.FeatureUnsupported" class="variant"><a 
href="#variant.FeatureUnsupported" class="anchor">§</a><h3 
class="code-header">FeatureUnsupported</h3></section><div 
class="docblock"><p>Iceberg feature is not supported.</p>
 <p>This error is returned when given iceberg feature is not supported.</p>
 </div></div><h2 id="implementations" class="section-header">Implementations<a 
href="#implementations" class="anchor">§</a></h2><div 
id="implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-ErrorKind" class="impl"><a class="src 
rightside" href="../src/iceberg/error.rs.html#49-54">source</a><a 
href="#impl-ErrorKind" class="anchor">§</a><h3 class="code-header">impl <a 
class="enum" href="enum.ErrorKind.html" title="enum iceberg::ErrorKind">ErrorKi 
[...]
-</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-ErrorKind" class="impl"><a class="src rightside" 
href="../src/iceberg/error.rs.html#28">source</a><a 
href="#impl-Clone-for-ErrorKind" class="anchor">§</a><h3 
class="code-header">impl <a class="trait [...]
+</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-ErrorKind" class="impl"><a class="src rightside" 
href="../src/iceberg/error.rs.html#28">source</a><a 
href="#impl-Clone-for-ErrorKind" class="anchor">§</a><h3 
class="code-header">impl <a class="trait [...]
 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-ErrorKind" 
class="impl"><a class="src rightside" 
href="../src/iceberg/error.rs.html#28">source</a><a 
href="#impl-Copy-for-ErrorKind" 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.ErrorKind.html" title="enu [...]
     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/expr/enum.BoundPredicate.html 
b/api/iceberg/expr/enum.BoundPredicate.html
index 08dc2c33..14354217 100644
--- a/api/iceberg/expr/enum.BoundPredicate.html
+++ b/api/iceberg/expr/enum.BoundPredicate.html
@@ -16,8 +16,8 @@
 </div><section id="variant.Unary" class="variant"><a href="#variant.Unary" 
class="anchor">§</a><h3 class="code-header">Unary(<a class="struct" 
href="struct.UnaryExpression.html" title="struct 
iceberg::expr::UnaryExpression">UnaryExpression</a>&lt;<a class="struct" 
href="struct.BoundReference.html" title="struct 
iceberg::expr::BoundReference">BoundReference</a>&gt;)</h3></section><div 
class="docblock"><p>Unary expression, for example, <code>a IS NULL</code>.</p>
 </div><section id="variant.Binary" class="variant"><a href="#variant.Binary" 
class="anchor">§</a><h3 class="code-header">Binary(<a class="struct" 
href="struct.BinaryExpression.html" title="struct 
iceberg::expr::BinaryExpression">BinaryExpression</a>&lt;<a class="struct" 
href="struct.BoundReference.html" title="struct 
iceberg::expr::BoundReference">BoundReference</a>&gt;)</h3></section><div 
class="docblock"><p>Binary expression, for example, <code>a &gt; 10</code>.</p>
 </div><section id="variant.Set" class="variant"><a href="#variant.Set" 
class="anchor">§</a><h3 class="code-header">Set(<a class="struct" 
href="struct.SetExpression.html" title="struct 
iceberg::expr::SetExpression">SetExpression</a>&lt;<a class="struct" 
href="struct.BoundReference.html" title="struct 
iceberg::expr::BoundReference">BoundReference</a>&gt;)</h3></section><div 
class="docblock"><p>Set predicates, for example, <code>a IN (1, 2, 
3)</code>.</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-BoundPredicate" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#676">source</a><a 
href="#impl-Clone-for-BoundPredicate" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" h [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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-BoundPredicate" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#676">source</a><a 
href="#impl-Clone-for-BoundPredicate" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" h [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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-BoundPredicate" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#676">source</a><a 
href="#impl-Serialize-for-BoundPredicate" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.213/serde/ser/trait.Serialize.html"; title="tr 
[...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section 
id="impl-StructuralPartialEq-for-BoundPredicate" class="impl"><a class="src 
rightside" href=". [...]
diff --git a/api/iceberg/expr/enum.Predicate.html 
b/api/iceberg/expr/enum.Predicate.html
index feafc894..495136f1 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.213/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.213/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.213/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.213/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/struct.BoundReference.html 
b/api/iceberg/expr/struct.BoundReference.html
index dbb49f75..c114d8fc 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.213/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.213/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.213/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.213/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.213/serde/ser/trait.Serialize.html"; 
title="trait s [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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 da640303..26270a27 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.213/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.213/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.213/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.213/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.213/serde/ser/trait.Serialize.html"; 
title="trait serde::ser:: [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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/expr/struct.UnaryExpression.html 
b/api/iceberg/expr/struct.UnaryExpression.html
index 660a0d3f..5c0420af 100644
--- a/api/iceberg/expr/struct.UnaryExpression.html
+++ b/api/iceberg/expr/struct.UnaryExpression.html
@@ -4,9 +4,9 @@
 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span 
class="kw">use </span>iceberg::expr::{PredicateOperator, Reference, 
UnaryExpression};
 
 UnaryExpression::new(PredicateOperator::IsNull, Reference::new(<span 
class="string">"c"</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-UnaryExpression%3CT%3E" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#125-132">source</a><a 
href="#impl-Bind-for-UnaryExpression%3CT%3E" class="anchor">§</a><h3 [...]
+</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-UnaryExpression%3CT%3E" class="impl"><a class="src rightside" 
href="../../src/iceberg/expr/predicate.rs.html#125-132">source</a><a 
href="#impl-Bind-for-UnaryExpression%3CT%3E" class="anchor">§</a><h3 [...]
     T: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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#101">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.213/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.213/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.213/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.213/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-UnaryExpression%3CT%3E" class="impl"><a class="src 
rightside" href="../../src/iceberg/expr/predicate.rs.html#101">source</a><a 
href="#impl-Serialize-for-UnaryExpression%3CT%3E" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; <a class="trait" 
href="https://docs.rs/serde/1.0.213/serde/ser/trait. [...]
     T: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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#101">source</a><a 
href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://docs.rs [...]
diff --git a/api/iceberg/io/index.html b/api/iceberg/io/index.html
index 7dac172a..5b9bfc32 100644
--- a/api/iceberg/io/index.html
+++ b/api/iceberg/io/index.html
@@ -30,7 +30,7 @@
 <p>Currently <code>FileIO</code> provides simple methods for file 
operations:</p>
 <ul>
 <li><code>delete</code>: Delete file.</li>
-<li><code>is_exist</code>: Check if file exists.</li>
+<li><code>exists</code>: Check if file exists.</li>
 <li><code>new_input</code>: Create input file for reading.</li>
 <li><code>new_output</code>: Create output file for writing.</li>
 </ul>
diff --git a/api/iceberg/io/struct.FileIO.html 
b/api/iceberg/io/struct.FileIO.html
index 158365b7..96afce8c 100644
--- a/api/iceberg/io/struct.FileIO.html
+++ b/api/iceberg/io/struct.FileIO.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="FileIO 
implementation, used to manipulate files in underlying storage."><title>FileIO 
in iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="FileIO 
implementation, used to manipulate files in underlying storage."><title>FileIO 
in iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd
 [...]
 <h2 id="note"><a class="doc-anchor" href="#note">§</a>Note</h2>
 <p>All path passed to <code>FileIO</code> must be absolute path starting with 
scheme string used to construct <code>FileIO</code>.
 For example, if you construct <code>FileIO</code> with <code>s3a</code> 
scheme, then all path passed to <code>FileIO</code> must start with 
<code>s3a://</code>.</p>
@@ -25,7 +25,7 @@ For example, if you construct <code>FileIO</code> with 
<code>s3a</code> scheme,
 <ul>
 <li>path: It should be <em>absolute</em> path starting with scheme string used 
to construct <a href="struct.FileIO.html" title="struct 
iceberg::io::FileIO"><code>FileIO</code></a>.</li>
 </ul>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.is_exist" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#98-101">source</a><h4 
class="code-header">pub async fn <a href="#method.is_exist" 
class="fn">is_exist</a>(&amp;self, path: impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"; 
title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" 
href="https://doc.rust-lan [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.exists" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#98-101">source</a><h4 
class="code-header">pub async fn <a href="#method.exists" 
class="fn">exists</a>(&amp;self, path: impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"; 
title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" 
href="https://doc.rust-lang.org/ [...]
 <h5 id="arguments-2"><a class="doc-anchor" 
href="#arguments-2">§</a>Arguments</h5>
 <ul>
 <li>path: It should be <em>absolute</em> path starting with scheme string used 
to construct <a href="struct.FileIO.html" title="struct 
iceberg::io::FileIO"><code>FileIO</code></a>.</li>
diff --git a/api/iceberg/io/struct.InputFile.html 
b/api/iceberg/io/struct.InputFile.html
index 24706be7..e41878b4 100644
--- a/api/iceberg/io/struct.InputFile.html
+++ b/api/iceberg/io/struct.InputFile.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="Input file 
is used for reading from files."><title>InputFile in iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f
 [...]
-</div></details><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-InputFile" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#236-276">source</a><a 
href="#impl-InputFile" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.InputFile.html" title="struct iceberg [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.exists" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#243-248">source</a><h4 
class="code-header">pub async fn <a href="#method.exists" 
class="fn">exists</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>&gt;</h4></se
 [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.metadata" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#251-257">source</a><h4 
class="code-header">pub async fn <a href="#method.metadata" 
class="fn">metadata</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="struct" href="struct.FileMetadata.html" title="struct 
iceberg::io::FileMetadata">FileMetada [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.read" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#262-268">source</a><h4 
class="code-header">pub async fn <a href="#method.read" 
class="fn">read</a>(&amp;self) -&gt; <a class="type" href="../type.Result.html" 
title="type 
iceberg::Result">Result</a>&lt;Bytes&gt;</h4></section></summary><div 
class="docblock"><p>Read and returns whole content of file.</p>
+</div></details><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-InputFile" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#236-273">source</a><a 
href="#impl-InputFile" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.InputFile.html" title="struct iceberg [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.exists" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#243-245">source</a><h4 
class="code-header">pub async fn <a href="#method.exists" 
class="fn">exists</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>&gt;</h4></se
 [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.metadata" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#248-254">source</a><h4 
class="code-header">pub async fn <a href="#method.metadata" 
class="fn">metadata</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="struct" href="struct.FileMetadata.html" title="struct 
iceberg::io::FileMetadata">FileMetada [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.read" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#259-265">source</a><h4 
class="code-header">pub async fn <a href="#method.read" 
class="fn">read</a>(&amp;self) -&gt; <a class="type" href="../type.Result.html" 
title="type 
iceberg::Result">Result</a>&lt;Bytes&gt;</h4></section></summary><div 
class="docblock"><p>Read and returns whole content of file.</p>
 <p>For continues reading, use <a href="struct.InputFile.html#method.reader" 
title="method iceberg::io::InputFile::reader"><code>Self::reader</code></a> 
instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.reader" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#273-275">source</a><h4 
class="code-header">pub async fn <a href="#method.reader" 
class="fn">reader</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;impl <a 
class="trait" href="trait.FileRead.html" title="trait 
iceberg::io::FileRead">FileRead</a>&gt;</h4>< [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.reader" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#270-272">source</a><h4 
class="code-header">pub async fn <a href="#method.reader" 
class="fn">reader</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;impl <a 
class="trait" href="trait.FileRead.html" title="trait 
iceberg::io::FileRead">FileRead</a>&gt;</h4>< [...]
 <p>For one-time reading, use <a href="struct.InputFile.html#method.read" 
title="method iceberg::io::InputFile::read"><code>Self::read</code></a> 
instead.</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-InputFile" class="impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#227">source</a><a 
href="#impl-Debug-for-InputFile" class="anchor">§</a><h3 
class="code-header">impl <a cla [...]
     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/io/struct.OutputFile.html 
b/api/iceberg/io/struct.OutputFile.html
index df5814bd..62cd151e 100644
--- a/api/iceberg/io/struct.OutputFile.html
+++ b/api/iceberg/io/struct.OutputFile.html
@@ -1,15 +1,15 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Output 
file is used for writing to files.."><title>OutputFile in iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8
 [...]
-</div></details><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-OutputFile" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#318-363">source</a><a 
href="#impl-OutputFile" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.OutputFile.html" title="struct iceb [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.exists" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#325-330">source</a><h4 
class="code-header">pub async fn <a href="#method.exists" 
class="fn">exists</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>&gt;</h4></se
 [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.to_input_file" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#333-339">source</a><h4 
class="code-header">pub fn <a href="#method.to_input_file" 
class="fn">to_input_file</a>(self) -&gt; <a class="struct" 
href="struct.InputFile.html" title="struct 
iceberg::io::InputFile">InputFile</a></h4></section></summary><div 
class="docblock"><p>Converts into <a href="struct.Input [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.write" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#347-351">source</a><h4 
class="code-header">pub async fn <a href="#method.write" 
class="fn">write</a>(&amp;self, bs: Bytes) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.unit.html";>()</a>&gt;</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="Output 
file is used for writing to files.."><title>OutputFile in iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8
 [...]
+</div></details><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-OutputFile" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#315-357">source</a><a 
href="#impl-OutputFile" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.OutputFile.html" title="struct iceb [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.exists" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#322-324">source</a><h4 
class="code-header">pub async fn <a href="#method.exists" 
class="fn">exists</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>&gt;</h4></se
 [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.to_input_file" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#327-333">source</a><h4 
class="code-header">pub fn <a href="#method.to_input_file" 
class="fn">to_input_file</a>(self) -&gt; <a class="struct" 
href="struct.InputFile.html" title="struct 
iceberg::io::InputFile">InputFile</a></h4></section></summary><div 
class="docblock"><p>Converts into <a href="struct.Input [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.write" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#341-345">source</a><h4 
class="code-header">pub async fn <a href="#method.write" 
class="fn">write</a>(&amp;self, bs: Bytes) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.unit.html";>()</a>&gt;</h 
[...]
 <h5 id="notes"><a class="doc-anchor" href="#notes">§</a>Notes</h5>
 <p>Calling <code>write</code> will overwrite the file if it exists.
 For continues writing, use <a href="struct.OutputFile.html#method.writer" 
title="method 
iceberg::io::OutputFile::writer"><code>Self::writer</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.writer" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#358-362">source</a><h4 
class="code-header">pub async fn <a href="#method.writer" 
class="fn">writer</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc: [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.writer" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#352-356">source</a><h4 
class="code-header">pub async fn <a href="#method.writer" 
class="fn">writer</a>(&amp;self) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc: [...]
 <h5 id="notes-1"><a class="doc-anchor" href="#notes-1">§</a>Notes</h5>
 <p>For one-time writing, use <a href="struct.OutputFile.html#method.write" 
title="method iceberg::io::OutputFile::write"><code>Self::write</code></a> 
instead.</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-OutputFile" class="impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#309">source</a><a 
href="#impl-Debug-for-OutputFile" class="anchor">§</a><h3 
class="code-header">impl <a c [...]
+</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-OutputFile" class="impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#306">source</a><a 
href="#impl-Debug-for-OutputFile" class="anchor">§</a><h3 
class="code-header">impl <a c [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</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/io/trait.FileWrite.html 
b/api/iceberg/io/trait.FileWrite.html
index e4616767..bd370d93 100644
--- a/api/iceberg/io/trait.FileWrite.html
+++ b/api/iceberg/io/trait.FileWrite.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="Trait for 
writing file."><title>FileWrite in iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.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="Trait for 
writing file."><title>FileWrite in iceberg::io - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff
 [...]
     // Required methods
     fn <a href="#tymethod.write" class="fn">write</a>&lt;'life0, 
'async_trait&gt;(
         &amp;'life0 mut self,
@@ -15,25 +15,25 @@
 <h2 id="todo"><a class="doc-anchor" href="#todo">§</a>TODO</h2>
 <p>It’s possible for us to remove the async_trait, but we need to figure
 out how to handle the object safety.</p>
-</div></details><h2 id="required-methods" class="section-header">Required 
Methods<a href="#required-methods" class="anchor">§</a></h2><div 
class="methods"><details class="toggle method-toggle" open><summary><section 
id="tymethod.write" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#289">source</a><h4 
class="code-header">fn <a href="#tymethod.write" 
class="fn">write</a>&lt;'life0, 'async_trait&gt;(
+</div></details><h2 id="required-methods" class="section-header">Required 
Methods<a href="#required-methods" class="anchor">§</a></h2><div 
class="methods"><details class="toggle method-toggle" open><summary><section 
id="tymethod.write" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#286">source</a><h4 
class="code-header">fn <a href="#tymethod.write" 
class="fn">write</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 mut self,
     bs: Bytes,
 ) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../type.Result.html" title="type iceberg: [...]
     Self: 'async_trait,
     'life0: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Write bytes to file.</p>
 <p>TODO: we can support writing non-contiguous bytes in the future.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.close" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#294">source</a><h4 
class="code-header">fn <a href="#tymethod.close" 
class="fn">close</a>&lt;'life0, 'async_trait&gt;(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.close" class="method"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#291">source</a><h4 
class="code-header">fn <a href="#tymethod.close" 
class="fn">close</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 mut self,
 ) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../type.Result.html" title="type iceberg: [...]
     Self: 'async_trait,
     'life0: 'async_trait,</div></h4></section></summary><div 
class="docblock"><p>Close file.</p>
 <p>Calling close on closed file will generate an error.</p>
-</div></details></div><h2 id="foreign-impls" 
class="section-header">Implementations on Foreign Types<a href="#foreign-impls" 
class="anchor">§</a></h2><details class="toggle 
implementors-toggle"><summary><section id="impl-FileWrite-for-Writer" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#298-306">source</a><a 
href="#impl-FileWrite-for-Writer" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="trait.FileWrite.html" 
title="trait icebe [...]
+</div></details></div><h2 id="foreign-impls" 
class="section-header">Implementations on Foreign Types<a href="#foreign-impls" 
class="anchor">§</a></h2><details class="toggle 
implementors-toggle"><summary><section id="impl-FileWrite-for-Writer" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#295-303">source</a><a 
href="#impl-FileWrite-for-Writer" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="trait.FileWrite.html" 
title="trait icebe [...]
     &amp;'life0 mut self,
     bs: Bytes,
 ) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../type.Result.html" title="type iceberg: [...]
     Self: 'async_trait,
-    'life0: 'async_trait,</div></h4></section><section id="method.close" 
class="method trait-impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#303-305">source</a><a 
href="#method.close" class="anchor">§</a><h4 class="code-header">fn <a 
href="#tymethod.close" class="fn">close</a>&lt;'life0, 'async_trait&gt;(
+    'life0: 'async_trait,</div></h4></section><section id="method.close" 
class="method trait-impl"><a class="src rightside" 
href="../../src/iceberg/io/file_io.rs.html#300-302">source</a><a 
href="#method.close" class="anchor">§</a><h4 class="code-header">fn <a 
href="#tymethod.close" class="fn">close</a>&lt;'life0, 'async_trait&gt;(
     &amp;'life0 mut self,
 ) -&gt; <a class="struct" 
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html"; title="struct 
core::pin::Pin">Pin</a>&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"; 
title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"; 
title="trait core::future::future::Future">Future</a>&lt;Output = <a 
class="type" href="../type.Result.html" title="type iceberg: [...]
     Self: 'async_trait,
diff --git a/api/iceberg/spec/enum.DataFileBuilderError.html 
b/api/iceberg/spec/enum.DataFileBuilderError.html
index bcdc868e..7eeb8349 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#947">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#947">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.FormatVersion.html 
b/api/iceberg/spec/enum.FormatVersion.html
index 782bce8b..9494d7da 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#1121">source</a><a 
href="#impl-Clone-for-FormatVersion" class="anchor">§</a><h3 
class="code-header">impl <a class="trai [...]
-    D: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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#1121">source</a><a 
href="#impl-Clone-for-FormatVersion" class="anchor">§</a><h3 
class="code-header">impl <a class="trai [...]
+    D: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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 [...]
     Self: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div 
class='docblock'>Compares and returns the maximum of two values. <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max";>Read
 more</a></div></details><details class="toggle method-toggle" 
open><summary><section id="method.min" class="method trait-impl"><span 
class="rightside"><span class="si [...]
diff --git a/api/iceberg/spec/enum.ManifestContentType.html 
b/api/iceberg/spec/enum.ManifestContentType.html
index 506d6a39..78fde000 100644
--- a/api/iceberg/spec/enum.ManifestContentType.html
+++ b/api/iceberg/spec/enum.ManifestContentType.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>The type of files tracked by the manifest, either data or 
delete files; Data(0) for all v1 manifests</p>
 </div></details><h2 id="variants" class="variants section-header">Variants<a 
href="#variants" class="anchor">§</a></h2><div class="variants"><section 
id="variant.Data" class="variant"><a href="#variant.Data" 
class="anchor">§</a><h3 class="code-header">Data = 0</h3></section><div 
class="docblock"><p>The manifest content is data.</p>
 </div><section id="variant.Deletes" class="variant"><a href="#variant.Deletes" 
class="anchor">§</a><h3 class="code-header">Deletes = 1</h3></section><div 
class="docblock"><p>The manifest content is deletes.</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-ManifestContentType" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/manifest_list.rs.html#584">source</a><a 
href="#impl-Clone-for-ManifestContentType" class="anchor">§</a><h3 
class="code-header">impl <a c [...]
+</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-ManifestContentType" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/manifest_list.rs.html#584">source</a><a 
href="#impl-Clone-for-ManifestContentType" class="anchor">§</a><h3 
class="code-header">impl <a c [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-TryFrom%3Ci32%3E-for-ManifestContentType" class="impl"><a class="src 
rightside" 
href="../../src/iceberg/spec/manifest_list.rs.html#616-632">source</a><a 
href="#impl-TryFrom%3Ci32%3E-for-ManifestContentType" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/ [...]
     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.SortDirection.html 
b/api/iceberg/spec/enum.SortDirection.html
index 128eeade..e2279cc3 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.213/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.213/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.213/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.213/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.213/serde/ser/trait.Serialize.html"; 
title="trait serd [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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 297efdae..ce602a30 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 9fec3b03..834519a8 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.213/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.213/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.213/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.213/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#677-682">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.213/serde/ser/trait.Serialize.html"; 
title="trait se [...]
     S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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 d374dbe7..dd242ca9 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.213/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.213/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.213/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.213/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#267-273">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.213/serde/ser/trait.Serialize.html"; 
title="trait serde::ser:: [...]
     S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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 0615e154..1d093a2b 100644
--- a/api/iceberg/spec/struct.Datum.html
+++ b/api/iceberg/spec/struct.Datum.html
@@ -265,7 +265,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#1049-1051">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#1055-1061">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#96">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#96">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.NestedField.html 
b/api/iceberg/spec/struct.NestedField.html
index db458d67..86b06790 100644
--- a/api/iceberg/spec/struct.NestedField.html
+++ b/api/iceberg/spec/struct.NestedField.html
@@ -30,8 +30,8 @@ Fields may have an optional comment or doc string. Fields can 
have default value
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.with_doc" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#655-658">source</a><h4 
class="code-header">pub fn <a href="#method.with_doc" 
class="fn">with_doc</a>(self, doc: impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html"; 
title="trait alloc::string::ToString">ToString</a>) -&gt; 
Self</h4></section></summary><div class=" [...]
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.with_initial_default" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#661-664">source</a><h4 
class="code-header">pub fn <a href="#method.with_initial_default" 
class="fn">with_initial_default</a>(self, value: <a class="enum" 
href="enum.Literal.html" title="enum iceberg::spec::Literal">Literal</a>) -&gt; 
Self</h4></section></summary><div class="docblock"><p>Set the [...]
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.with_write_default" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#667-670">source</a><h4 
class="code-header">pub fn <a href="#method.with_write_default" 
class="fn">with_write_default</a>(self, value: <a class="enum" 
href="enum.Literal.html" title="enum iceberg::spec::Literal">Literal</a>) -&gt; 
Self</h4></section></summary><div class="docblock"><p>Set the field [...]
-</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-NestedField" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#512">source</a><a 
href="#impl-Clone-for-NestedField" class="anchor">§</a><h3 
class="code-header">imp [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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-NestedField" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#512">source</a><a 
href="#impl-Clone-for-NestedField" class="anchor">§</a><h3 
class="code-header">imp [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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-NestedField" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/datatypes.rs.html#512">source</a><a 
href="#impl-Serialize-for-NestedField" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.213/serde/ser/trait.Serialize.html"; 
title="trait se [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><section id="impl-Eq-for-NestedField" 
class="impl"><a class="src rightside" href="../../src/iceberg/spe [...]
diff --git a/api/iceberg/spec/struct.Schema.html 
b/api/iceberg/spec/struct.Schema.html
index 3d4dfcb1..613ef1e2 100644
--- a/api/iceberg/spec/struct.Schema.html
+++ b/api/iceberg/spec/struct.Schema.html
@@ -21,7 +21,7 @@
     __D: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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.213/serde/ser/trait.Serialize.html"; 
title="trait serde::ser::Seri [...]
-    __S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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.213/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.213/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 4d135425..9501def5 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.213/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.213/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.213/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.213/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.213/serde/ser/trait.Serialize.html"; 
title="trait serde::ser:: [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.213/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.213/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 d2f32de0..78cb8af4 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 938eeaf2..c7d14896 100644
--- a/api/search-index.js
+++ b/api/search-index.js
@@ -1,5 +1,5 @@
 var searchIndex = new Map(JSON.parse('[\
-["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNHNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 [...]
+["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNHNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 [...]
 
["iceberg_catalog_glue",{"t":"SSSSSFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQ","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","deref","deref","deref_mut","deref_mut","drop","drop","drop_namespace","drop_table","file_io","fmt","fmt","from","from","get_namespace","init","init","into","into","into_shared","i
 [...]
 
["iceberg_catalog_hms",{"t":"PPFFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Buffered","Framed","HmsCatalog","HmsCatalogConfig","HmsThriftTransport","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","builder","create_namespace","create_table","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop_namespace","drop_table","file_io","fmt","fmt","fmt","from","from","from","get_namespace","init","init","init","into
 [...]
 
["iceberg_catalog_memory",{"t":"FNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["MemoryCatalog","borrow","borrow_mut","create_namespace","create_table","deref","deref_mut","drop","drop_namespace","drop_table","fmt","from","get_namespace","init","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"],[28,"iceberg_catalog_memory::catalog"],[29,"i
 [...]
diff --git a/api/search.desc/iceberg/iceberg-desc-0-.js 
b/api/search.desc/iceberg/iceberg-desc-0-.js
index b7442b55..0b23eb6e 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/file_io.rs.html 
b/api/src/iceberg/io/file_io.rs.html
index 5d2f819a..5c9f166b 100644
--- a/api/src/iceberg/io/file_io.rs.html
+++ b/api/src/iceberg/io/file_io.rs.html
@@ -504,12 +504,6 @@
 <a href="#504" id="504">504</a>
 <a href="#505" id="505">505</a>
 <a href="#506" id="506">506</a>
-<a href="#507" id="507">507</a>
-<a href="#508" id="508">508</a>
-<a href="#509" id="509">509</a>
-<a href="#510" id="510">510</a>
-<a href="#511" id="511">511</a>
-<a href="#512" id="512">512</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
@@ -607,9 +601,9 @@
     /// # Arguments
     ///
     /// * path: It should be *absolute* path starting with scheme string used 
to construct [`FileIO`].
-    </span><span class="kw">pub async fn </span>is_exist(<span 
class="kw-2">&amp;</span><span class="self">self</span>, path: <span 
class="kw">impl </span>AsRef&lt;str&gt;) -&gt; <span 
class="prelude-ty">Result</span>&lt;bool&gt; {
+    </span><span class="kw">pub async fn </span>exists(<span 
class="kw-2">&amp;</span><span class="self">self</span>, path: <span 
class="kw">impl </span>AsRef&lt;str&gt;) -&gt; <span 
class="prelude-ty">Result</span>&lt;bool&gt; {
         <span class="kw">let </span>(op, relative_path) = <span 
class="self">self</span>.inner.create_operator(<span 
class="kw-2">&amp;</span>path)<span class="question-mark">?</span>;
-        <span class="prelude-val">Ok</span>(op.is_exist(relative_path).<span 
class="kw">await</span><span class="question-mark">?</span>)
+        <span class="prelude-val">Ok</span>(op.exists(relative_path).<span 
class="kw">await</span><span class="question-mark">?</span>)
     }
 
     <span class="doccomment">/// Creates input file.
@@ -753,10 +747,7 @@
 
     <span class="doccomment">/// Check if file exists.
     </span><span class="kw">pub async fn </span>exists(<span 
class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span 
class="kw">crate</span>::Result&lt;bool&gt; {
-        <span class="prelude-val">Ok</span>(<span class="self">self
-            </span>.op
-            .is_exist(<span class="kw-2">&amp;</span><span 
class="self">self</span>.path[<span 
class="self">self</span>.relative_path_pos..])
-            .<span class="kw">await</span><span class="question-mark">?</span>)
+        <span class="prelude-val">Ok</span>(<span 
class="self">self</span>.op.exists(<span class="kw-2">&amp;</span><span 
class="self">self</span>.path[<span 
class="self">self</span>.relative_path_pos..]).<span 
class="kw">await</span><span class="question-mark">?</span>)
     }
 
     <span class="doccomment">/// Fetch and returns metadata of file.
@@ -835,10 +826,7 @@
 
     <span class="doccomment">/// Checks if file exists.
     </span><span class="kw">pub async fn </span>exists(<span 
class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span 
class="kw">crate</span>::Result&lt;bool&gt; {
-        <span class="prelude-val">Ok</span>(<span class="self">self
-            </span>.op
-            .is_exist(<span class="kw-2">&amp;</span><span 
class="self">self</span>.path[<span 
class="self">self</span>.relative_path_pos..])
-            .<span class="kw">await</span><span class="question-mark">?</span>)
+        <span class="prelude-val">Ok</span>(<span 
class="self">self</span>.op.exists(<span class="kw-2">&amp;</span><span 
class="self">self</span>.path[<span 
class="self">self</span>.relative_path_pos..]).<span 
class="kw">await</span><span class="question-mark">?</span>)
     }
 
     <span class="doccomment">/// Converts into [`InputFile`].
@@ -938,15 +926,15 @@
         write_to_file(<span class="string">"Iceberg loves rust."</span>, <span 
class="kw-2">&amp;</span>c_path);
 
         <span class="kw">let </span>file_io = create_local_file_io();
-        <span class="macro">assert!</span>(file_io.is_exist(<span 
class="kw-2">&amp;</span>a_path).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(file_io.exists(<span 
class="kw-2">&amp;</span>a_path).<span class="kw">await</span>.unwrap());
 
         file_io.remove_all(<span class="kw-2">&amp;</span>sub_dir_path).<span 
class="kw">await</span>.unwrap();
-        <span class="macro">assert!</span>(!file_io.is_exist(<span 
class="kw-2">&amp;</span>b_path).<span class="kw">await</span>.unwrap());
-        <span class="macro">assert!</span>(!file_io.is_exist(<span 
class="kw-2">&amp;</span>c_path).<span class="kw">await</span>.unwrap());
-        <span class="macro">assert!</span>(file_io.is_exist(<span 
class="kw-2">&amp;</span>a_path).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(!file_io.exists(<span 
class="kw-2">&amp;</span>b_path).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(!file_io.exists(<span 
class="kw-2">&amp;</span>c_path).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(file_io.exists(<span 
class="kw-2">&amp;</span>a_path).<span class="kw">await</span>.unwrap());
 
         file_io.delete(<span class="kw-2">&amp;</span>a_path).<span 
class="kw">await</span>.unwrap();
-        <span class="macro">assert!</span>(!file_io.is_exist(<span 
class="kw-2">&amp;</span>a_path).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(!file_io.exists(<span 
class="kw-2">&amp;</span>a_path).<span class="kw">await</span>.unwrap());
     }
 
     <span class="attr">#[tokio::test]
@@ -957,7 +945,7 @@
         <span class="kw">let </span>full_path = <span 
class="macro">format!</span>(<span class="string">"{}/{}"</span>, 
tmp_dir.path().to_str().unwrap(), file_name);
 
         <span class="kw">let </span>file_io = create_local_file_io();
-        <span class="macro">assert!</span>(!file_io.is_exist(<span 
class="kw-2">&amp;</span>full_path).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(!file_io.exists(<span 
class="kw-2">&amp;</span>full_path).<span class="kw">await</span>.unwrap());
         <span class="macro">assert!</span>(file_io.delete(<span 
class="kw-2">&amp;</span>full_path).<span class="kw">await</span>.is_ok());
         <span class="macro">assert!</span>(file_io.remove_all(<span 
class="kw-2">&amp;</span>full_path).<span class="kw">await</span>.is_ok());
     }
@@ -1013,13 +1001,13 @@
         <span class="kw">let </span>output_file = io.new_output(<span 
class="kw-2">&amp;</span>path).unwrap();
         output_file.write(<span class="string">"test"</span>.into()).<span 
class="kw">await</span>.unwrap();
 
-        <span class="macro">assert!</span>(io.is_exist(<span 
class="kw-2">&amp;</span>path.clone()).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(io.exists(<span 
class="kw-2">&amp;</span>path.clone()).<span class="kw">await</span>.unwrap());
         <span class="kw">let </span>input_file = io.new_input(<span 
class="kw-2">&amp;</span>path).unwrap();
         <span class="kw">let </span>content = input_file.read().<span 
class="kw">await</span>.unwrap();
         <span class="macro">assert_eq!</span>(content, Bytes::from(<span 
class="string">"test"</span>));
 
         io.delete(<span class="kw-2">&amp;</span>path).<span 
class="kw">await</span>.unwrap();
-        <span class="macro">assert!</span>(!io.is_exist(<span 
class="kw-2">&amp;</span>path).<span class="kw">await</span>.unwrap());
+        <span class="macro">assert!</span>(!io.exists(<span 
class="kw-2">&amp;</span>path).<span class="kw">await</span>.unwrap());
     }
 }
 </code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/api/src/iceberg/io/mod.rs.html b/api/src/iceberg/io/mod.rs.html
index 749da9d1..592f9b7e 100644
--- a/api/src/iceberg/io/mod.rs.html
+++ b/api/src/iceberg/io/mod.rs.html
@@ -152,7 +152,7 @@
 //! Currently `FileIO` provides simple methods for file operations:
 //!
 //! - `delete`: Delete file.
-//! - `is_exist`: Check if file exists.
+//! - `exists`: Check if file exists.
 //! - `new_input`: Create input file for reading.
 //! - `new_output`: Create output file for writing.
 

Reply via email to