You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by gi...@apache.org on 2024/09/23 10:37:20 UTC
(iceberg-rust) branch gh-pages updated: deploy: e967deb333a2c666218c48cd6f4870fbe7e535bd
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 c6458813 deploy: e967deb333a2c666218c48cd6f4870fbe7e535bd
c6458813 is described below
commit c6458813aa4f5be90b2d07b15d672d18b0bcc99a
Author: Xuanwo <Xu...@users.noreply.github.com>
AuthorDate: Mon Sep 23 10:37:15 2024 +0000
deploy: e967deb333a2c666218c48cd6f4870fbe7e535bd
---
api/help.html | 2 +-
api/iceberg/enum.ErrorKind.html | 2 +-
api/iceberg/expr/enum.Predicate.html | 4 +-
api/iceberg/expr/enum.PredicateOperator.html | 4 +-
api/iceberg/expr/struct.BinaryExpression.html | 4 +-
api/iceberg/expr/struct.Reference.html | 4 +-
api/iceberg/expr/struct.UnaryExpression.html | 4 +-
api/iceberg/io/struct.FileIO.html | 33 +++++++--
api/iceberg/io/struct.FileIOBuilder.html | 14 ++--
api/iceberg/io/struct.FileMetadata.html | 2 +-
api/iceberg/io/struct.InputFile.html | 14 ++--
api/iceberg/io/struct.OutputFile.html | 14 ++--
api/iceberg/io/trait.FileRead.html | 6 +-
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.PrimitiveType.html | 4 +-
api/iceberg/spec/enum.SortDirection.html | 4 +-
api/iceberg/spec/enum.SortOrderBuilderError.html | 2 +-
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.SortField.html | 4 +-
api/iceberg/spec/struct.StructType.html | 4 +-
api/iceberg/struct.Error.html | 2 +-
api/search-index.js | 2 +-
api/search.desc/iceberg/iceberg-desc-0-.js | 2 +-
api/settings.html | 2 +-
api/src/iceberg/io/file_io.rs.html | 90 +++++++++++++++++++++---
29 files changed, 170 insertions(+), 77 deletions(-)
diff --git a/api/help.html b/api/help.html
index 886bccc7..b3855f23 100644
--- a/api/help.html
+++ b/api/help.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
diff --git a/api/iceberg/enum.ErrorKind.html b/api/iceberg/enum.ErrorKind.html
index 2e8a6b0c..7ffee91a 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.Predicate.html b/api/iceberg/expr/enum.Predicate.html
index 95ba266c..7d69fd80 100644
--- a/api/iceberg/expr/enum.Predicate.html
+++ b/api/iceberg/expr/enum.Predicate.html
@@ -82,8 +82,8 @@ predicates.</p>
&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>,
-) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="enum" href="enum.BoundPredicate.html" title="enum iceberg::expr::BoundPredicate">BoundPredicate</a>></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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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 [...]
+) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="enum" href="enum.BoundPredicate.html" title="enum iceberg::expr::BoundPredicate">BoundPredicate</a>></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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Displ [...]
<p>This is different from <a href="enum.Predicate.html#method.negate" title="method iceberg::expr::Predicate::negate"><code>Predicate::negate()</code></a> since it doesn’t rewrite expression, but
just adds a <code>NOT</code> operator.</p>
<h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example</h5>
diff --git a/api/iceberg/expr/enum.PredicateOperator.html b/api/iceberg/expr/enum.PredicateOperator.html
index 43ae7cdf..4c31fae0 100644
--- a/api/iceberg/expr/enum.PredicateOperator.html
+++ b/api/iceberg/expr/enum.PredicateOperator.html
@@ -38,8 +38,8 @@
<span class="macro">assert!</span>(PredicateOperator::Eq.negate() == PredicateOperator::NotEq);
<span class="macro">assert!</span>(PredicateOperator::In.negate() == PredicateOperator::NotIn);
<span class="macro">assert!</span>(PredicateOperator::StartsWith.negate() == PredicateOperator::NotStartsWith);</code></pre></div>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PredicateOperator" class="impl"><a class="src rightside" href="../../src/iceberg/expr/mod.rs.html#37">source</a><a href="#impl-Clone-for-PredicateOperator" class="anchor">§</a><h3 class="code-header [...]
- __D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PredicateOperator" class="impl"><a class="src rightside" href="../../src/iceberg/expr/mod.rs.html#37">source</a><a href="#impl-Clone-for-PredicateOperator" class="anchor">§</a><h3 class="code-header [...]
+ __D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Displ [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-PredicateOperator" class="impl"><a class="src rightside" href="../../src/iceberg/expr/mod.rs.html#37">source</a><a href="#impl-Serialize-for-PredicateOperator" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.210/serde/ser/trait.Serialize.html" title="tra [...]
__S: <a class="trait" href="https://docs.rs/serde/1.0.210/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.210/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-PredicateOperator" class="impl"><a class="src rightside" href="../../src/ice [...]
diff --git a/api/iceberg/expr/struct.BinaryExpression.html b/api/iceberg/expr/struct.BinaryExpression.html
index b19c116a..790051b4 100644
--- a/api/iceberg/expr/struct.BinaryExpression.html
+++ b/api/iceberg/expr/struct.BinaryExpression.html
@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Binary predicate, for example, `a > 10`."><title>BinaryExpression in iceberg::expr - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Bind-for-BinaryExpression%3CT%3E" class="impl"><a class="src rightside" href="../../src/iceberg/expr/predicate.rs.html#200-211">source</a><a href="#impl-Bind-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3 class="code-header" [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Bind-for-BinaryExpression%3CT%3E" class="impl"><a class="src rightside" href="../../src/iceberg/expr/predicate.rs.html#200-211">source</a><a href="#impl-Bind-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3 class="code-header" [...]
T: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a hr [...]
- __D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Displ [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BinaryExpression%3CT%3E" class="impl"><a class="src rightside" href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a href="#impl-Serialize-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.210/serde/ser/trai [...]
T: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs [...]
diff --git a/api/iceberg/expr/struct.Reference.html b/api/iceberg/expr/struct.Reference.html
index d8ece61e..70a77fe6 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 > 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">&</span>as_string == <span class="string">"a NOT IN (5, 6)" </span>|| <span class="kw-2">&</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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/ser/trait.Serialize.html" title="trait serde::ser:: [...]
__S: <a class="trait" href="https://docs.rs/serde/1.0.210/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.210/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 e9faf0f7..fb84b98a 100644
--- a/api/iceberg/expr/struct.UnaryExpression.html
+++ b/api/iceberg/expr/struct.UnaryExpression.html
@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Unary predicate, for example, `a IS NULL`."><title>UnaryExpression in iceberg::expr - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-M [...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Bind-for-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 class="code-header">i [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Bind-for-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 class="code-header">i [...]
T: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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<T> <a class="trait" href="https://docs.rs/serde/1.0.210/serde/ser/trait. [...]
T: <a class="trait" href="https://docs.rs/serde/1.0.210/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/struct.FileIO.html b/api/iceberg/io/struct.FileIO.html
index 591c1bda..419b381f 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>
@@ -9,16 +9,37 @@ For example, if you construct <code>FileIO</code> with <code>s3a</code> scheme,
<tr><td>S3</td><td><code>storage-s3</code></td><td><code>s3</code>, <code>s3a</code></td></tr>
<tr><td>GCS</td><td><code>storage-gcs</code></td><td><code>gs</code></td></tr>
</tbody></table>
-</div></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-FileIO" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#49-108">source</a><a href="#impl-FileIO" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.FileIO.html" title="struct iceberg::io [...]
+</div></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-FileIO" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#49-134">source</a><a href="#impl-FileIO" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.FileIO.html" title="struct iceberg::io [...]
<ul>
<li>If it’s a valid url, for example <code>s3://bucket/a</code>, url scheme will be used, and the rest of the url will be ignored.</li>
<li>If it’s not a valid url, will try to detect if it’s a file path.</li>
</ul>
<p>Otherwise will return parsing error.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.delete" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#74-77">source</a><h4 class="code-header">pub async fn <a href="#method.delete" class="fn">delete</a>(&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><<a class="primitive" href="https://doc.rust-lang.org/n [...]
-</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#80-83">source</a><h4 class="code-header">pub async fn <a href="#method.is_exist" class="fn">is_exist</a>(&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><<a class="primitive" href="https://doc.rust-lang [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_input" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#86-95">source</a><h4 class="code-header">pub fn <a href="#method.new_input" class="fn">new_input</a>(&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><<a class="primitive" href="https://doc.rust-lang.or [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_output" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#98-107">source</a><h4 class="code-header">pub fn <a href="#method.new_output" class="fn">new_output</a>(&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><<a class="primitive" href="https://doc.rust-lan [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.delete" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#78-81">source</a><h4 class="code-header">pub async fn <a href="#method.delete" class="fn">delete</a>(&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><<a class="primitive" href="https://doc.rust-lang.org/n [...]
+<h5 id="arguments"><a class="doc-anchor" href="#arguments">§</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>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_all" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#88-91">source</a><h4 class="code-header">pub async fn <a href="#method.remove_all" class="fn">remove_all</a>(&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><<a class="primitive" href="https://doc.rus [...]
+<h5 id="arguments-1"><a class="doc-anchor" href="#arguments-1">§</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>
+</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>(&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><<a class="primitive" href="https://doc.rust-lan [...]
+<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>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_input" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#108-117">source</a><h4 class="code-header">pub fn <a href="#method.new_input" class="fn">new_input</a>(&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><<a class="primitive" href="https://doc.rust-lang. [...]
+<h5 id="arguments-3"><a class="doc-anchor" href="#arguments-3">§</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>
+</ul>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_output" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#124-133">source</a><h4 class="code-header">pub fn <a href="#method.new_output" class="fn">new_output</a>(&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><<a class="primitive" href="https://doc.rust-la [...]
+<h5 id="arguments-4"><a class="doc-anchor" href="#arguments-4">§</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>
+</ul>
</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-FileIO" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#44">source</a><a href="#impl-Clone-for-FileIO" class="anchor">§</a><h3 class="code-header">impl <a class="tra [...]
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:/ [...]
diff --git a/api/iceberg/io/struct.FileIOBuilder.html b/api/iceberg/io/struct.FileIOBuilder.html
index 599ab640..ac0cbc8e 100644
--- a/api/iceberg/io/struct.FileIOBuilder.html
+++ b/api/iceberg/io/struct.FileIOBuilder.html
@@ -1,14 +1,14 @@
-<!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="Builder for `FileIO`."><title>FileIOBuilder 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.wo [...]
-</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-FileIOBuilder" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#121-169">source</a><a href="#impl-FileIOBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.FileIOBuilder.html" title="st [...]
+<!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="Builder for `FileIO`."><title>FileIOBuilder 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.wo [...]
+</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-FileIOBuilder" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#147-195">source</a><a href="#impl-FileIOBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.FileIOBuilder.html" title="st [...]
See <a href="struct.FileIO.html" title="struct iceberg::io::FileIO"><code>FileIO</code></a> for supported schemes.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new_fs_io" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#132-137">source</a><h4 class="code-header">pub fn <a href="#method.new_fs_io" class="fn">new_fs_io</a>() -> Self</h4></section></summary><div class="docblock"><p>Creates a new builder for local file io.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_prop" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#147-150">source</a><h4 class="code-header">pub fn <a href="#method.with_prop" class="fn">with_prop</a>(self, key: impl <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, value: impl <a class="trait" href="https://doc.r [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_props" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#153-160">source</a><h4 class="code-header">pub fn <a href="#method.with_props" class="fn">with_props</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new_fs_io" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#158-163">source</a><h4 class="code-header">pub fn <a href="#method.new_fs_io" class="fn">new_fs_io</a>() -> Self</h4></section></summary><div class="docblock"><p>Creates a new builder for local file io.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_prop" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#173-176">source</a><h4 class="code-header">pub fn <a href="#method.with_prop" class="fn">with_prop</a>(self, key: impl <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, value: impl <a class="trait" href="https://doc.r [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_props" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#179-186">source</a><h4 class="code-header">pub fn <a href="#method.with_props" class="fn">with_props</a>(
self,
args: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (impl <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, impl <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToSt [...]
) -> Self</h4></section></summary><div class="docblock"><p>Add argument for operator.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#163-168">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="struct" href="struct.FileIO.html" title="struct iceberg::io::FileIO">FileIO</a>></h4></section></summary><di [...]
-</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-FileIOBuilder" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#111">source</a><a href="#impl-Debug-for-FileIOBuilder" class="anchor">§</a><h3 class="code-header">imp [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#189-194">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="struct" href="struct.FileIO.html" title="struct iceberg::io::FileIO">FileIO</a>></h4></section></summary><di [...]
+</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-FileIOBuilder" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#137">source</a><a href="#impl-Debug-for-FileIOBuilder" class="anchor">§</a><h3 class="code-header">imp [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</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/struct.FileMetadata.html b/api/iceberg/io/struct.FileMetadata.html
index 0d594b4c..c7bf4847 100644
--- a/api/iceberg/io/struct.FileMetadata.html
+++ b/api/iceberg/io/struct.FileMetadata.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="The struct the represents the metadata of a file."><title>FileMetadata 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 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The struct the represents the metadata of a file."><title>FileMetadata 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 [...]
pub size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The struct the represents the metadata of a file.</p>
<p>TODO: we can add last modified time, content type, etc. in the future.</p>
diff --git a/api/iceberg/io/struct.InputFile.html b/api/iceberg/io/struct.InputFile.html
index 759c611a..24706be7 100644
--- a/api/iceberg/io/struct.InputFile.html
+++ b/api/iceberg/io/struct.InputFile.html
@@ -1,12 +1,12 @@
-<!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#210-250">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#217-222">source</a><h4 class="code-header">pub async fn <a href="#method.exists" class="fn">exists</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>></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#225-231">source</a><h4 class="code-header">pub async fn <a href="#method.metadata" class="fn">metadata</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<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#236-242">source</a><h4 class="code-header">pub async fn <a href="#method.read" class="fn">read</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><Bytes></h4></section></summary><div class="docblock"><p>Read and returns whole content of file.</p>
+<!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>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>></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>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<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>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><Bytes></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#247-249">source</a><h4 class="code-header">pub async fn <a href="#method.reader" class="fn">reader</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><impl <a class="trait" href="trait.FileRead.html" title="trait iceberg::io::FileRead">FileRead</a>></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#273-275">source</a><h4 class="code-header">pub async fn <a href="#method.reader" class="fn">reader</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><impl <a class="trait" href="trait.FileRead.html" title="trait iceberg::io::FileRead">FileRead</a>></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#201">source</a><a href="#impl-Debug-for-InputFile" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
+</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 [...]
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/struct.OutputFile.html b/api/iceberg/io/struct.OutputFile.html
index b5444562..df5814bd 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#292-337">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#299-304">source</a><h4 class="code-header">pub async fn <a href="#method.exists" class="fn">exists</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>></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#307-313">source</a><h4 class="code-header">pub fn <a href="#method.to_input_file" class="fn">to_input_file</a>(self) -> <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#321-325">source</a><h4 class="code-header">pub async fn <a href="#method.write" class="fn">write</a>(&self, bs: Bytes) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></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#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>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>></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) -> <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>(&self, bs: Bytes) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></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#332-336">source</a><h4 class="code-header">pub async fn <a href="#method.writer" class="fn">writer</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<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#358-362">source</a><h4 class="code-header">pub async fn <a href="#method.writer" class="fn">writer</a>(&self) -> <a class="type" href="../type.Result.html" title="type iceberg::Result">Result</a><<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#283">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#309">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.FileRead.html b/api/iceberg/io/trait.FileRead.html
index 960a3c8a..0e3e1017 100644
--- a/api/iceberg/io/trait.FileRead.html
+++ b/api/iceberg/io/trait.FileRead.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 reading file."><title>FileRead 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.woff2 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for reading file."><title>FileRead 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.woff2 [...]
// Required method
fn <a href="#tymethod.read" class="fn">read</a><'life0, 'async_trait>(
&'life0 self,
@@ -10,14 +10,14 @@
<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.read" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#190">source</a><h4 class="code-header">fn <a href="#tymethod.read" class="fn">read</a><'life0, 'async_trait>(
+</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.read" class="method"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#216">source</a><h4 class="code-header">fn <a href="#tymethod.read" class="fn">read</a><'life0, 'async_trait>(
&'life0 self,
range: <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>>,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><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><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>Read file content with given range.</p>
<p>TODO: we can support reading non-contiguous bytes in the future.</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-FileRead-for-Reader" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#194-198">source</a><a href="#impl-FileRead-for-Reader" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FileRead.html" title="trait iceberg: [...]
+</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-FileRead-for-Reader" class="impl"><a class="src rightside" href="../../src/iceberg/io/file_io.rs.html#220-224">source</a><a href="#impl-FileRead-for-Reader" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FileRead.html" title="trait iceberg: [...]
&'life0 self,
range: <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>>,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><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><Output = <a class="type" href="../type.Result.html" title="type iceberg: [...]
diff --git a/api/iceberg/io/trait.FileWrite.html b/api/iceberg/io/trait.FileWrite.html
index 55bc8afe..e4616767 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><'life0, 'async_trait>(
&'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#263">source</a><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a><'life0, 'async_trait>(
+</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><'life0, 'async_trait>(
&'life0 mut self,
bs: Bytes,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><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><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#268">source</a><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a><'life0, 'async_trait>(
+</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><'life0, 'async_trait>(
&'life0 mut self,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><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><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#272-280">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#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 [...]
&'life0 mut self,
bs: Bytes,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><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><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#277-279">source</a><a href="#method.close" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.close" class="fn">close</a><'life0, '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><'life0, 'async_trait>(
&'life0 mut self,
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><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><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 7eeb8349..bcdc868e 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>(&self) -> &(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 d2fc7ae3..dd923e71 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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.PrimitiveType.html b/api/iceberg/spec/enum.PrimitiveType.html
index bb03ba07..10e1d525 100644
--- a/api/iceberg/spec/enum.PrimitiveType.html
+++ b/api/iceberg/spec/enum.PrimitiveType.html
@@ -45,8 +45,8 @@
__deserializer: __D,
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="enum.PrimitiveType.html" title="enum iceberg::spec::PrimitiveType">PrimitiveType</a>, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
__D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PrimitiveType-2" class="impl"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#242-265">source</a><a href="#impl-PrimitiveType-2" class="anchor">§</a><h3 class="code-header">impl <a class="enum" [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PrimitiveType" class="impl"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#200">source</a><a href="#impl-Clone-for-PrimitiveType" class="anchor">§</a><h3 class="code-header" [...]
- D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PrimitiveType" class="impl"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#200">source</a><a href="#impl-Clone-for-PrimitiveType" class="anchor">§</a><h3 class="code-header" [...]
+ D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display [...]
H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></d [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
diff --git a/api/iceberg/spec/enum.SortDirection.html b/api/iceberg/spec/enum.SortDirection.html
index 424e379c..c4963f97 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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/ser/trait.Serialize.html" title="trait serd [...]
__S: <a class="trait" href="https://docs.rs/serde/1.0.210/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.210/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 65d194bb..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>(&self) -> &(dyn <a class="trait" href="https://doc [...]
to benefit from Rust’s automatic dereferencing of method
diff --git a/api/iceberg/spec/enum.Type.html b/api/iceberg/spec/enum.Type.html
index 574e2795..00949f0d 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>(&self) -> <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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/ser/trait.Serialize.html" title="trait serde::ser:: [...]
S: <a class="trait" href="https://docs.rs/serde/1.0.210/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.210/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 bf7c0fea..dc4d8f39 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>(&self) -> &<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>(&self) -> <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 f91ae52a..adf19fb1 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>) -> 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>) -> 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>) -> 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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/ser/trait.Serialize.html" title="trait se [...]
__S: <a class="trait" href="https://docs.rs/serde/1.0.210/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.210/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.SortField.html b/api/iceberg/spec/struct.SortField.html
index fd9083a3..47da34c4 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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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.210/serde/ser/trait.Serialize.html" title="trait serde::ser:: [...]
__S: <a class="trait" href="https://docs.rs/serde/1.0.210/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.210/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/spec/struct.StructType.html b/api/iceberg/spec/struct.StructType.html
index 0a8830f8..2103ad1a 100644
--- a/api/iceberg/spec/struct.StructType.html
+++ b/api/iceberg/spec/struct.StructType.html
@@ -3,8 +3,8 @@
</div></details><details class="toggle method-toggle" open><summary><section id="method.field_by_id" class="method"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#448-450">source</a><h4 class="code-header">pub fn <a href="#method.field_by_id" class="fn">field_by_id</a>(&self, id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.ht [...]
</div></details><details class="toggle method-toggle" open><summary><section id="method.field_by_name" class="method"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#462-464">source</a><h4 class="code-header">pub fn <a href="#method.field_by_name" class="fn">field_by_name</a>(&self, name: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/e [...]
</div></details><details class="toggle method-toggle" open><summary><section id="method.fields" class="method"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#481-483">source</a><h4 class="code-header">pub fn <a href="#method.fields" class="fn">fields</a>(&self) -> &[<a class="type" href="type.NestedFieldRef.html" title="type iceberg::spec::NestedFieldRef">NestedFieldRef</a>]</h4></section></summary><div class="docblock"><p>Get fields.</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-StructType" class="impl"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#380">source</a><a href="#impl-Clone-for-StructType" class="anchor">§</a><h3 class="code-header">impl [...]
- D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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-StructType" class="impl"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#380">source</a><a href="#impl-Clone-for-StructType" class="anchor">§</a><h3 class="code-header">impl [...]
+ D: <a class="trait" href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.210/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-StructType" class="impl"><a class="src rightside" href="../../src/iceberg/spec/datatypes.rs.html#380">source</a><a href="#impl-Serialize-for-StructType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.210/serde/ser/trait.Serialize.html" title="trait serd [...]
__S: <a class="trait" href="https://docs.rs/serde/1.0.210/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.210/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Eq-for-StructType" 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 21164920..240cf4cc 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>(&self) -> <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>(&self) -> &<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>(&self) -> &(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 32cdd7b8..87a49abb 100644
--- a/api/search-index.js
+++ b/api/search-index.js
@@ -1,5 +1,5 @@
var searchIndex = new Map(JSON.parse('[\
-["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNHNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN [...]
+["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNHNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN [...]
["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 4bf358fa..7057f68b 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/settings.html b/api/settings.html
index 430a9162..0b4d7eab 100644
--- a/api/settings.html
+++ b/api/settings.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ No newline at end of file
diff --git a/api/src/iceberg/io/file_io.rs.html b/api/src/iceberg/io/file_io.rs.html
index 6c2bdca1..d7f39d4a 100644
--- a/api/src/iceberg/io/file_io.rs.html
+++ b/api/src/iceberg/io/file_io.rs.html
@@ -455,6 +455,42 @@
<a href="#455" id="455">455</a>
<a href="#456" id="456">456</a>
<a href="#457" id="457">457</a>
+<a href="#458" id="458">458</a>
+<a href="#459" id="459">459</a>
+<a href="#460" id="460">460</a>
+<a href="#461" id="461">461</a>
+<a href="#462" id="462">462</a>
+<a href="#463" id="463">463</a>
+<a href="#464" id="464">464</a>
+<a href="#465" id="465">465</a>
+<a href="#466" id="466">466</a>
+<a href="#467" id="467">467</a>
+<a href="#468" id="468">468</a>
+<a href="#469" id="469">469</a>
+<a href="#470" id="470">470</a>
+<a href="#471" id="471">471</a>
+<a href="#472" id="472">472</a>
+<a href="#473" id="473">473</a>
+<a href="#474" id="474">474</a>
+<a href="#475" id="475">475</a>
+<a href="#476" id="476">476</a>
+<a href="#477" id="477">477</a>
+<a href="#478" id="478">478</a>
+<a href="#479" id="479">479</a>
+<a href="#480" id="480">480</a>
+<a href="#481" id="481">481</a>
+<a href="#482" id="482">482</a>
+<a href="#483" id="483">483</a>
+<a href="#484" id="484">484</a>
+<a href="#485" id="485">485</a>
+<a href="#486" id="486">486</a>
+<a href="#487" id="487">487</a>
+<a href="#488" id="488">488</a>
+<a href="#489" id="489">489</a>
+<a href="#490" id="490">490</a>
+<a href="#491" id="491">491</a>
+<a href="#492" id="492">492</a>
+<a href="#493" id="493">493</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
@@ -528,18 +564,40 @@
}
<span class="doccomment">/// Deletes file.
+ ///
+ /// # Arguments
+ ///
+ /// * path: It should be *absolute* path starting with scheme string used to construct [`FileIO`].
</span><span class="kw">pub async fn </span>delete(<span class="kw-2">&</span><span class="self">self</span>, path: <span class="kw">impl </span>AsRef<str>) -> <span class="prelude-ty">Result</span><()> {
<span class="kw">let </span>(op, relative_path) = <span class="self">self</span>.inner.create_operator(<span class="kw-2">&</span>path)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(op.delete(relative_path).<span class="kw">await</span><span class="question-mark">?</span>)
}
+ <span class="doccomment">/// Remove the path and all nested dirs and files recursively.
+ ///
+ /// # Arguments
+ ///
+ /// * path: It should be *absolute* path starting with scheme string used to construct [`FileIO`].
+ </span><span class="kw">pub async fn </span>remove_all(<span class="kw-2">&</span><span class="self">self</span>, path: <span class="kw">impl </span>AsRef<str>) -> <span class="prelude-ty">Result</span><()> {
+ <span class="kw">let </span>(op, relative_path) = <span class="self">self</span>.inner.create_operator(<span class="kw-2">&</span>path)<span class="question-mark">?</span>;
+ <span class="prelude-val">Ok</span>(op.remove_all(relative_path).<span class="kw">await</span><span class="question-mark">?</span>)
+ }
+
<span class="doccomment">/// Check file exists.
+ ///
+ /// # 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">&</span><span class="self">self</span>, path: <span class="kw">impl </span>AsRef<str>) -> <span class="prelude-ty">Result</span><bool> {
<span class="kw">let </span>(op, relative_path) = <span class="self">self</span>.inner.create_operator(<span class="kw-2">&</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="doccomment">/// Creates input file.
+ ///
+ /// # Arguments
+ ///
+ /// * path: It should be *absolute* path starting with scheme string used to construct [`FileIO`].
</span><span class="kw">pub fn </span>new_input(<span class="kw-2">&</span><span class="self">self</span>, path: <span class="kw">impl </span>AsRef<str>) -> <span class="prelude-ty">Result</span><InputFile> {
<span class="kw">let </span>(op, relative_path) = <span class="self">self</span>.inner.create_operator(<span class="kw-2">&</span>path)<span class="question-mark">?</span>;
<span class="kw">let </span>path = path.as_ref().to_string();
@@ -552,6 +610,10 @@
}
<span class="doccomment">/// Creates output file.
+ ///
+ /// # Arguments
+ ///
+ /// * path: It should be *absolute* path starting with scheme string used to construct [`FileIO`].
</span><span class="kw">pub fn </span>new_output(<span class="kw-2">&</span><span class="self">self</span>, path: <span class="kw">impl </span>AsRef<str>) -> <span class="prelude-ty">Result</span><OutputFile> {
<span class="kw">let </span>(op, relative_path) = <span class="self">self</span>.inner.create_operator(<span class="kw-2">&</span>path)<span class="question-mark">?</span>;
<span class="kw">let </span>path = path.as_ref().to_string();
@@ -795,7 +857,7 @@
<span class="attr">#[cfg(test)]
</span><span class="kw">mod </span>tests {
- <span class="kw">use </span>std::fs::File;
+ <span class="kw">use </span>std::fs::{create_dir_all, File};
<span class="kw">use </span>std::io::Write;
<span class="kw">use </span>std::path::Path;
@@ -810,6 +872,7 @@
}
<span class="kw">fn </span>write_to_file<P: AsRef<Path>>(s: <span class="kw-2">&</span>str, path: P) {
+ create_dir_all(path.as_ref().parent().unwrap()).unwrap();
<span class="kw">let </span><span class="kw-2">mut </span>f = File::create(path).unwrap();
<span class="macro">write!</span>(f, <span class="string">"{s}"</span>).unwrap();
}
@@ -846,16 +909,24 @@
</span><span class="kw">async fn </span>test_delete_local_file() {
<span class="kw">let </span>tmp_dir = TempDir::new().unwrap();
- <span class="kw">let </span>file_name = <span class="string">"a.txt"</span>;
- <span class="kw">let </span>content = <span class="string">"Iceberg loves rust."</span>;
-
- <span class="kw">let </span>full_path = <span class="macro">format!</span>(<span class="string">"{}/{}"</span>, tmp_dir.path().to_str().unwrap(), file_name);
- write_to_file(content, <span class="kw-2">&</span>full_path);
+ <span class="kw">let </span>a_path = <span class="macro">format!</span>(<span class="string">"{}/{}"</span>, tmp_dir.path().to_str().unwrap(), <span class="string">"a.txt"</span>);
+ <span class="kw">let </span>sub_dir_path = <span class="macro">format!</span>(<span class="string">"{}/sub"</span>, tmp_dir.path().to_str().unwrap());
+ <span class="kw">let </span>b_path = <span class="macro">format!</span>(<span class="string">"{}/{}"</span>, sub_dir_path, <span class="string">"b.txt"</span>);
+ <span class="kw">let </span>c_path = <span class="macro">format!</span>(<span class="string">"{}/{}"</span>, sub_dir_path, <span class="string">"c.txt"</span>);
+ write_to_file(<span class="string">"Iceberg loves rust."</span>, <span class="kw-2">&</span>a_path);
+ write_to_file(<span class="string">"Iceberg loves rust."</span>, <span class="kw-2">&</span>b_path);
+ write_to_file(<span class="string">"Iceberg loves rust."</span>, <span class="kw-2">&</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">&</span>full_path).<span class="kw">await</span>.unwrap());
- file_io.delete(<span class="kw-2">&</span>full_path).<span class="kw">await</span>.unwrap();
- <span class="macro">assert!</span>(!file_io.is_exist(<span class="kw-2">&</span>full_path).<span class="kw">await</span>.unwrap());
+ <span class="macro">assert!</span>(file_io.is_exist(<span class="kw-2">&</span>a_path).<span class="kw">await</span>.unwrap());
+
+ file_io.remove_all(<span class="kw-2">&</span>sub_dir_path).<span class="kw">await</span>.unwrap();
+ <span class="macro">assert!</span>(!file_io.is_exist(<span class="kw-2">&</span>b_path).<span class="kw">await</span>.unwrap());
+ <span class="macro">assert!</span>(!file_io.is_exist(<span class="kw-2">&</span>c_path).<span class="kw">await</span>.unwrap());
+ <span class="macro">assert!</span>(file_io.is_exist(<span class="kw-2">&</span>a_path).<span class="kw">await</span>.unwrap());
+
+ file_io.delete(<span class="kw-2">&</span>a_path).<span class="kw">await</span>.unwrap();
+ <span class="macro">assert!</span>(!file_io.is_exist(<span class="kw-2">&</span>a_path).<span class="kw">await</span>.unwrap());
}
<span class="attr">#[tokio::test]
@@ -868,6 +939,7 @@
<span class="kw">let </span>file_io = create_local_file_io();
<span class="macro">assert!</span>(!file_io.is_exist(<span class="kw-2">&</span>full_path).<span class="kw">await</span>.unwrap());
<span class="macro">assert!</span>(file_io.delete(<span class="kw-2">&</span>full_path).<span class="kw">await</span>.is_ok());
+ <span class="macro">assert!</span>(file_io.remove_all(<span class="kw-2">&</span>full_path).<span class="kw">await</span>.is_ok());
}
<span class="attr">#[tokio::test]