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 141ab77d deploy: 3cc1a685743142ddea04c81ebc4be0ec6a34168a
141ab77d is described below
commit 141ab77da424f9b5fc0c9e7deaa9ec4122d1099c
Author: liurenjie1024 <[email protected]>
AuthorDate: Fri Mar 14 02:41:45 2025 +0000
deploy: 3cc1a685743142ddea04c81ebc4be0ec6a34168a
---
api/help.html | 2 +-
api/iceberg/expr/enum.BoundPredicate.html | 4 +-
api/iceberg/expr/enum.Predicate.html | 4 +-
api/iceberg/expr/struct.SetExpression.html | 4 +-
api/iceberg/expr/struct.UnaryExpression.html | 4 +-
api/iceberg/spec/enum.DataFileBuilderError.html | 2 +-
api/iceberg/spec/enum.DataFileFormat.html | 4 +-
api/iceberg/spec/enum.NullOrder.html | 4 +-
api/iceberg/spec/enum.SortDirection.html | 4 +-
api/iceberg/spec/enum.SortOrderBuilderError.html | 2 +-
api/iceberg/spec/enum.Transform.html | 4 +-
api/iceberg/spec/enum.Type.html | 4 +-
api/iceberg/spec/enum.ViewFormatVersion.html | 4 +-
api/iceberg/spec/struct.Datum.html | 2 +-
api/iceberg/spec/struct.SortField.html | 4 +-
api/iceberg/struct.Error.html | 2 +-
api/iceberg/struct.NamespaceIdent.html | 4 +-
api/iceberg/struct.TableIdent.html | 4 +-
.../writer/file_writer/struct.ParquetWriter.html | 4 +-
.../file_writer/struct.ParquetWriterBuilder.html | 6 +-
.../writer/file_writer/trait.FileWriter.html | 2 +-
.../file_writer/trait.FileWriterBuilder.html | 2 +-
api/iceberg/writer/trait.CurrentFileStatus.html | 2 +-
api/search-index.js | 2 +-
api/settings.html | 2 +-
.../writer/file_writer/parquet_writer.rs.html | 176 +++++----------------
26 files changed, 80 insertions(+), 178 deletions(-)
diff --git a/api/help.html b/api/help.html
index 21943ce1..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/expr/enum.BoundPredicate.html
b/api/iceberg/expr/enum.BoundPredicate.html
index d47dfd40..44829eb9 100644
--- a/api/iceberg/expr/enum.BoundPredicate.html
+++ b/api/iceberg/expr/enum.BoundPredicate.html
@@ -16,8 +16,8 @@
</div><section id="variant.Unary" class="variant"><a href="#variant.Unary"
class="anchor">§</a><h3 class="code-header">Unary(<a class="struct"
href="struct.UnaryExpression.html" title="struct
iceberg::expr::UnaryExpression">UnaryExpression</a><<a class="struct"
href="struct.BoundReference.html" title="struct
iceberg::expr::BoundReference">BoundReference</a>>)</h3></section><div
class="docblock"><p>Unary expression, for example, <code>a IS NULL</code>.</p>
</div><section id="variant.Binary" class="variant"><a href="#variant.Binary"
class="anchor">§</a><h3 class="code-header">Binary(<a class="struct"
href="struct.BinaryExpression.html" title="struct
iceberg::expr::BinaryExpression">BinaryExpression</a><<a class="struct"
href="struct.BoundReference.html" title="struct
iceberg::expr::BoundReference">BoundReference</a>>)</h3></section><div
class="docblock"><p>Binary expression, for example, <code>a > 10</code>.</p>
</div><section id="variant.Set" class="variant"><a href="#variant.Set"
class="anchor">§</a><h3 class="code-header">Set(<a class="struct"
href="struct.SetExpression.html" title="struct
iceberg::expr::SetExpression">SetExpression</a><<a class="struct"
href="struct.BoundReference.html" title="struct
iceberg::expr::BoundReference">BoundReference</a>>)</h3></section><div
class="docblock"><p>Set predicates, for example, <code>a IN (1, 2,
3)</code>.</p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Clone-for-BoundPredicate" class="impl"><a
class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#709">source</a><a
href="#impl-Clone-for-BoundPredicate" class="anchor">§</a><h3
class="code-header">impl <a class="trait" h [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Clone-for-BoundPredicate" class="impl"><a
class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#709">source</a><a
href="#impl-Clone-for-BoundPredicate" class="anchor">§</a><h3
class="code-header">impl <a class="trait" h [...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section
id="impl-Serialize-for-BoundPredicate" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#709">source</a><a
href="#impl-Serialize-for-BoundPredicate" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.217/serde/ser/trait.Serialize.html" title="tr
[...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section
id="impl-StructuralPartialEq-for-BoundPredicate" class="impl"><a class="src
rightside" href=". [...]
diff --git a/api/iceberg/expr/enum.Predicate.html
b/api/iceberg/expr/enum.Predicate.html
index 6cd0d93b..901da7a8 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.217/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.217/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.217/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.217/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
<p>This is different from <a href="enum.Predicate.html#method.negate"
title="method
iceberg::expr::Predicate::negate"><code>Predicate::negate()</code></a> since it
doesn’t rewrite expression, but
just adds a <code>NOT</code> operator.</p>
<h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example</h5>
diff --git a/api/iceberg/expr/struct.SetExpression.html
b/api/iceberg/expr/struct.SetExpression.html
index 314084e2..62e82842 100644
--- a/api/iceberg/expr/struct.SetExpression.html
+++ b/api/iceberg/expr/struct.SetExpression.html
@@ -2,9 +2,9 @@
</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-SetExpression%3CT%3E"
class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#258-278">source</a><a
href="#impl-SetExpression%3CT%3E" class="anchor">§</a><h3
class="code-header">impl<T> <a class="struct" href="struct.Se [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.literals" class="method"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#270-272">source</a><h4
class="code-header">pub fn <a href="#method.literals"
class="fn">literals</a>(&self) -> &FnvHashSet<<a class="struct"
href="../spec/struct.Datum.html" title="struct
iceberg::spec::Datum">Datum</a>></h4></section></summary><div
class="docblock"><p>Return the hash set [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.term" class="method"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#275-277">source</a><h4
class="code-header">pub fn <a href="#method.term"
class="fn">term</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a></h4></section></summary><div
class="docblock"><p>Return the term of this predicate.</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-Bind-for-SetExpression%3CT%3E" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#280-291">source</a><a
href="#impl-Bind-for-SetExpression%3CT%3E" class="anchor">§</a><h3 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-Bind-for-SetExpression%3CT%3E" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#280-291">source</a><a
href="#impl-Bind-for-SetExpression%3CT%3E" class="anchor">§</a><h3 cla [...]
T: <a class="trait"
href="https://docs.rs/serde/1.0.217/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#238">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.217/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.217/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.217/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.217/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-SetExpression%3CT%3E" class="impl"><a class="src
rightside" href="../../src/iceberg/expr/predicate.rs.html#238">source</a><a
href="#impl-Serialize-for-SetExpression%3CT%3E" class="anchor">§</a><h3
class="code-header">impl<T> <a class="trait"
href="https://docs.rs/serde/1.0.217/serde/ser/trait.Seri [...]
T: <a class="trait"
href="https://docs.rs/serde/1.0.217/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#238">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.UnaryExpression.html
b/api/iceberg/expr/struct.UnaryExpression.html
index f99b364e..55c8c836 100644
--- a/api/iceberg/expr/struct.UnaryExpression.html
+++ b/api/iceberg/expr/struct.UnaryExpression.html
@@ -6,9 +6,9 @@
UnaryExpression::new(PredicateOperator::IsNull, Reference::new(<span
class="string">"c"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.op" class="method"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#150-152">source</a><h4
class="code-header">pub fn <a href="#method.op" class="fn">op</a>(&self)
-> <a class="enum" href="enum.PredicateOperator.html" title="enum
iceberg::expr::PredicateOperator">PredicateOperator</a></h4></section></summary><div
class="docblock"><p>Return the operator of this predicate.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.term" class="method"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#155-157">source</a><h4
class="code-header">pub fn <a href="#method.term"
class="fn">term</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a></h4></section></summary><div
class="docblock"><p>Return the term of this predicate.</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-Bind-for-UnaryExpression%3CT%3E" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#125-132">source</a><a
href="#impl-Bind-for-UnaryExpression%3CT%3E" class="anchor">§</a><h3 [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Bind-for-UnaryExpression%3CT%3E" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#125-132">source</a><a
href="#impl-Bind-for-UnaryExpression%3CT%3E" class="anchor">§</a><h3 [...]
T: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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.217/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.217/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.217/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.217/serde/ser/trait. [...]
T: <a class="trait"
href="https://docs.rs/serde/1.0.217/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/spec/enum.DataFileBuilderError.html
b/api/iceberg/spec/enum.DataFileBuilderError.html
index ecc45576..45778e2b 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#1242">source</a><a
href="#impl-Debug-for-DataFileBuilderError" class="anchor">§</a><h3
class="code-header">impl <a cla [...]
+</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#1242">source</a><a
href="#impl-Debug-for-DataFileBuilderError" 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/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.DataFileFormat.html
b/api/iceberg/spec/enum.DataFileFormat.html
index d3c00f8f..315eaf2b 100644
--- a/api/iceberg/spec/enum.DataFileFormat.html
+++ b/api/iceberg/spec/enum.DataFileFormat.html
@@ -6,10 +6,10 @@
</div></details><h2 id="variants" class="variants section-header">Variants<a
href="#variants" class="anchor">§</a></h2><div class="variants"><section
id="variant.Avro" class="variant"><a href="#variant.Avro"
class="anchor">§</a><h3 class="code-header">Avro</h3></section><div
class="docblock"><p>Avro file format: <a
href="https://avro.apache.org/">https://avro.apache.org/</a></p>
</div><section id="variant.Orc" class="variant"><a href="#variant.Orc"
class="anchor">§</a><h3 class="code-header">Orc</h3></section><div
class="docblock"><p>Orc file format: <a
href="https://orc.apache.org/">https://orc.apache.org/</a></p>
</div><section id="variant.Parquet" class="variant"><a href="#variant.Parquet"
class="anchor">§</a><h3 class="code-header">Parquet</h3></section><div
class="docblock"><p>Parquet file format: <a
href="https://parquet.apache.org/">https://parquet.apache.org/</a></p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Clone-for-DataFileFormat" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/manifest.rs.html#1517">source</a><a
href="#impl-Clone-for-DataFileFormat" class="anchor">§</a><h3
class="code-header">impl <a class="trait" h [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Clone-for-DataFileFormat" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/manifest.rs.html#1517">source</a><a
href="#impl-Clone-for-DataFileFormat" class="anchor">§</a><h3
class="code-header">impl <a class="trait" h [...]
Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html"
title="trait core::str::traits::FromStr">FromStr</a>,
<Self as <a class="trait"
href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html"
title="trait core::str::traits::FromStr">FromStr</a>>::<a
class="associatedtype"
href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err"
title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html"
title="trait core::fmt::Display">Display</a>,</div></h3></sectio [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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.217/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.217/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-DataFileFormat" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/manifest.rs.html#1517">source</a><a
href="#impl-Serialize-for-DataFileFormat" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.217/serde/ser/trait.Serialize.html" title="tr
[...]
Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html"
title="trait
core::fmt::Display">Display</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/spec/manifest.rs.html#1517">source</a><a
href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a
href="https://docs.rs/ [...]
diff --git a/api/iceberg/spec/enum.NullOrder.html
b/api/iceberg/spec/enum.NullOrder.html
index 2e23f18b..bf640012 100644
--- a/api/iceberg/spec/enum.NullOrder.html
+++ b/api/iceberg/spec/enum.NullOrder.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>Describes the order of null values when sorted.</p>
</div></details><h2 id="variants" class="variants section-header">Variants<a
href="#variants" class="anchor">§</a></h2><div class="variants"><section
id="variant.First" class="variant"><a href="#variant.First"
class="anchor">§</a><h3 class="code-header">First</h3></section><div
class="docblock"><p>Nulls are stored first</p>
</div><section id="variant.Last" class="variant"><a href="#variant.Last"
class="anchor">§</a><h3 class="code-header">Last</h3></section><div
class="docblock"><p>Nulls are stored last</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-NullOrder" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/sort.rs.html#55">source</a><a
href="#impl-Clone-for-NullOrder" class="anchor">§</a><h3
class="code-header">impl <a class="trait" href="https://doc [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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-NullOrder" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/sort.rs.html#55">source</a><a
href="#impl-Clone-for-NullOrder" class="anchor">§</a><h3
class="code-header">impl <a class="trait" href="https://doc [...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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-NullOrder"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/sort.rs.html#55">source</a><a
href="#impl-Serialize-for-NullOrder" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.217/serde/ser/trait.Serialize.html"
title="trait serde::ser:: [...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section id="impl-Copy-for-NullOrder"
class="impl"><a class="src rightside" href="../../src/iceberg/spe [...]
diff --git a/api/iceberg/spec/enum.SortDirection.html
b/api/iceberg/spec/enum.SortDirection.html
index e76a7d0d..decfdbac 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.217/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.217/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.217/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.217/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.217/serde/ser/trait.Serialize.html"
title="trait serd [...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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 9c493ae9..fd0d6c18 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.Transform.html
b/api/iceberg/spec/enum.Transform.html
index f419c064..76dc9460 100644
--- a/api/iceberg/spec/enum.Transform.html
+++ b/api/iceberg/spec/enum.Transform.html
@@ -125,8 +125,8 @@ and filtering based on the original, untransformed data.</p>
<code>bucket(a, 37) as bs</code>, if one row matches <code>a = 10</code>, then
its partition
value should match <code>bucket(10, 37) as bs</code>, and we project <code>a =
10</code> to
<code>bs = bucket(10, 37)</code></p>
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Transform" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#48">source</a><a
href="#impl-Clone-for-Transform" class="anchor">§</a><h3
class="code-header">impl <a [...]
- D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Transform" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#48">source</a><a
href="#impl-Clone-for-Transform" class="anchor">§</a><h3
class="code-header">impl <a [...]
+ D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Serialize-for-Transform"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#713-718">source</a><a
href="#impl-Serialize-for-Transform" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.217/serde/ser/trait.Serialize.html"
title="trait se [...]
S: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section id="impl-Copy-for-Transform"
class="impl"><a class="src rightside" href="../../src/iceberg/spec/ [...]
diff --git a/api/iceberg/spec/enum.Type.html b/api/iceberg/spec/enum.Type.html
index 76a94f19..f168ff2b 100644
--- a/api/iceberg/spec/enum.Type.html
+++ b/api/iceberg/spec/enum.Type.html
@@ -17,8 +17,8 @@
</div></details><details class="toggle method-toggle" open><summary><section
id="method.decimal_required_bytes" class="method"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#155-158">source</a><h4
class="code-header">pub fn <a href="#method.decimal_required_bytes"
class="fn">decimal_required_bytes</a>(precision: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) ->
<a class="type" href="../type.Result.html" title="typ [...]
</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#162-165">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#169-174">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#82">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.217/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.217/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-Type" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#82">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.217/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.217/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#271-277">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.217/serde/ser/trait.Serialize.html"
title="trait serde::ser:: [...]
S: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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/enum.ViewFormatVersion.html
b/api/iceberg/spec/enum.ViewFormatVersion.html
index e499cef8..691f2167 100644
--- a/api/iceberg/spec/enum.ViewFormatVersion.html
+++ b/api/iceberg/spec/enum.ViewFormatVersion.html
@@ -2,8 +2,8 @@
V1 = 1,
}</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 view
spec version 1</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-ViewFormatVersion" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/view_metadata.rs.html#367">source</a><a
href="#impl-Clone-for-ViewFormatVersion" class="anchor">§</a><h3
class="code-header">impl <a class [...]
- D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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-ViewFormatVersion" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/view_metadata.rs.html#367">source</a><a
href="#impl-Clone-for-ViewFormatVersion" class="anchor">§</a><h3
class="code-header">impl <a class [...]
+ D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Compares and returns the maximum of two values. <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read
more</a></div></details><details class="toggle method-toggle"
open><summary><section id="method.min" class="method trait-impl"><span
class="rightside"><span class="si [...]
Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Compares and returns the minimum of two values. <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read
more</a></div></details><details class="toggle method-toggle"
open><summary><section id="method.clamp" class="method trait-impl"><span
class="rightside"><span class=" [...]
Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a> + <a class="trait"
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html"
title="trait
core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div
class='docblock'>Restrict a value to a certain interval. <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read
more</a></div></details></div> [...]
diff --git a/api/iceberg/spec/struct.Datum.html
b/api/iceberg/spec/struct.Datum.html
index d04a60d2..95ddec4b 100644
--- a/api/iceberg/spec/struct.Datum.html
+++ b/api/iceberg/spec/struct.Datum.html
@@ -277,7 +277,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#1212-1214">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#1218-1224">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#107">source</a><a
href="#impl-Clone-for-Datum" class="anchor">§</a><h3 class="code-header">impl
<a class="tra [...]
+</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#107">source</a><a
href="#impl-Clone-for-Datum" class="anchor">§</a><h3 class="code-header">impl
<a class="tra [...]
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.SortField.html
b/api/iceberg/spec/struct.SortField.html
index 3822b3d6..04c66d8a 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.217/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.217/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.217/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.217/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.217/serde/ser/trait.Serialize.html"
title="trait serde::ser:: [...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section id="impl-Eq-for-SortField"
class="impl"><a class="src rightside" href="../../src/iceberg/spec/ [...]
diff --git a/api/iceberg/struct.Error.html b/api/iceberg/struct.Error.html
index e33d5867..ef46e84f 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/iceberg/struct.NamespaceIdent.html
b/api/iceberg/struct.NamespaceIdent.html
index 67f24604..6756a718 100644
--- a/api/iceberg/struct.NamespaceIdent.html
+++ b/api/iceberg/struct.NamespaceIdent.html
@@ -1103,8 +1103,8 @@ given separator between each.</p>
<h5 id="examples-60"><a class="doc-anchor"
href="#examples-60">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="macro">assert_eq!</span>([<span class="string">"hello"</span>, <span
class="string">"world"</span>].connect(<span class="string">" "</span>), <span
class="string">"hello world"</span>);
<span class="macro">assert_eq!</span>([[<span class="number">1</span>, <span
class="number">2</span>], [<span class="number">3</span>, <span
class="number">4</span>]].connect(<span class="kw-2">&</span><span
class="number">0</span>), [<span class="number">1</span>, <span
class="number">2</span>, <span class="number">0</span>, <span
class="number">3</span>, <span class="number">4</span>]);</code></pre></div>
-</div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-AsRef%3CVec%3CString%3E%3E-for-NamespaceIdent" class="impl"><a
class="src rightside"
href="../src/iceberg/catalog/mod.rs.html#152-156">source</a><a
href="#impl-AsRef%3CVec%3CString%3E%3E-for-NamespaceIdent" class="anchor">§<
[...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-AsRef%3CVec%3CString%3E%3E-for-NamespaceIdent" class="impl"><a
class="src rightside"
href="../src/iceberg/catalog/mod.rs.html#152-156">source</a><a
href="#impl-AsRef%3CVec%3CString%3E%3E-for-NamespaceIdent" class="anchor">§<
[...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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 [...]
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/struct.TableIdent.html
b/api/iceberg/struct.TableIdent.html
index b1dc2e5c..bcb14533 100644
--- a/api/iceberg/struct.TableIdent.html
+++ b/api/iceberg/struct.TableIdent.html
@@ -8,8 +8,8 @@
</div></details><details class="toggle method-toggle" open><summary><section
id="method.namespace" class="method"><a class="src rightside"
href="../src/iceberg/catalog/mod.rs.html#217-219">source</a><h4
class="code-header">pub fn <a href="#method.namespace"
class="fn">namespace</a>(&self) -> &<a class="struct"
href="struct.NamespaceIdent.html" title="struct
iceberg::NamespaceIdent">NamespaceIdent</a></h4></section></summary><div
class="docblock"><p>Get the namespace of the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.name" class="method"><a class="src rightside"
href="../src/iceberg/catalog/mod.rs.html#222-224">source</a><h4
class="code-header">pub fn <a href="#method.name"
class="fn">name</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>Get the name of the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.from_strs" class="method"><a class="src rightside"
href="../src/iceberg/catalog/mod.rs.html#227-238">source</a><h4
class="code-header">pub fn <a href="#method.from_strs"
class="fn">from_strs</a>(iter: 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
[...]
-</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-TableIdent" class="impl"><a class="src rightside"
href="../src/iceberg/catalog/mod.rs.html#202">source</a><a
href="#impl-Clone-for-TableIdent" class="anchor">§</a><h3
class="code-header">impl <a cla [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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-TableIdent" class="impl"><a class="src rightside"
href="../src/iceberg/catalog/mod.rs.html#202">source</a><a
href="#impl-Clone-for-TableIdent" class="anchor">§</a><h3
class="code-header">impl <a cla [...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.217/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.217/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 [...]
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/writer/file_writer/struct.ParquetWriter.html
b/api/iceberg/writer/file_writer/struct.ParquetWriter.html
index f14ee431..77269936 100644
--- a/api/iceberg/writer/file_writer/struct.ParquetWriter.html
+++ b/api/iceberg/writer/file_writer/struct.ParquetWriter.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta
name="viewport" content="width=device-width, initial-scale=1.0"><meta
name="generator" content="rustdoc"><meta name="description"
content="`ParquetWriter`` is used to write arrow data into parquet file on
storage."><title>ParquetWriter in iceberg::writer::file_writer -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraS
[...]
-</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-CurrentFileStatus-for-ParquetWriter"
class="impl"><a class="src rightside"
href="../../../src/iceberg/writer/file_writer/parquet_writer.rs.html#573-585">source</a><a
href="#impl-CurrentFileStatus-for-ParquetWriter" class="anchor"> [...]
+<!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="`ParquetWriter`` is used to write arrow data into parquet file on
storage."><title>ParquetWriter in iceberg::writer::file_writer -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraS
[...]
+</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-CurrentFileStatus-for-ParquetWriter"
class="impl"><a class="src rightside"
href="../../../src/iceberg/writer/file_writer/parquet_writer.rs.html#524-536">source</a><a
href="#impl-CurrentFileStatus-for-ParquetWriter" class="anchor"> [...]
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/writer/file_writer/struct.ParquetWriterBuilder.html
b/api/iceberg/writer/file_writer/struct.ParquetWriterBuilder.html
index da3ca0b1..df0d4bcb 100644
--- a/api/iceberg/writer/file_writer/struct.ParquetWriterBuilder.html
+++ b/api/iceberg/writer/file_writer/struct.ParquetWriterBuilder.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta
name="viewport" content="width=device-width, initial-scale=1.0"><meta
name="generator" content="rustdoc"><meta name="description"
content="ParquetWriterBuilder is used to builder a
`ParquetWriter`"><title>ParquetWriterBuilder in iceberg::writer::file_writer -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regula
[...]
-</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-ParquetWriterBuilder%3CT,+F%3E" class="impl"><a class="src rightside"
href="../../../src/iceberg/writer/file_writer/parquet_writer.rs.html#63-81">source</a><a
href="#impl-ParquetWriterBuilder%3CT,+F%3E" class="anchor">§</a><h3
class="code-header">impl< [...]
+<!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="ParquetWriterBuilder is used to builder a
`ParquetWriter`"><title>ParquetWriterBuilder in iceberg::writer::file_writer -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regula
[...]
+</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-ParquetWriterBuilder%3CT,+F%3E" class="impl"><a class="src rightside"
href="../../../src/iceberg/writer/file_writer/parquet_writer.rs.html#65-83">source</a><a
href="#impl-ParquetWriterBuilder%3CT,+F%3E" class="anchor">§</a><h3
class="code-header">impl< [...]
props: WriterProperties,
schema: <a class="type" href="../../spec/type.SchemaRef.html" title="type
iceberg::spec::SchemaRef">SchemaRef</a>,
file_io: <a class="struct" href="../../io/struct.FileIO.html"
title="struct iceberg::io::FileIO">FileIO</a>,
@@ -7,7 +7,7 @@
file_name_generator: F,
) -> Self</h4></section></summary><div class="docblock"><p>Create a new
<code>ParquetWriterBuilder</code>
To construct the write result, the schema should contain the
<code>PARQUET_FIELD_ID_META_KEY</code> metadata for each field.</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-ParquetWriterBuilder%3CT,+F%3E" class="impl"><a class="src
rightside"
href="../../../src/iceberg/writer/file_writer/parquet_writer.rs.html#53">source</a><a
href="#impl-Clone-for-ParquetWriterBuilder [...]
+</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-ParquetWriterBuilder%3CT,+F%3E" class="impl"><a class="src
rightside"
href="../../../src/iceberg/writer/file_writer/parquet_writer.rs.html#55">source</a><a
href="#impl-Clone-for-ParquetWriterBuilder [...]
T: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html"
title="trait core::marker::Freeze">Freeze</a>,
F: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html"
title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section
id="impl-RefUnwindSafe-for-ParquetWriterBuilder%3CT,+F%3E" class="impl"><a
href="#impl-RefUnwindSafe-for-ParquetWriterBuilder%3CT,+F%3E"
class="anchor">§</a><h3 class="code-header">impl<T, F> !<a class="trait"
href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html"
title="trait cor [...]
T: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"
title="trait core::marker::Sync">Sync</a>,
diff --git a/api/iceberg/writer/file_writer/trait.FileWriter.html
b/api/iceberg/writer/file_writer/trait.FileWriter.html
index bcfd6b41..2de78d85 100644
--- a/api/iceberg/writer/file_writer/trait.FileWriter.html
+++ b/api/iceberg/writer/file_writer/trait.FileWriter.html
@@ -11,4 +11,4 @@
batch: &RecordBatch,
) -> impl <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::Result">Result</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>>>
+ <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"
title="trait core::marker::Send">Send</a [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="tymethod.close" class="method"><a class="src rightside"
href="../../../src/iceberg/writer/file_writer/mod.rs.html#48">source</a><h4
class="code-header">fn <a href="#tymethod.close" class="fn">close</a>(self)
-> impl <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="../../typ [...]
-</div></details></div><h2 id="object-safety" class="section-header">Object
Safety<a href="#object-safety" class="anchor">§</a></h2><div
class="object-safety-info">This trait is <b>not</b> <a
href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object
safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a
href="#implementors" class="anchor">§</a></h2><div
id="implementors-list"><section id="impl-FileWriter-for-ParquetWriter"
class="impl">< [...]
\ No newline at end of file
+</div></details></div><h2 id="object-safety" class="section-header">Object
Safety<a href="#object-safety" class="anchor">§</a></h2><div
class="object-safety-info">This trait is <b>not</b> <a
href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object
safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a
href="#implementors" class="anchor">§</a></h2><div
id="implementors-list"><section id="impl-FileWriter-for-ParquetWriter"
class="impl">< [...]
\ No newline at end of file
diff --git a/api/iceberg/writer/file_writer/trait.FileWriterBuilder.html
b/api/iceberg/writer/file_writer/trait.FileWriterBuilder.html
index 9639ad2f..d7b5f8cc 100644
--- a/api/iceberg/writer/file_writer/trait.FileWriterBuilder.html
+++ b/api/iceberg/writer/file_writer/trait.FileWriterBuilder.html
@@ -6,4 +6,4 @@
}</code></pre><details class="toggle top-doc" open><summary
class="hideme"><span>Expand description</span></summary><div
class="docblock"><p>File writer builder trait.</p>
</div></details><h2 id="required-associated-types"
class="section-header">Required Associated Types<a
href="#required-associated-types" class="anchor">§</a></h2><div
class="methods"><details class="toggle" open><summary><section
id="associatedtype.R" class="method"><a class="src rightside"
href="../../../src/iceberg/writer/file_writer/mod.rs.html#38">source</a><h4
class="code-header">type <a href="#associatedtype.R"
class="associatedtype">R</a>: <a class="trait" href="trait.FileWriter.ht [...]
</div></details></div><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.build" class="method"><a
class="src rightside"
href="../../../src/iceberg/writer/file_writer/mod.rs.html#40">source</a><h4
class="code-header">fn <a href="#tymethod.build" class="fn">build</a>(self)
-> impl <a class="trait" href="https://doc.rust-lang.or [...]
-</div></details></div><h2 id="object-safety" class="section-header">Object
Safety<a href="#object-safety" class="anchor">§</a></h2><div
class="object-safety-info">This trait is <b>not</b> <a
href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object
safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a
href="#implementors" class="anchor">§</a></h2><div
id="implementors-list"><details class="toggle
implementors-toggle"><summary><section [...]
\ No newline at end of file
+</div></details></div><h2 id="object-safety" class="section-header">Object
Safety<a href="#object-safety" class="anchor">§</a></h2><div
class="object-safety-info">This trait is <b>not</b> <a
href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object
safe</a>.</div><h2 id="implementors" class="section-header">Implementors<a
href="#implementors" class="anchor">§</a></h2><div
id="implementors-list"><details class="toggle
implementors-toggle"><summary><section [...]
\ No newline at end of file
diff --git a/api/iceberg/writer/trait.CurrentFileStatus.html
b/api/iceberg/writer/trait.CurrentFileStatus.html
index a6b5facf..7e818214 100644
--- a/api/iceberg/writer/trait.CurrentFileStatus.html
+++ b/api/iceberg/writer/trait.CurrentFileStatus.html
@@ -8,4 +8,4 @@ file.</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.current_file_path" class="method"><a class="src rightside"
href="../../src/iceberg/writer/mod.rs.html#234">source</a><h4
class="code-header">fn <a href="#tymethod.current_file_path"
class="fn">current_file_path</a>(&self) -> <a class="struct"
href="https:/ [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="tymethod.current_row_num" class="method"><a class="src rightside"
href="../../src/iceberg/writer/mod.rs.html#236">source</a><h4
class="code-header">fn <a href="#tymethod.current_row_num"
class="fn">current_row_num</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div
class="docblock"><p>Get the current file row number.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="tymethod.current_written_size" class="method"><a class="src rightside"
href="../../src/iceberg/writer/mod.rs.html#238">source</a><h4
class="code-header">fn <a href="#tymethod.current_written_size"
class="fn">current_written_size</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div
class="docblock"><p>Get the current [...]
-</div></details></div><h2 id="implementors"
class="section-header">Implementors<a href="#implementors"
class="anchor">§</a></h2><div id="implementors-list"><section
id="impl-CurrentFileStatus-for-ParquetWriter" class="impl"><a class="src
rightside"
href="../../src/iceberg/writer/file_writer/parquet_writer.rs.html#573-585">source</a><a
href="#impl-CurrentFileStatus-for-ParquetWriter" class="anchor">§</a><h3
class="code-header">impl <a class="trait" href="trait.CurrentFileStatus.html"
titl [...]
\ No newline at end of file
+</div></details></div><h2 id="implementors"
class="section-header">Implementors<a href="#implementors"
class="anchor">§</a></h2><div id="implementors-list"><section
id="impl-CurrentFileStatus-for-ParquetWriter" class="impl"><a class="src
rightside"
href="../../src/iceberg/writer/file_writer/parquet_writer.rs.html#524-536">source</a><a
href="#impl-CurrentFileStatus-for-ParquetWriter" class="anchor">§</a><h3
class="code-header">impl <a class="trait" href="trait.CurrentFileStatus.html"
titl [...]
\ No newline at end of file
diff --git a/api/search-index.js b/api/search-index.js
index 3675eff9..5895ea49 100644
--- a/api/search-index.js
+++ b/api/search-index.js
@@ -1,5 +1,5 @@
var searchIndex = new Map(JSON.parse('[\
-["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPPPPIPPPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFFFKSRRSNNNNNNNNHHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNMNMHMNNNNNNNNNNHNNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNN
[...]
+["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPPPPIPPPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFFFKSRRSNNNNNNNNHHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNMNMHMNNNNNNNNNNHNNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNN
[...]
["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/settings.html b/api/settings.html
index 8bb04340..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/writer/file_writer/parquet_writer.rs.html
b/api/src/iceberg/writer/file_writer/parquet_writer.rs.html
index 243a678f..61f4e74c 100644
--- a/api/src/iceberg/writer/file_writer/parquet_writer.rs.html
+++ b/api/src/iceberg/writer/file_writer/parquet_writer.rs.html
@@ -1566,55 +1566,6 @@
<a href="#1566" id="1566">1566</a>
<a href="#1567" id="1567">1567</a>
<a href="#1568" id="1568">1568</a>
-<a href="#1569" id="1569">1569</a>
-<a href="#1570" id="1570">1570</a>
-<a href="#1571" id="1571">1571</a>
-<a href="#1572" id="1572">1572</a>
-<a href="#1573" id="1573">1573</a>
-<a href="#1574" id="1574">1574</a>
-<a href="#1575" id="1575">1575</a>
-<a href="#1576" id="1576">1576</a>
-<a href="#1577" id="1577">1577</a>
-<a href="#1578" id="1578">1578</a>
-<a href="#1579" id="1579">1579</a>
-<a href="#1580" id="1580">1580</a>
-<a href="#1581" id="1581">1581</a>
-<a href="#1582" id="1582">1582</a>
-<a href="#1583" id="1583">1583</a>
-<a href="#1584" id="1584">1584</a>
-<a href="#1585" id="1585">1585</a>
-<a href="#1586" id="1586">1586</a>
-<a href="#1587" id="1587">1587</a>
-<a href="#1588" id="1588">1588</a>
-<a href="#1589" id="1589">1589</a>
-<a href="#1590" id="1590">1590</a>
-<a href="#1591" id="1591">1591</a>
-<a href="#1592" id="1592">1592</a>
-<a href="#1593" id="1593">1593</a>
-<a href="#1594" id="1594">1594</a>
-<a href="#1595" id="1595">1595</a>
-<a href="#1596" id="1596">1596</a>
-<a href="#1597" id="1597">1597</a>
-<a href="#1598" id="1598">1598</a>
-<a href="#1599" id="1599">1599</a>
-<a href="#1600" id="1600">1600</a>
-<a href="#1601" id="1601">1601</a>
-<a href="#1602" id="1602">1602</a>
-<a href="#1603" id="1603">1603</a>
-<a href="#1604" id="1604">1604</a>
-<a href="#1605" id="1605">1605</a>
-<a href="#1606" id="1606">1606</a>
-<a href="#1607" id="1607">1607</a>
-<a href="#1608" id="1608">1608</a>
-<a href="#1609" id="1609">1609</a>
-<a href="#1610" id="1610">1610</a>
-<a href="#1611" id="1611">1611</a>
-<a href="#1612" id="1612">1612</a>
-<a href="#1613" id="1613">1613</a>
-<a href="#1614" id="1614">1614</a>
-<a href="#1615" id="1615">1615</a>
-<a href="#1616" id="1616">1616</a>
-<a href="#1617" id="1617">1617</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
@@ -1645,10 +1596,12 @@
<span class="kw">use </span>parquet::arrow::async_reader::AsyncFileReader;
<span class="kw">use </span>parquet::arrow::async_writer::AsyncFileWriter
<span class="kw">as </span>ArrowAsyncFileWriter;
<span class="kw">use </span>parquet::arrow::AsyncArrowWriter;
-<span class="kw">use </span>parquet::file::metadata::ParquetMetaData;
+<span class="kw">use </span>parquet::file::metadata::{ParquetMetaData,
ParquetMetaDataReader};
<span class="kw">use </span>parquet::file::properties::WriterProperties;
-<span class="kw">use </span>parquet::file::statistics::{from_thrift,
Statistics};
+<span class="kw">use </span>parquet::file::statistics::Statistics;
<span class="kw">use </span>parquet::format::FileMetaData;
+<span class="kw">use </span>parquet::thrift::{TCompactOutputProtocol,
TSerializable};
+<span class="kw">use </span>thrift::protocol::TOutputProtocol;
<span class="kw">use </span><span
class="kw">super</span>::location_generator::{FileNameGenerator,
LocationGenerator};
<span class="kw">use </span><span
class="kw">super</span>::track_writer::TrackWriter;
@@ -1969,89 +1922,27 @@
<span class="prelude-val">Ok</span>(data_files)
}
- <span class="kw">fn </span>to_data_file_builder(
- schema: SchemaRef,
- metadata: FileMetaData,
- written_size: usize,
- file_path: String,
- ) -> <span class="prelude-ty">Result</span><DataFileBuilder> {
- <span class="kw">let </span>index_by_parquet_path = {
- <span class="kw">let </span><span class="kw-2">mut </span>visitor
= IndexByParquetPathName::new();
- visit_schema(<span class="kw-2">&</span>schema, <span
class="kw-2">&mut </span>visitor)<span class="question-mark">?</span>;
- visitor
- };
-
- <span class="kw">let </span>(column_sizes, value_counts,
null_value_counts, (lower_bounds, upper_bounds)) = {
- <span class="kw">let </span><span class="kw-2">mut
</span>per_col_size: HashMap<i32, u64> = HashMap::new();
- <span class="kw">let </span><span class="kw-2">mut
</span>per_col_val_num: HashMap<i32, u64> = HashMap::new();
- <span class="kw">let </span><span class="kw-2">mut
</span>per_col_null_val_num: HashMap<i32, u64> = HashMap::new();
- <span class="kw">let </span><span class="kw-2">mut
</span>min_max_agg = MinMaxColAggregator::new(schema);
-
- <span class="kw">for </span>row_group <span class="kw">in
</span><span class="kw-2">&</span>metadata.row_groups {
- <span class="kw">for </span>column_chunk <span class="kw">in
</span>row_group.columns.iter() {
- <span class="kw">let </span><span
class="prelude-val">Some</span>(column_chunk_metadata) = <span
class="kw-2">&</span>column_chunk.meta_data <span class="kw">else </span>{
- <span class="kw">continue</span>;
- };
- <span class="kw">let </span>physical_type =
column_chunk_metadata.type_;
- <span class="kw">let </span><span
class="prelude-val">Some</span>(<span class="kw-2">&</span>field_id) =
- index_by_parquet_path.get(<span
class="kw-2">&</span>column_chunk_metadata.path_in_schema.join(<span
class="string">"."</span>))
- <span class="kw">else </span>{
- <span class="comment">// Following java
implementation:
https://github.com/apache/iceberg/blob/29a2c456353a6120b8c882ed2ab544975b168d7b/parquet/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java#L163
- // Ignore the field if it is not in schema.
- </span><span class="kw">continue</span>;
- };
- <span
class="kw-2">*</span>per_col_size.entry(field_id).or_insert(<span
class="number">0</span>) +=
- column_chunk_metadata.total_compressed_size <span
class="kw">as </span>u64;
- <span
class="kw-2">*</span>per_col_val_num.entry(field_id).or_insert(<span
class="number">0</span>) +=
- column_chunk_metadata.num_values <span class="kw">as
</span>u64;
- <span class="kw">if let </span><span
class="prelude-val">Some</span>(null_count) = column_chunk_metadata
- .statistics
- .as_ref()
- .and_then(|s| s.null_count)
- {
- <span
class="kw-2">*</span>per_col_null_val_num.entry(field_id).or_insert(<span
class="number">0_u64</span>) += null_count <span class="kw">as </span>u64;
- }
- <span class="kw">if let </span><span
class="prelude-val">Some</span>(statistics) = <span
class="kw-2">&</span>column_chunk_metadata.statistics {
- min_max_agg.update(
- field_id,
- from_thrift(physical_type.try_into()<span
class="question-mark">?</span>, <span
class="prelude-val">Some</span>(statistics.clone()))<span
class="question-mark">?
- </span>.unwrap(),
- )<span class="question-mark">?</span>;
- }
- }
- }
+ <span class="kw">fn </span>thrift_to_parquet_metadata(<span
class="kw-2">&</span><span class="self">self</span>, file_metadata:
FileMetaData) -> <span
class="prelude-ty">Result</span><ParquetMetaData> {
+ <span class="kw">let </span><span class="kw-2">mut </span>buffer =
Vec::new();
+ {
+ <span class="kw">let </span><span class="kw-2">mut </span>protocol
= TCompactOutputProtocol::new(<span class="kw-2">&mut </span>buffer);
+ file_metadata
+ .write_to_out_protocol(<span class="kw-2">&mut
</span>protocol)
+ .map_err(|err| {
+ Error::new(ErrorKind::Unexpected, <span
class="string">"Failed to write parquet metadata"</span>)
+ .with_source(err)
+ })<span class="question-mark">?</span>;
+
+ protocol.flush().map_err(|err| {
+ Error::new(ErrorKind::Unexpected, <span class="string">"Failed
to flush protocol"</span>).with_source(err)
+ })<span class="question-mark">?</span>;
+ }
- (
- per_col_size,
- per_col_val_num,
- per_col_null_val_num,
- min_max_agg.produce(),
- )
- };
+ <span class="kw">let </span>parquet_metadata =
ParquetMetaDataReader::decode_metadata(<span
class="kw-2">&</span>buffer).map_err(|err| {
+ Error::new(ErrorKind::Unexpected, <span class="string">"Failed to
decode parquet metadata"</span>).with_source(err)
+ })<span class="question-mark">?</span>;
- <span class="kw">let </span><span class="kw-2">mut </span>builder =
DataFileBuilder::default();
- builder
- .file_path(file_path)
- .file_format(DataFileFormat::Parquet)
- .record_count(metadata.num_rows <span class="kw">as </span>u64)
- .file_size_in_bytes(written_size <span class="kw">as </span>u64)
- .column_sizes(column_sizes)
- .value_counts(value_counts)
- .null_value_counts(null_value_counts)
- .lower_bounds(lower_bounds)
- .upper_bounds(upper_bounds)
- <span class="comment">// # TODO(#417)
- // - nan_value_counts
- // - distinct_counts
- </span>.key_metadata(metadata.footer_signing_key_metadata)
- .split_offsets(
- metadata
- .row_groups
- .iter()
- .filter_map(|group| group.file_offset)
- .collect(),
- );
- <span class="prelude-val">Ok</span>(builder)
+ <span class="prelude-val">Ok</span>(parquet_metadata)
}
<span class="doccomment">/// `ParquetMetadata` to data file builder
@@ -2168,19 +2059,30 @@
<span class="prelude-val">Ok</span>(())
}
- <span class="kw">async fn </span>close(<span class="self">self</span>)
-> <span class="kw">crate</span>::Result<Vec<<span
class="kw">crate</span>::spec::DataFileBuilder>> {
- <span class="kw">let </span><span
class="prelude-val">Some</span>(writer) = <span
class="self">self</span>.inner_writer <span class="kw">else </span>{
- <span class="kw">return </span><span
class="prelude-val">Ok</span>(<span class="macro">vec!</span>[]);
+ <span class="kw">async fn </span>close(<span class="kw-2">mut </span><span
class="self">self</span>) -> <span
class="kw">crate</span>::Result<Vec<<span
class="kw">crate</span>::spec::DataFileBuilder>> {
+ <span class="kw">let </span>writer = <span class="kw">match
</span><span class="self">self</span>.inner_writer.take() {
+ <span class="prelude-val">Some</span>(writer) => writer,
+ <span class="prelude-val">None </span>=> <span
class="kw">return </span><span class="prelude-val">Ok</span>(<span
class="macro">vec!</span>[]),
};
+
<span class="kw">let </span>metadata = writer.close().<span
class="kw">await</span>.map_err(|err| {
Error::new(ErrorKind::Unexpected, <span class="string">"Failed to
close parquet writer."</span>).with_source(err)
})<span class="question-mark">?</span>;
<span class="kw">let </span>written_size = <span
class="self">self</span>.written_size.load(std::sync::atomic::Ordering::Relaxed);
- <span class="prelude-val">Ok</span>(<span
class="macro">vec!</span>[<span class="self">Self</span>::to_data_file_builder(
+ <span class="kw">let </span>parquet_metadata =
+ Arc::new(<span
class="self">self</span>.thrift_to_parquet_metadata(metadata).map_err(|err| {
+ Error::new(
+ ErrorKind::Unexpected,
+ <span class="string">"Failed to convert metadata from
thrift to parquet."</span>,
+ )
+ .with_source(err)
+ })<span class="question-mark">?</span>);
+
+ <span class="prelude-val">Ok</span>(<span
class="macro">vec!</span>[<span
class="self">Self</span>::parquet_to_data_file_builder(
<span class="self">self</span>.schema,
- metadata,
+ parquet_metadata,
written_size <span class="kw">as </span>usize,
<span class="self">self</span>.out_file.location().to_string(),
)<span class="question-mark">?</span>])