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 978de3f deploy: 0f7fc208c04bcfd2583d324b1a004d468755c334
978de3f is described below
commit 978de3f5f44b8c2d8a6a139710b5b919bf557a14
Author: liurenjie1024 <[email protected]>
AuthorDate: Sat Aug 3 02:17:28 2024 +0000
deploy: 0f7fc208c04bcfd2583d324b1a004d468755c334
---
api/iceberg/expr/enum.BoundPredicate.html | 4 +-
api/iceberg/expr/enum.Predicate.html | 4 +-
api/iceberg/expr/enum.PredicateOperator.html | 4 +-
api/iceberg/expr/struct.BinaryExpression.html | 4 +-
api/iceberg/expr/struct.BoundReference.html | 4 +-
api/iceberg/spec/enum.DataFileBuilderError.html | 2 +-
api/iceberg/spec/enum.DataFileFormat.html | 2 +-
api/iceberg/spec/enum.Literal.html | 4 +-
api/iceberg/spec/enum.ManifestContentType.html | 2 +-
api/iceberg/spec/enum.PrimitiveType.html | 4 +-
api/iceberg/spec/enum.Transform.html | 4 +-
api/iceberg/spec/enum.Type.html | 2 +-
.../enum.UnboundPartitionSpecBuilderError.html | 2 +-
api/iceberg/spec/struct.Datum.html | 2 +-
api/iceberg/spec/struct.Schema.html | 6 +-
api/iceberg/spec/struct.SortField.html | 4 +-
api/iceberg/spec/struct.StructType.html | 4 +-
api/iceberg/struct.Error.html | 2 +-
.../struct.MemoryCatalog.html | 32 +-
api/search-index.js | 4 +-
api/src/iceberg_catalog_memory/catalog.rs.html | 498 ++++++++++++++++++++-
api/trait.impl/core/convert/trait.From.js | 2 +-
22 files changed, 531 insertions(+), 65 deletions(-)
diff --git a/api/iceberg/expr/enum.BoundPredicate.html
b/api/iceberg/expr/enum.BoundPredicate.html
index 67aaa33..098c452 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#653">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.204/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.204/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#653">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.204/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.204/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#653">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.204/serde/ser/trait.Serialize.html" title="tr
[...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/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 f093d04..6d4d0c6 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.204/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.204/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.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
<p>This is different from <a href="enum.Predicate.html#method.negate"
title="method
iceberg::expr::Predicate::negate"><code>Predicate::negate()</code></a> since it
doesn’t rewrite expression, but
just adds a <code>NOT</code> operator.</p>
<h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example</h5>
diff --git a/api/iceberg/expr/enum.PredicateOperator.html
b/api/iceberg/expr/enum.PredicateOperator.html
index 2508dad..10fcdb0 100644
--- a/api/iceberg/expr/enum.PredicateOperator.html
+++ b/api/iceberg/expr/enum.PredicateOperator.html
@@ -38,8 +38,8 @@
<span class="macro">assert!</span>(PredicateOperator::Eq.negate() ==
PredicateOperator::NotEq);
<span class="macro">assert!</span>(PredicateOperator::In.negate() ==
PredicateOperator::NotIn);
<span class="macro">assert!</span>(PredicateOperator::StartsWith.negate() ==
PredicateOperator::NotStartsWith);</code></pre></div>
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-PredicateOperator" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/mod.rs.html#37">source</a><a
href="#impl-Clone-for-PredicateOperator" class="anchor">§</a><h3
class="code-header [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-PredicateOperator" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/mod.rs.html#37">source</a><a
href="#impl-Clone-for-PredicateOperator" class="anchor">§</a><h3
class="code-header [...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section
id="impl-Serialize-for-PredicateOperator" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/mod.rs.html#37">source</a><a
href="#impl-Serialize-for-PredicateOperator" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/ser/trait.Serialize.html" title="tra
[...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section
id="impl-Copy-for-PredicateOperator" class="impl"><a class="src rightside"
href="../../src/ice [...]
diff --git a/api/iceberg/expr/struct.BinaryExpression.html
b/api/iceberg/expr/struct.BinaryExpression.html
index 4aee7fa..bb84018 100644
--- a/api/iceberg/expr/struct.BinaryExpression.html
+++ b/api/iceberg/expr/struct.BinaryExpression.html
@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta
name="viewport" content="width=device-width, initial-scale=1.0"><meta
name="generator" content="rustdoc"><meta name="description" content="Binary
predicate, for example, `a > 10`."><title>BinaryExpression in iceberg::expr
-
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans
[...]
-</div></details><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Bind-for-BinaryExpression%3CT%3E"
class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#200-211">source</a><a
href="#impl-Bind-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3
class="code-header" [...]
+</div></details><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Bind-for-BinaryExpression%3CT%3E"
class="impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#200-211">source</a><a
href="#impl-Bind-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3
class="code-header" [...]
T: <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/de/trait.Deserialize.html"
title="trait
serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle"
open><summary><section id="method.deserialize" class="method trait-impl"><a
class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a
href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a hr
[...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/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.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section
id="impl-Serialize-for-BinaryExpression%3CT%3E" class="impl"><a class="src
rightside" href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a
href="#impl-Serialize-for-BinaryExpression%3CT%3E" class="anchor">§</a><h3
class="code-header">impl<T> <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/ser/trai [...]
T: <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/ser/trait.Serialize.html"
title="trait
serde::ser::Serialize">Serialize</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.serialize" class="method trait-impl"><a class="src rightside"
href="../../src/iceberg/expr/predicate.rs.html#152">source</a><a
href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a
href="https://docs.rs [...]
diff --git a/api/iceberg/expr/struct.BoundReference.html
b/api/iceberg/expr/struct.BoundReference.html
index c229029..7127f1b 100644
--- a/api/iceberg/expr/struct.BoundReference.html
+++ b/api/iceberg/expr/struct.BoundReference.html
@@ -6,8 +6,8 @@
) -> Self</h4></section></summary><div class="docblock"><p>Creates a new
bound reference.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.field" class="method"><a class="src rightside"
href="../../src/iceberg/expr/term.rs.html#366-368">source</a><h4
class="code-header">pub fn <a href="#method.field"
class="fn">field</a>(&self) -> &<a class="struct"
href="../spec/struct.NestedField.html" title="struct
iceberg::spec::NestedField">NestedField</a></h4></section></summary><div
class="docblock"><p>Return the field of this reference.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.accessor" class="method"><a class="src rightside"
href="../../src/iceberg/expr/term.rs.html#371-373">source</a><h4
class="code-header">pub fn <a href="#method.accessor"
class="fn">accessor</a>(&self) ->
&StructAccessor</h4></section></summary><div class="docblock"><p>Get this
BoundReference’s Accessor</p>
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-BoundReference" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/term.rs.html#342">source</a><a
href="#impl-Clone-for-BoundReference" class="anchor">§</a><h3
class="code-header">im [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-BoundReference" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/term.rs.html#342">source</a><a
href="#impl-Clone-for-BoundReference" class="anchor">§</a><h3
class="code-header">im [...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section
id="impl-Serialize-for-BoundReference" class="impl"><a class="src rightside"
href="../../src/iceberg/expr/term.rs.html#342">source</a><a
href="#impl-Serialize-for-BoundReference" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/ser/trait.Serialize.html"
title="trait s [...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section
id="impl-Eq-for-BoundReference" class="impl"><a class="src rightside"
href="../../src/iceberg/ [...]
diff --git a/api/iceberg/spec/enum.DataFileBuilderError.html
b/api/iceberg/spec/enum.DataFileBuilderError.html
index 49986cb..20194b7 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#933">source</a><a
href="#impl-Debug-for-DataFileBuilderError" class="anchor">§</a><h3
class="code-header">impl <a clas [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Debug-for-DataFileBuilderError" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/manifest.rs.html#933">source</a><a
href="#impl-Debug-for-DataFileBuilderError" class="anchor">§</a><h3
class="code-header">impl <a clas [...]
T: 'static + ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.type_id" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href
[...]
T: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html"
title="trait core::error::Error">Error</a> +
'static,</div></h3></section></summary><div class="impl-items"><details
class="toggle method-toggle" open><summary><section id="method.as_error_source"
class="method trait-impl"><a href="#method.as_error_source"
class="anchor">§</a><h4 class="code-header">fn <a
class="fn">as_error_source</a>(&self) -> &(dyn <a class="trait"
href="https://doc [...]
to benefit from Rust’s automatic dereferencing of method
diff --git a/api/iceberg/spec/enum.DataFileFormat.html
b/api/iceberg/spec/enum.DataFileFormat.html
index f22f530..f3b50ab 100644
--- a/api/iceberg/spec/enum.DataFileFormat.html
+++ b/api/iceberg/spec/enum.DataFileFormat.html
@@ -6,7 +6,7 @@
</div></details><h2 id="variants" class="variants section-header">Variants<a
href="#variants" class="anchor">§</a></h2><div class="variants"><section
id="variant.Avro" class="variant"><a href="#variant.Avro"
class="anchor">§</a><h3 class="code-header">Avro</h3></section><div
class="docblock"><p>Avro file format: <a
href="https://avro.apache.org/">https://avro.apache.org/</a></p>
</div><section id="variant.Orc" class="variant"><a href="#variant.Orc"
class="anchor">§</a><h3 class="code-header">Orc</h3></section><div
class="docblock"><p>Orc file format: <a
href="https://orc.apache.org/">https://orc.apache.org/</a></p>
</div><section id="variant.Parquet" class="variant"><a href="#variant.Parquet"
class="anchor">§</a><h3 class="code-header">Parquet</h3></section><div
class="docblock"><p>Parquet file format: <a
href="https://parquet.apache.org/">https://parquet.apache.org/</a></p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Clone-for-DataFileFormat" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/manifest.rs.html#1165">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#1165">source</a><a
href="#impl-Clone-for-DataFileFormat" class="anchor">§</a><h3
class="code-header">impl <a class="trait" h [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><section
id="impl-Copy-for-DataFileFormat" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/manifest.rs.html#1165">source</a><a
href="#impl-Copy-for-DataFileFormat" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html"
title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Dat
[...]
T: 'static + ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.type_id" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href
[...]
diff --git a/api/iceberg/spec/enum.Literal.html
b/api/iceberg/spec/enum.Literal.html
index 6a40967..1372987 100644
--- a/api/iceberg/spec/enum.Literal.html
+++ b/api/iceberg/spec/enum.Literal.html
@@ -171,9 +171,9 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t2 = Literal::decimal_from_str(<span
class="string">"123.45"</span>).unwrap();
<span class="macro">assert_eq!</span>(t1, t2);</code></pre></div>
-</div></details></div></details><details class="toggle implementors-toggle"
open><summary><section id="impl-Literal-1" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/values.rs.html#1606-1904">source</a><a
href="#impl-Literal-1" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><secti
[...]
+</div></details></div></details><details class="toggle implementors-toggle"
open><summary><section id="impl-Literal-1" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/values.rs.html#1606-1904">source</a><a
href="#impl-Literal-1" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><secti
[...]
<p>See <a
href="https://iceberg.apache.org/spec/#json-single-value-serialization">this
spec</a> for reference.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.try_into_json" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1778-1880">source</a><h4
class="code-header">pub fn <a href="#method.try_into_json"
class="fn">try_into_json</a>(self, type: &<a class="enum"
href="enum.Type.html" title="enum iceberg::spec::Type">Type</a>) -> <a
class="type" href="../type.Result.html" title="type
iceberg::Result">Result</a><<a [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.try_into_json" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1778-1880">source</a><h4
class="code-header">pub fn <a href="#method.try_into_json"
class="fn">try_into_json</a>(self, type: &<a class="enum"
href="enum.Type.html" title="enum iceberg::spec::Type">Type</a>) -> <a
class="type" href="../type.Result.html" title="type
iceberg::Result">Result</a><<a [...]
<p>See <a
href="https://iceberg.apache.org/spec/#json-single-value-serialization">this
spec</a> for reference.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.into_any" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1883-1903">source</a><h4
class="code-header">pub fn <a href="#method.into_any"
class="fn">into_any</a>(self) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/cor [...]
</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-Literal" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1134">source</a><a
href="#impl-Clone-for-Literal" class="anchor">§</a><h3 class="code-header">impl
<a class [...]
diff --git a/api/iceberg/spec/enum.ManifestContentType.html
b/api/iceberg/spec/enum.ManifestContentType.html
index 110bf0e..886dd53 100644
--- a/api/iceberg/spec/enum.ManifestContentType.html
+++ b/api/iceberg/spec/enum.ManifestContentType.html
@@ -4,7 +4,7 @@
}</code></pre><details class="toggle top-doc" open><summary
class="hideme"><span>Expand description</span></summary><div
class="docblock"><p>The type of files tracked by the manifest, either data or
delete files; Data(0) for all v1 manifests</p>
</div></details><h2 id="variants" class="variants section-header">Variants<a
href="#variants" class="anchor">§</a></h2><div class="variants"><section
id="variant.Data" class="variant"><a href="#variant.Data"
class="anchor">§</a><h3 class="code-header">Data = 0</h3></section><div
class="docblock"><p>The manifest content is data.</p>
</div><section id="variant.Deletes" class="variant"><a href="#variant.Deletes"
class="anchor">§</a><h3 class="code-header">Deletes = 1</h3></section><div
class="docblock"><p>The manifest content is deletes.</p>
-</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Clone-for-ManifestContentType" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/manifest_list.rs.html#579">source</a><a
href="#impl-Clone-for-ManifestContentType" class="anchor">§</a><h3
class="code-header">impl <a c [...]
+</div></div><h2 id="trait-implementations" class="section-header">Trait
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Clone-for-ManifestContentType" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/manifest_list.rs.html#579">source</a><a
href="#impl-Clone-for-ManifestContentType" class="anchor">§</a><h3
class="code-header">impl <a c [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section
id="impl-TryFrom%3Ci32%3E-for-ManifestContentType" class="impl"><a class="src
rightside"
href="../../src/iceberg/spec/manifest_list.rs.html#611-627">source</a><a
href="#impl-TryFrom%3Ci32%3E-for-ManifestContentType" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://doc.rust-lang.org/nightly/core/ [...]
T: 'static + ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.type_id" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href
[...]
diff --git a/api/iceberg/spec/enum.PrimitiveType.html
b/api/iceberg/spec/enum.PrimitiveType.html
index d0ab3c2..6a17800 100644
--- a/api/iceberg/spec/enum.PrimitiveType.html
+++ b/api/iceberg/spec/enum.PrimitiveType.html
@@ -41,8 +41,8 @@
__deserializer: __D,
) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"
title="enum core::result::Result">Result</a><<a class="enum"
href="enum.PrimitiveType.html" title="enum
iceberg::spec::PrimitiveType">PrimitiveType</a>, __D::<a class="associatedtype"
href="https://docs.rs/serde/1.0.204/serde/de/trait.Deserializer.html#associatedtype.Error"
title="type serde::de::Deserializer::Error">Error</a>><div
class="where">where
__D: <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/de/trait.Deserializer.html"
title="trait
serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></div></details><details
class="toggle implementors-toggle" open><summary><section
id="impl-PrimitiveType-2" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#238-259">source</a><a
href="#impl-PrimitiveType-2" class="anchor">§</a><h3 class="code-header">impl
<a class="enum" [...]
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-PrimitiveType" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#200">source</a><a
href="#impl-Clone-for-PrimitiveType" class="anchor">§</a><h3
class="code-header" [...]
- D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-PrimitiveType" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#200">source</a><a
href="#impl-Clone-for-PrimitiveType" class="anchor">§</a><h3
class="code-header" [...]
+ D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
H: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Feeds a slice of this type into the given <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read
more</a></div></details></div></d [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
diff --git a/api/iceberg/spec/enum.Transform.html
b/api/iceberg/spec/enum.Transform.html
index 7038664..4fafb1e 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.204/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.204/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.204/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.204/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#666-671">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.204/serde/ser/trait.Serialize.html"
title="trait se [...]
S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/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 abd6bb4..c489efe 100644
--- a/api/iceberg/spec/enum.Type.html
+++ b/api/iceberg/spec/enum.Type.html
@@ -18,7 +18,7 @@
</div></details><details class="toggle method-toggle" open><summary><section
id="method.decimal" class="method"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#160-163">source</a><h4
class="code-header">pub fn <a href="#method.decimal"
class="fn">decimal</a>(precision: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, scale:
<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&g
[...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.is_floating_type" class="method"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#167-172">source</a><h4
class="code-header">pub fn <a href="#method.is_floating_type"
class="fn">is_floating_type</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div
class="docblock"><p>Check if it’s float o [...]
</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Type" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#80">source</a><a
href="#impl-Clone-for-Type" class="anchor">§</a><h3 class="code-header">impl <a
class="tra [...]
- D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
+ D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Serialize-for-Type"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#261-267">source</a><a
href="#impl-Serialize-for-Type" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/ser/trait.Serialize.html"
title="trait serde::ser:: [...]
S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/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.UnboundPartitionSpecBuilderError.html
b/api/iceberg/spec/enum.UnboundPartitionSpecBuilderError.html
index 2b12dcc..f427754 100644
--- a/api/iceberg/spec/enum.UnboundPartitionSpecBuilderError.html
+++ b/api/iceberg/spec/enum.UnboundPartitionSpecBuilderError.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 UnboundPartitionSpecBuilder</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-UnboundPartitionSpecBuilderError"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/partition.rs.html#120">source</a><a
href="#impl-Debug-for-UnboundPartitionSpecBuilderError" class="anchor">§</a><h3
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-UnboundPartitionSpecBuilderError"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/partition.rs.html#120">source</a><a
href="#impl-Debug-for-UnboundPartitionSpecBuilderError" class="anchor">§</a><h3
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/struct.Datum.html
b/api/iceberg/spec/struct.Datum.html
index e5cdd18..d5b55cd 100644
--- a/api/iceberg/spec/struct.Datum.html
+++ b/api/iceberg/spec/struct.Datum.html
@@ -251,7 +251,7 @@ Example:</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.data_type" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1012-1014">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#1018-1024">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#105">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#105">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.Schema.html
b/api/iceberg/spec/struct.Schema.html
index ffa19ff..fcb81cb 100644
--- a/api/iceberg/spec/struct.Schema.html
+++ b/api/iceberg/spec/struct.Schema.html
@@ -17,11 +17,11 @@
</div></details><details class="toggle method-toggle" open><summary><section
id="method.field_id_by_name" class="method"><a class="src rightside"
href="../../src/iceberg/spec/schema.rs.html#337-339">source</a><h4
class="code-header">pub fn <a href="#method.field_id_by_name"
class="fn">field_id_by_name</a>(&self, name: &<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) ->
<a class="enum" href="https://doc.rust-lang.org/nightly/core/op [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.name_by_field_id" class="method"><a class="src rightside"
href="../../src/iceberg/spec/schema.rs.html#342-344">source</a><h4
class="code-header">pub fn <a href="#method.name_by_field_id"
class="fn">name_by_field_id</a>(&self, field_id: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) ->
<a class="enum" href="https://doc.rust-lang.org/nightly/core/opt [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.accessor_by_field_id" class="method"><a class="src rightside"
href="../../src/iceberg/spec/schema.rs.html#347-349">source</a><h4
class="code-header">pub fn <a href="#method.accessor_by_field_id"
class="fn">accessor_by_field_id</a>(&self, field_id: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) ->
<a class="enum" href="https://doc.rust-lang.org/nigh [...]
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Schema" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a
href="#impl-Clone-for-Schema" class="anchor">§</a><h3 class="code-header">impl
<a class="tr [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Schema" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a
href="#impl-Clone-for-Schema" class="anchor">§</a><h3 class="code-header">impl
<a class="tr [...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Displ [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Serialize-for-Schema"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a
href="#impl-Serialize-for-Schema" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/ser/trait.Serialize.html"
title="trait serde::ser::Seri [...]
- __S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section
id="impl-TryFrom%3C%26Schema%3E-for- [...]
+ __S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section
id="impl-TryFrom%3C%26Schema%3E-for- [...]
T: 'static + ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.type_id" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href
[...]
T: ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.borrow" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a
href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a
href="https:/ [...]
T: ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.borrow_mut" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a
href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a
href= [...]
diff --git a/api/iceberg/spec/struct.SortField.html
b/api/iceberg/spec/struct.SortField.html
index 4c040d2..286eb33 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.204/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.204/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.204/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.204/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.204/serde/ser/trait.Serialize.html"
title="trait serde::ser:: [...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section id="impl-Eq-for-SortField"
class="impl"><a class="src rightside" href="../../src/iceberg/spec/ [...]
diff --git a/api/iceberg/spec/struct.StructType.html
b/api/iceberg/spec/struct.StructType.html
index 2930822..3261147 100644
--- a/api/iceberg/spec/struct.StructType.html
+++ b/api/iceberg/spec/struct.StructType.html
@@ -3,8 +3,8 @@
</div></details><details class="toggle method-toggle" open><summary><section
id="method.field_by_id" class="method"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#440-442">source</a><h4
class="code-header">pub fn <a href="#method.field_by_id"
class="fn">field_by_id</a>(&self, id: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) ->
<a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.ht [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.field_by_name" class="method"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#454-456">source</a><h4
class="code-header">pub fn <a href="#method.field_by_name"
class="fn">field_by_name</a>(&self, name: &<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) ->
<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/e [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.fields" class="method"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#473-475">source</a><h4
class="code-header">pub fn <a href="#method.fields"
class="fn">fields</a>(&self) -> &[<a class="type"
href="type.NestedFieldRef.html" title="type
iceberg::spec::NestedFieldRef">NestedFieldRef</a>]</h4></section></summary><div
class="docblock"><p>Get fields.</p>
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-StructType" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#372">source</a><a
href="#impl-Clone-for-StructType" class="anchor">§</a><h3
class="code-header">impl [...]
- D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-StructType" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#372">source</a><a
href="#impl-Clone-for-StructType" class="anchor">§</a><h3
class="code-header">impl [...]
+ D: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Display [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Serialize-for-StructType"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/datatypes.rs.html#372">source</a><a
href="#impl-Serialize-for-StructType" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.204/serde/ser/trait.Serialize.html"
title="trait serd [...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.204/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.204/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details><section id="impl-Eq-for-StructType"
class="impl"><a class="src rightside" href="../../src/iceberg/spec [...]
diff --git a/api/iceberg/struct.Error.html b/api/iceberg/struct.Error.html
index d3ed5c7..a968d28 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_catalog_memory/struct.MemoryCatalog.html
b/api/iceberg_catalog_memory/struct.MemoryCatalog.html
index 6c1b85a..4218327 100644
--- a/api/iceberg_catalog_memory/struct.MemoryCatalog.html
+++ b/api/iceberg_catalog_memory/struct.MemoryCatalog.html
@@ -1,13 +1,13 @@
-<!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="Memory
catalog implementation."><title>MemoryCatalog in iceberg_catalog_memory -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium
[...]
-</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-MemoryCatalog"
class="impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#43-51">source</a><a
href="#impl-MemoryCatalog" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.MemoryCatalog.html" ti [...]
-</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-Catalog-for-MemoryCatalog" class="impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#54-266">source</a><a
href="#impl-Catalog-for-MemoryCatalog" class="anchor">§</a><h3 class=" [...]
+<!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="Memory
catalog implementation."><title>MemoryCatalog in iceberg_catalog_memory -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium
[...]
+</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-MemoryCatalog"
class="impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#47-56">source</a><a
href="#impl-MemoryCatalog" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.MemoryCatalog.html" ti [...]
+</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-Catalog-for-MemoryCatalog" class="impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#59-280">source</a><a
href="#impl-Catalog-for-MemoryCatalog" class="anchor">§</a><h3 class=" [...]
&'life0 self,
maybe_parent: <a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::option::Option">Option</a><&'life1 NamespaceIdent>,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output = Result<<a
class="struct" href="https://doc.rust-lang.org/nig [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>List namespaces inside the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.create_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#85-96">source</a><a
href="#method.create_namespace" class="anchor">§</a><h4 class="code-header">fn
<a class="fn">create_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.create_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#90-101">source</a><a
href="#method.create_namespace" class="anchor">§</a><h4 class="code-header">fn
<a class="fn">create_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace_ident: &'life1 NamespaceIdent,
properties: <a class="struct"
href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html"
title="struct std::collections::hash::map::HashMap">HashMap</a><<a
class="struct"
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"
title="struct alloc::string::String">String</a>, <a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"
title="struct alloc::string::String">String</a>>,
@@ -15,21 +15,21 @@
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Create a new namespace inside the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.get_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#99-110">source</a><a
href="#method.get_namespace" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">get_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.get_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#104-115">source</a><a
href="#method.get_namespace" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">get_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace_ident: &'life1 NamespaceIdent,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output =
Result<Namespace>> + <a class="trait" href="https://do [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Get a namespace information from the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.namespace_exists" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#113-117">source</a><a
href="#method.namespace_exists" class="anchor">§</a><h4 class="code-header">fn
<a class="fn">namespace_exists</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.namespace_exists" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#118-122">source</a><a
href="#method.namespace_exists" class="anchor">§</a><h4 class="code-header">fn
<a class="fn">namespace_exists</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace_ident: &'life1 NamespaceIdent,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output = Result<<a
class="primitive" href="https://doc.rust-lang.org/ [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Check if namespace exists in catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.update_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#124-132">source</a><a
href="#method.update_namespace" class="anchor">§</a><h4 class="code-header">fn
<a class="fn">update_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.update_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#129-137">source</a><a
href="#method.update_namespace" class="anchor">§</a><h4 class="code-header">fn
<a class="fn">update_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace_ident: &'life1 NamespaceIdent,
properties: <a class="struct"
href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html"
title="struct std::collections::hash::map::HashMap">HashMap</a><<a
class="struct"
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"
title="struct alloc::string::String">String</a>, <a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"
title="struct alloc::string::String">String</a>>,
@@ -39,21 +39,21 @@
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Update a namespace inside the catalog.</p>
<h5 id="behavior"><a class="doc-anchor" href="#behavior">§</a>Behavior</h5>
<p>The properties must be the full set of namespace.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.drop_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#135-139">source</a><a
href="#method.drop_namespace" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">drop_namespace</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.drop_namespace" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#140-144">source</a><a
href="#method.drop_namespace" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">drop_namespace</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace_ident: &'life1 NamespaceIdent,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output = Result<<a
class="primitive" href="https://doc.rust-lang.org/ [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Drop a namespace from the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.list_tables" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#142-152">source</a><a
href="#method.list_tables" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">list_tables</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.list_tables" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#147-157">source</a><a
href="#method.list_tables" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">list_tables</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace_ident: &'life1 NamespaceIdent,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output = Result<<a
class="struct" href="https://doc.rust-lang.org/nig [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>List tables from namespace.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.create_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#155-206">source</a><a
href="#method.create_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">create_table</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.create_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#160-220">source</a><a
href="#method.create_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">create_table</a><'life0, 'life1, 'async_trait>(
&'life0 self,
namespace_ident: &'life1 NamespaceIdent,
table_creation: TableCreation,
@@ -61,28 +61,28 @@
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Create a new table inside the namespace.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.load_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#209-224">source</a><a
href="#method.load_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">load_table</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.load_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#223-238">source</a><a
href="#method.load_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">load_table</a><'life0, 'life1, 'async_trait>(
&'life0 self,
table_ident: &'life1 TableIdent,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output =
Result<Table>> + <a class="trait" href="https://doc.ru [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Load table from the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.drop_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#227-231">source</a><a
href="#method.drop_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">drop_table</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.drop_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#241-245">source</a><a
href="#method.drop_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">drop_table</a><'life0, 'life1, 'async_trait>(
&'life0 self,
table_ident: &'life1 TableIdent,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output = Result<<a
class="primitive" href="https://doc.rust-lang.org/ [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Drop a table from the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.table_exists" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#234-238">source</a><a
href="#method.table_exists" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">table_exists</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.table_exists" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#248-252">source</a><a
href="#method.table_exists" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">table_exists</a><'life0, 'life1, 'async_trait>(
&'life0 self,
table_ident: &'life1 TableIdent,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output = Result<<a
class="primitive" href="https://doc.rust-lang.org/ [...]
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Check if a table exists in the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.rename_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#241-257">source</a><a
href="#method.rename_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">rename_table</a><'life0, 'life1, 'life2, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.rename_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#255-271">source</a><a
href="#method.rename_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">rename_table</a><'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
src_table_ident: &'life1 TableIdent,
dst_table_ident: &'life2 TableIdent,
@@ -91,13 +91,13 @@
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Rename a table in the catalog.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.update_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#260-265">source</a><a
href="#method.update_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">update_table</a><'life0, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.update_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#274-279">source</a><a
href="#method.update_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">update_table</a><'life0, 'async_trait>(
&'life0 self,
_commit: TableCommit,
) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct
core::pin::Pin">Pin</a><<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html"
title="trait core::future::future::Future">Future</a><Output =
Result<Table>> + <a class="trait" href="https://doc.ru [...]
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div
class="docblock"><p>Update a table to the catalog.</p>
-</div></details></div></details><details class="toggle implementors-toggle"
open><summary><section id="impl-Debug-for-MemoryCatalog" class="impl"><a
class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#37">source</a><a
href="#impl-Debug-for-MemoryCatalog" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait
core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Memory [...]
+</div></details></div></details><details class="toggle implementors-toggle"
open><summary><section id="impl-Debug-for-MemoryCatalog" class="impl"><a
class="src rightside"
href="../src/iceberg_catalog_memory/catalog.rs.html#40">source</a><a
href="#impl-Debug-for-MemoryCatalog" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait
core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Memory [...]
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/search-index.js b/api/search-index.js
index bb21dce..c708ddb 100644
--- a/api/search-index.js
+++ b/api/search-index.js
@@ -1,8 +1,8 @@
var searchIndex = new Map(JSON.parse('[\
-["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
[...]
+["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPIPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMOONNNNNMMQNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNONOOMOCOONNNNONCOCMNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOFFKRRNNNNNNNNHNNNNNNNNNNNNNNNNNNNMMMNMHMNNNNNNNNNNPPPPPPPPFKRGFIPPPPPPPPFPPPPPPPPPGGFPPFPIPPFNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
[...]
["iceberg_catalog_glue",{"t":"SSSSSFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQ","n":["AWS_ACCESS_KEY_ID","AWS_PROFILE_NAME","AWS_REGION_NAME","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","GlueCatalog","GlueCatalogConfig","borrow","borrow","borrow_mut","borrow_mut","builder","create_namespace","create_table","drop_namespace","drop_table","file_io","fmt","fmt","from","from","get_namespace","into","into","into_shared","into_shared","list_namespaces","list_tables","load_table","namespace_exists",
[...]
["iceberg_catalog_hms",{"t":"PPFFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Buffered","Framed","HmsCatalog","HmsCatalogConfig","HmsThriftTransport","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","builder","create_namespace","create_table","default","drop_namespace","drop_table","file_io","fmt","fmt","fmt","from","from","from","get_namespace","into","into","into","list_namespaces","list_tables","load_table","namespace_exists","new","rename_table","table_exists
[...]
-["iceberg_catalog_memory",{"t":"FNNNNNNNNNNNNNNNNNNNNNNN","n":["MemoryCatalog","borrow","borrow_mut","create_namespace","create_table","drop_namespace","drop_table","fmt","from","get_namespace","into","list_namespaces","list_tables","load_table","namespace_exists","new","rename_table","table_exists","try_from","try_into","type_id","update_namespace","update_table","vzip"],"q":[[0,"iceberg_catalog_memory"],[24,"iceberg_catalog_memory::catalog"],[25,"iceberg::catalog"],[26,"alloc::string"]
[...]
+["iceberg_catalog_memory",{"t":"FNNNNNNNNNNNNNNNNNNNNNNN","n":["MemoryCatalog","borrow","borrow_mut","create_namespace","create_table","drop_namespace","drop_table","fmt","from","get_namespace","into","list_namespaces","list_tables","load_table","namespace_exists","new","rename_table","table_exists","try_from","try_into","type_id","update_namespace","update_table","vzip"],"q":[[0,"iceberg_catalog_memory"],[24,"iceberg_catalog_memory::catalog"],[25,"iceberg::catalog"],[26,"alloc::string"]
[...]
["iceberg_catalog_rest",{"t":"FFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["RestCatalog","RestCatalogConfig","borrow","borrow","borrow_mut","borrow_mut","builder","clone","clone_into","create_namespace","create_table","drop_namespace","drop_table","fmt","fmt","from","from","get_namespace","into","into","list_namespaces","list_tables","load_table","namespace_exists","new","rename_table","table_exists","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update_names
[...]
["iceberg_datafusion",{"t":"FNNNNHNNNHNNNNN","n":["IcebergCatalogProvider","as_any","borrow","borrow_mut","from","from_datafusion_error","into","schema","schema_names","to_datafusion_error","try_from","try_into","try_new","type_id","vzip"],"q":[[0,"iceberg_datafusion"],[15,"iceberg_datafusion::catalog"],[16,"core::any"],[17,"datafusion_common::error"],[18,"iceberg::error"],[19,"datafusion::catalog::schema"],[20,"alloc::sync"],[21,"core::option"],[22,"alloc::string"],[23,"alloc::vec"],[24
[...]
["iceberg_test_utils",{"t":"CHHFNNNNNNNNNNNNN","n":["docker","normalize_test_name","set_up","DockerCompose","borrow","borrow_mut","drop","fmt","from","get_container_ip","into","new","project_name","run","try_from","try_into","type_id"],"q":[[0,"iceberg_test_utils"],[3,"iceberg_test_utils::docker"],[17,"alloc::string"],[18,"core::fmt"],[19,"core::net::ip_addr"],[20,"core::convert"],[21,"core::result"],[22,"core::any"],[23,"iceberg_test_utils::common"]],"i":[0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6
[...]
diff --git a/api/src/iceberg_catalog_memory/catalog.rs.html
b/api/src/iceberg_catalog_memory/catalog.rs.html
index 1922042..d6c1ac2 100644
--- a/api/src/iceberg_catalog_memory/catalog.rs.html
+++ b/api/src/iceberg_catalog_memory/catalog.rs.html
@@ -1447,6 +1447,239 @@
<a href="#1447" id="1447">1447</a>
<a href="#1448" id="1448">1448</a>
<a href="#1449" id="1449">1449</a>
+<a href="#1450" id="1450">1450</a>
+<a href="#1451" id="1451">1451</a>
+<a href="#1452" id="1452">1452</a>
+<a href="#1453" id="1453">1453</a>
+<a href="#1454" id="1454">1454</a>
+<a href="#1455" id="1455">1455</a>
+<a href="#1456" id="1456">1456</a>
+<a href="#1457" id="1457">1457</a>
+<a href="#1458" id="1458">1458</a>
+<a href="#1459" id="1459">1459</a>
+<a href="#1460" id="1460">1460</a>
+<a href="#1461" id="1461">1461</a>
+<a href="#1462" id="1462">1462</a>
+<a href="#1463" id="1463">1463</a>
+<a href="#1464" id="1464">1464</a>
+<a href="#1465" id="1465">1465</a>
+<a href="#1466" id="1466">1466</a>
+<a href="#1467" id="1467">1467</a>
+<a href="#1468" id="1468">1468</a>
+<a href="#1469" id="1469">1469</a>
+<a href="#1470" id="1470">1470</a>
+<a href="#1471" id="1471">1471</a>
+<a href="#1472" id="1472">1472</a>
+<a href="#1473" id="1473">1473</a>
+<a href="#1474" id="1474">1474</a>
+<a href="#1475" id="1475">1475</a>
+<a href="#1476" id="1476">1476</a>
+<a href="#1477" id="1477">1477</a>
+<a href="#1478" id="1478">1478</a>
+<a href="#1479" id="1479">1479</a>
+<a href="#1480" id="1480">1480</a>
+<a href="#1481" id="1481">1481</a>
+<a href="#1482" id="1482">1482</a>
+<a href="#1483" id="1483">1483</a>
+<a href="#1484" id="1484">1484</a>
+<a href="#1485" id="1485">1485</a>
+<a href="#1486" id="1486">1486</a>
+<a href="#1487" id="1487">1487</a>
+<a href="#1488" id="1488">1488</a>
+<a href="#1489" id="1489">1489</a>
+<a href="#1490" id="1490">1490</a>
+<a href="#1491" id="1491">1491</a>
+<a href="#1492" id="1492">1492</a>
+<a href="#1493" id="1493">1493</a>
+<a href="#1494" id="1494">1494</a>
+<a href="#1495" id="1495">1495</a>
+<a href="#1496" id="1496">1496</a>
+<a href="#1497" id="1497">1497</a>
+<a href="#1498" id="1498">1498</a>
+<a href="#1499" id="1499">1499</a>
+<a href="#1500" id="1500">1500</a>
+<a href="#1501" id="1501">1501</a>
+<a href="#1502" id="1502">1502</a>
+<a href="#1503" id="1503">1503</a>
+<a href="#1504" id="1504">1504</a>
+<a href="#1505" id="1505">1505</a>
+<a href="#1506" id="1506">1506</a>
+<a href="#1507" id="1507">1507</a>
+<a href="#1508" id="1508">1508</a>
+<a href="#1509" id="1509">1509</a>
+<a href="#1510" id="1510">1510</a>
+<a href="#1511" id="1511">1511</a>
+<a href="#1512" id="1512">1512</a>
+<a href="#1513" id="1513">1513</a>
+<a href="#1514" id="1514">1514</a>
+<a href="#1515" id="1515">1515</a>
+<a href="#1516" id="1516">1516</a>
+<a href="#1517" id="1517">1517</a>
+<a href="#1518" id="1518">1518</a>
+<a href="#1519" id="1519">1519</a>
+<a href="#1520" id="1520">1520</a>
+<a href="#1521" id="1521">1521</a>
+<a href="#1522" id="1522">1522</a>
+<a href="#1523" id="1523">1523</a>
+<a href="#1524" id="1524">1524</a>
+<a href="#1525" id="1525">1525</a>
+<a href="#1526" id="1526">1526</a>
+<a href="#1527" id="1527">1527</a>
+<a href="#1528" id="1528">1528</a>
+<a href="#1529" id="1529">1529</a>
+<a href="#1530" id="1530">1530</a>
+<a href="#1531" id="1531">1531</a>
+<a href="#1532" id="1532">1532</a>
+<a href="#1533" id="1533">1533</a>
+<a href="#1534" id="1534">1534</a>
+<a href="#1535" id="1535">1535</a>
+<a href="#1536" id="1536">1536</a>
+<a href="#1537" id="1537">1537</a>
+<a href="#1538" id="1538">1538</a>
+<a href="#1539" id="1539">1539</a>
+<a href="#1540" id="1540">1540</a>
+<a href="#1541" id="1541">1541</a>
+<a href="#1542" id="1542">1542</a>
+<a href="#1543" id="1543">1543</a>
+<a href="#1544" id="1544">1544</a>
+<a href="#1545" id="1545">1545</a>
+<a href="#1546" id="1546">1546</a>
+<a href="#1547" id="1547">1547</a>
+<a href="#1548" id="1548">1548</a>
+<a href="#1549" id="1549">1549</a>
+<a href="#1550" id="1550">1550</a>
+<a href="#1551" id="1551">1551</a>
+<a href="#1552" id="1552">1552</a>
+<a href="#1553" id="1553">1553</a>
+<a href="#1554" id="1554">1554</a>
+<a href="#1555" id="1555">1555</a>
+<a href="#1556" id="1556">1556</a>
+<a href="#1557" id="1557">1557</a>
+<a href="#1558" id="1558">1558</a>
+<a href="#1559" id="1559">1559</a>
+<a href="#1560" id="1560">1560</a>
+<a href="#1561" id="1561">1561</a>
+<a href="#1562" id="1562">1562</a>
+<a href="#1563" id="1563">1563</a>
+<a href="#1564" id="1564">1564</a>
+<a href="#1565" id="1565">1565</a>
+<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>
+<a href="#1618" id="1618">1618</a>
+<a href="#1619" id="1619">1619</a>
+<a href="#1620" id="1620">1620</a>
+<a href="#1621" id="1621">1621</a>
+<a href="#1622" id="1622">1622</a>
+<a href="#1623" id="1623">1623</a>
+<a href="#1624" id="1624">1624</a>
+<a href="#1625" id="1625">1625</a>
+<a href="#1626" id="1626">1626</a>
+<a href="#1627" id="1627">1627</a>
+<a href="#1628" id="1628">1628</a>
+<a href="#1629" id="1629">1629</a>
+<a href="#1630" id="1630">1630</a>
+<a href="#1631" id="1631">1631</a>
+<a href="#1632" id="1632">1632</a>
+<a href="#1633" id="1633">1633</a>
+<a href="#1634" id="1634">1634</a>
+<a href="#1635" id="1635">1635</a>
+<a href="#1636" id="1636">1636</a>
+<a href="#1637" id="1637">1637</a>
+<a href="#1638" id="1638">1638</a>
+<a href="#1639" id="1639">1639</a>
+<a href="#1640" id="1640">1640</a>
+<a href="#1641" id="1641">1641</a>
+<a href="#1642" id="1642">1642</a>
+<a href="#1643" id="1643">1643</a>
+<a href="#1644" id="1644">1644</a>
+<a href="#1645" id="1645">1645</a>
+<a href="#1646" id="1646">1646</a>
+<a href="#1647" id="1647">1647</a>
+<a href="#1648" id="1648">1648</a>
+<a href="#1649" id="1649">1649</a>
+<a href="#1650" id="1650">1650</a>
+<a href="#1651" id="1651">1651</a>
+<a href="#1652" id="1652">1652</a>
+<a href="#1653" id="1653">1653</a>
+<a href="#1654" id="1654">1654</a>
+<a href="#1655" id="1655">1655</a>
+<a href="#1656" id="1656">1656</a>
+<a href="#1657" id="1657">1657</a>
+<a href="#1658" id="1658">1658</a>
+<a href="#1659" id="1659">1659</a>
+<a href="#1660" id="1660">1660</a>
+<a href="#1661" id="1661">1661</a>
+<a href="#1662" id="1662">1662</a>
+<a href="#1663" id="1663">1663</a>
+<a href="#1664" id="1664">1664</a>
+<a href="#1665" id="1665">1665</a>
+<a href="#1666" id="1666">1666</a>
+<a href="#1667" id="1667">1667</a>
+<a href="#1668" id="1668">1668</a>
+<a href="#1669" id="1669">1669</a>
+<a href="#1670" id="1670">1670</a>
+<a href="#1671" id="1671">1671</a>
+<a href="#1672" id="1672">1672</a>
+<a href="#1673" id="1673">1673</a>
+<a href="#1674" id="1674">1674</a>
+<a href="#1675" id="1675">1675</a>
+<a href="#1676" id="1676">1676</a>
+<a href="#1677" id="1677">1677</a>
+<a href="#1678" id="1678">1678</a>
+<a href="#1679" id="1679">1679</a>
+<a href="#1680" id="1680">1680</a>
+<a href="#1681" id="1681">1681</a>
+<a href="#1682" id="1682">1682</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
@@ -1482,19 +1715,24 @@
<span class="kw">use </span><span
class="kw">crate</span>::namespace_state::NamespaceState;
+<span class="doccomment">/// namespace `location` property
+</span><span class="kw">const </span>LOCATION: <span
class="kw-2">&</span>str = <span class="string">"location"</span>;
+
<span class="doccomment">/// Memory catalog implementation.
</span><span class="attr">#[derive(Debug)]
</span><span class="kw">pub struct </span>MemoryCatalog {
root_namespace_state: Mutex<NamespaceState>,
file_io: FileIO,
+ warehouse_location: <span class="prelude-ty">Option</span><String>,
}
<span class="kw">impl </span>MemoryCatalog {
<span class="doccomment">/// Creates an memory catalog.
- </span><span class="kw">pub fn </span>new(file_io: FileIO) -> <span
class="self">Self </span>{
+ </span><span class="kw">pub fn </span>new(file_io: FileIO,
warehouse_location: <span class="prelude-ty">Option</span><String>) ->
<span class="self">Self </span>{
<span class="self">Self </span>{
root_namespace_state: Mutex::new(NamespaceState::default()),
file_io,
+ warehouse_location,
}
}
}
@@ -1614,11 +1852,20 @@
<span class="kw">let </span>(table_creation, location) = <span
class="kw">match </span>table_creation.location.clone() {
<span class="prelude-val">Some</span>(location) =>
(table_creation, location),
<span class="prelude-val">None </span>=> {
- <span class="kw">let </span>location = <span
class="macro">format!</span>(
- <span class="string">"{}/{}"</span>,
- table_ident.namespace().join(<span
class="string">"/"</span>),
- table_ident.name()
- );
+ <span class="kw">let </span>namespace_properties =
root_namespace_state.get_properties(namespace_ident)<span
class="question-mark">?</span>;
+ <span class="kw">let </span>location_prefix = <span
class="kw">match </span>namespace_properties.get(LOCATION) {
+ <span class="prelude-val">Some</span>(namespace_location)
=> <span class="prelude-val">Ok</span>(namespace_location.clone()),
+ <span class="prelude-val">None </span>=> <span
class="kw">match </span><span
class="self">self</span>.warehouse_location.clone() {
+ <span
class="prelude-val">Some</span>(warehouse_location) => <span
class="prelude-val">Ok</span>(<span class="macro">format!</span>(<span
class="string">"{}/{}"</span>, warehouse_location, namespace_ident.join(<span
class="string">"/"</span>))),
+ <span class="prelude-val">None </span>=> <span
class="prelude-val">Err</span>(Error::new(ErrorKind::Unexpected,
+ <span class="macro">format!</span>(
+ <span class="string">"Cannot create table
{:?}. No default path is set, please specify a location when creating a
table."</span>,
+ <span class="kw-2">&</span>table_ident
+ )))
+ },
+ }<span class="question-mark">?</span>;
+
+ <span class="kw">let </span>location = <span
class="macro">format!</span>(<span class="string">"{}/{}"</span>,
location_prefix, table_ident.name());
<span class="kw">let </span>new_table_creation = TableCreation
{
location: <span
class="prelude-val">Some</span>(location.clone()),
@@ -1722,13 +1969,20 @@
<span class="kw">use </span>iceberg::io::FileIOBuilder;
<span class="kw">use </span>iceberg::spec::{NestedField, PartitionSpec,
PrimitiveType, Schema, SortOrder, Type};
+ <span class="kw">use </span>regex::Regex;
<span class="kw">use </span>tempfile::TempDir;
<span class="kw">use super</span>::<span class="kw-2">*</span>;
+ <span class="kw">fn </span>temp_path() -> String {
+ <span class="kw">let </span>temp_dir = TempDir::new().unwrap();
+ temp_dir.path().to_str().unwrap().to_string()
+ }
+
<span class="kw">fn </span>new_memory_catalog() -> <span
class="kw">impl </span>Catalog {
<span class="kw">let </span>file_io =
FileIOBuilder::new_fs_io().build().unwrap();
- MemoryCatalog::new(file_io)
+ <span class="kw">let </span>warehouse_location = temp_path();
+ MemoryCatalog::new(file_io, <span
class="prelude-val">Some</span>(warehouse_location))
}
<span class="kw">async fn </span>create_namespace<C:
Catalog>(catalog: <span class="kw-2">&</span>C, namespace_ident: <span
class="kw-2">&</span>NamespaceIdent) {
@@ -1761,16 +2015,12 @@
}
<span class="kw">async fn </span>create_table<C: Catalog>(catalog:
<span class="kw-2">&</span>C, table_ident: <span
class="kw-2">&</span>TableIdent) {
- <span class="kw">let </span>tmp_dir = TempDir::new().unwrap();
- <span class="kw">let </span>location =
tmp_dir.path().to_str().unwrap().to_string();
-
<span class="kw">let _ </span>= catalog
.create_table(
<span class="kw-2">&</span>table_ident.namespace,
TableCreation::builder()
.name(table_ident.name().into())
.schema(simple_table_schema())
- .location(location)
.build(),
)
.<span class="kw">await
@@ -1823,6 +2073,14 @@
<span class="macro">assert!</span>(!table.readonly());
}
+ <span class="kw">const </span>UUID_REGEX_STR: <span
class="kw-2">&</span>str = <span
class="string">"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"</span>;
+
+ <span class="kw">fn </span>assert_table_metadata_location_matches(table:
<span class="kw-2">&</span>Table, regex_str: <span
class="kw-2">&</span>str) {
+ <span class="kw">let </span>actual =
table.metadata_location().unwrap().to_string();
+ <span class="kw">let </span>regex = Regex::new(regex_str).unwrap();
+ <span class="macro">assert!</span>(regex.is_match(<span
class="kw-2">&</span>actual))
+ }
+
<span class="attr">#[tokio::test]
</span><span class="kw">async fn
</span>test_list_namespaces_returns_empty_vector() {
<span class="kw">let </span>catalog = new_memory_catalog();
@@ -2439,12 +2697,220 @@
.metadata_location()
.unwrap()
.to_string()
- .starts_with(<span class="kw-2">&</span>location));
+ .starts_with(<span class="kw-2">&</span>location))
+ }
- assert_table_eq(
- <span class="kw-2">&</span>catalog.load_table(<span
class="kw-2">&</span>expected_table_ident).<span
class="kw">await</span>.unwrap(),
- <span class="kw-2">&</span>expected_table_ident,
- <span class="kw-2">&</span>simple_table_schema(),
+ <span class="attr">#[tokio::test]
+ </span><span class="kw">async fn
</span>test_create_table_falls_back_to_namespace_location_if_table_location_is_missing()
{
+ <span class="kw">let </span>file_io =
FileIOBuilder::new_fs_io().build().unwrap();
+ <span class="kw">let </span>warehouse_location = temp_path();
+ <span class="kw">let </span>catalog = MemoryCatalog::new(file_io,
<span class="prelude-val">Some</span>(warehouse_location.clone()));
+
+ <span class="kw">let </span>namespace_ident =
NamespaceIdent::new(<span class="string">"a"</span>.into());
+ <span class="kw">let </span><span class="kw-2">mut
</span>namespace_properties = HashMap::new();
+ <span class="kw">let </span>namespace_location = temp_path();
+ namespace_properties.insert(LOCATION.to_string(),
namespace_location.to_string());
+ catalog
+ .create_namespace(<span class="kw-2">&</span>namespace_ident,
namespace_properties)
+ .<span class="kw">await
+ </span>.unwrap();
+
+ <span class="kw">let </span>table_name = <span
class="string">"tbl1"</span>;
+ <span class="kw">let </span>expected_table_ident =
TableIdent::new(namespace_ident.clone(), table_name.into());
+ <span class="kw">let </span>expected_table_metadata_location_regex =
<span class="macro">format!</span>(
+ <span
class="string">"^{}/tbl1/metadata/0-{}.metadata.json$"</span>,
+ namespace_location, UUID_REGEX_STR,
+ );
+
+ <span class="kw">let </span>table = catalog
+ .create_table(
+ <span class="kw-2">&</span>namespace_ident,
+ TableCreation::builder()
+ .name(table_name.into())
+ .schema(simple_table_schema())
+ <span class="comment">// no location specified for table
+ </span>.build(),
+ )
+ .<span class="kw">await
+ </span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+
+ <span class="kw">let </span>table = catalog.load_table(<span
class="kw-2">&</span>expected_table_ident).<span
class="kw">await</span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+ }
+
+ <span class="attr">#[tokio::test]
+ </span><span class="kw">async fn
</span>test_create_table_in_nested_namespace_falls_back_to_nested_namespace_location_if_table_location_is_missing(
+ ) {
+ <span class="kw">let </span>file_io =
FileIOBuilder::new_fs_io().build().unwrap();
+ <span class="kw">let </span>warehouse_location = temp_path();
+ <span class="kw">let </span>catalog = MemoryCatalog::new(file_io,
<span class="prelude-val">Some</span>(warehouse_location.clone()));
+
+ <span class="kw">let </span>namespace_ident =
NamespaceIdent::new(<span class="string">"a"</span>.into());
+ <span class="kw">let </span><span class="kw-2">mut
</span>namespace_properties = HashMap::new();
+ <span class="kw">let </span>namespace_location = temp_path();
+ namespace_properties.insert(LOCATION.to_string(),
namespace_location.to_string());
+ catalog
+ .create_namespace(<span class="kw-2">&</span>namespace_ident,
namespace_properties)
+ .<span class="kw">await
+ </span>.unwrap();
+
+ <span class="kw">let </span>nested_namespace_ident =
NamespaceIdent::from_strs(<span class="macro">vec!</span>[<span
class="string">"a"</span>, <span class="string">"b"</span>]).unwrap();
+ <span class="kw">let </span><span class="kw-2">mut
</span>nested_namespace_properties = HashMap::new();
+ <span class="kw">let </span>nested_namespace_location = temp_path();
+ nested_namespace_properties
+ .insert(LOCATION.to_string(),
nested_namespace_location.to_string());
+ catalog
+ .create_namespace(<span
class="kw-2">&</span>nested_namespace_ident, nested_namespace_properties)
+ .<span class="kw">await
+ </span>.unwrap();
+
+ <span class="kw">let </span>table_name = <span
class="string">"tbl1"</span>;
+ <span class="kw">let </span>expected_table_ident =
+ TableIdent::new(nested_namespace_ident.clone(), table_name.into());
+ <span class="kw">let </span>expected_table_metadata_location_regex =
<span class="macro">format!</span>(
+ <span
class="string">"^{}/tbl1/metadata/0-{}.metadata.json$"</span>,
+ nested_namespace_location, UUID_REGEX_STR,
+ );
+
+ <span class="kw">let </span>table = catalog
+ .create_table(
+ <span class="kw-2">&</span>nested_namespace_ident,
+ TableCreation::builder()
+ .name(table_name.into())
+ .schema(simple_table_schema())
+ <span class="comment">// no location specified for table
+ </span>.build(),
+ )
+ .<span class="kw">await
+ </span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+
+ <span class="kw">let </span>table = catalog.load_table(<span
class="kw-2">&</span>expected_table_ident).<span
class="kw">await</span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+ }
+
+ <span class="attr">#[tokio::test]
+ </span><span class="kw">async fn
</span>test_create_table_falls_back_to_warehouse_location_if_both_table_location_and_namespace_location_are_missing(
+ ) {
+ <span class="kw">let </span>file_io =
FileIOBuilder::new_fs_io().build().unwrap();
+ <span class="kw">let </span>warehouse_location = temp_path();
+ <span class="kw">let </span>catalog = MemoryCatalog::new(file_io,
<span class="prelude-val">Some</span>(warehouse_location.clone()));
+
+ <span class="kw">let </span>namespace_ident =
NamespaceIdent::new(<span class="string">"a"</span>.into());
+ <span class="comment">// note: no location specified in
namespace_properties
+ </span><span class="kw">let </span>namespace_properties =
HashMap::new();
+ catalog
+ .create_namespace(<span class="kw-2">&</span>namespace_ident,
namespace_properties)
+ .<span class="kw">await
+ </span>.unwrap();
+
+ <span class="kw">let </span>table_name = <span
class="string">"tbl1"</span>;
+ <span class="kw">let </span>expected_table_ident =
TableIdent::new(namespace_ident.clone(), table_name.into());
+ <span class="kw">let </span>expected_table_metadata_location_regex =
<span class="macro">format!</span>(
+ <span
class="string">"^{}/a/tbl1/metadata/0-{}.metadata.json$"</span>,
+ warehouse_location, UUID_REGEX_STR
+ );
+
+ <span class="kw">let </span>table = catalog
+ .create_table(
+ <span class="kw-2">&</span>namespace_ident,
+ TableCreation::builder()
+ .name(table_name.into())
+ .schema(simple_table_schema())
+ <span class="comment">// no location specified for table
+ </span>.build(),
+ )
+ .<span class="kw">await
+ </span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+
+ <span class="kw">let </span>table = catalog.load_table(<span
class="kw-2">&</span>expected_table_ident).<span
class="kw">await</span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+ }
+
+ <span class="attr">#[tokio::test]
+ </span><span class="kw">async fn
</span>test_create_table_in_nested_namespace_falls_back_to_warehouse_location_if_both_table_location_and_namespace_location_are_missing(
+ ) {
+ <span class="kw">let </span>file_io =
FileIOBuilder::new_fs_io().build().unwrap();
+ <span class="kw">let </span>warehouse_location = temp_path();
+ <span class="kw">let </span>catalog = MemoryCatalog::new(file_io,
<span class="prelude-val">Some</span>(warehouse_location.clone()));
+
+ <span class="kw">let </span>namespace_ident =
NamespaceIdent::new(<span class="string">"a"</span>.into());
+ catalog
+ <span class="comment">// note: no location specified in
namespace_properties
+ </span>.create_namespace(<span
class="kw-2">&</span>namespace_ident, HashMap::new())
+ .<span class="kw">await
+ </span>.unwrap();
+
+ <span class="kw">let </span>nested_namespace_ident =
NamespaceIdent::from_strs(<span class="macro">vec!</span>[<span
class="string">"a"</span>, <span class="string">"b"</span>]).unwrap();
+ catalog
+ <span class="comment">// note: no location specified in
namespace_properties
+ </span>.create_namespace(<span
class="kw-2">&</span>nested_namespace_ident, HashMap::new())
+ .<span class="kw">await
+ </span>.unwrap();
+
+ <span class="kw">let </span>table_name = <span
class="string">"tbl1"</span>;
+ <span class="kw">let </span>expected_table_ident =
+ TableIdent::new(nested_namespace_ident.clone(), table_name.into());
+ <span class="kw">let </span>expected_table_metadata_location_regex =
<span class="macro">format!</span>(
+ <span
class="string">"^{}/a/b/tbl1/metadata/0-{}.metadata.json$"</span>,
+ warehouse_location, UUID_REGEX_STR
+ );
+
+ <span class="kw">let </span>table = catalog
+ .create_table(
+ <span class="kw-2">&</span>nested_namespace_ident,
+ TableCreation::builder()
+ .name(table_name.into())
+ .schema(simple_table_schema())
+ <span class="comment">// no location specified for table
+ </span>.build(),
+ )
+ .<span class="kw">await
+ </span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+
+ <span class="kw">let </span>table = catalog.load_table(<span
class="kw-2">&</span>expected_table_ident).<span
class="kw">await</span>.unwrap();
+ assert_table_eq(<span class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_ident, <span
class="kw-2">&</span>simple_table_schema());
+ assert_table_metadata_location_matches(<span
class="kw-2">&</span>table, <span
class="kw-2">&</span>expected_table_metadata_location_regex);
+ }
+
+ <span class="attr">#[tokio::test]
+ </span><span class="kw">async fn
</span>test_create_table_throws_error_if_table_location_and_namespace_location_and_warehouse_location_are_missing(
+ ) {
+ <span class="kw">let </span>file_io =
FileIOBuilder::new_fs_io().build().unwrap();
+ <span class="kw">let </span>catalog = MemoryCatalog::new(file_io,
<span class="prelude-val">None</span>);
+
+ <span class="kw">let </span>namespace_ident =
NamespaceIdent::new(<span class="string">"a"</span>.into());
+ create_namespace(<span class="kw-2">&</span>catalog, <span
class="kw-2">&</span>namespace_ident).<span class="kw">await</span>;
+
+ <span class="kw">let </span>table_name = <span
class="string">"tbl1"</span>;
+ <span class="kw">let </span>expected_table_ident =
TableIdent::new(namespace_ident.clone(), table_name.into());
+
+ <span class="macro">assert_eq!</span>(
+ catalog
+ .create_table(
+ <span class="kw-2">&</span>namespace_ident,
+ TableCreation::builder()
+ .name(table_name.into())
+ .schema(simple_table_schema())
+ .build(),
+ )
+ .<span class="kw">await
+ </span>.unwrap_err()
+ .to_string(),
+ <span class="macro">format!</span>(
+ <span class="string">"Unexpected => Cannot create table
{:?}. No default path is set, please specify a location when creating a
table."</span>,
+ <span class="kw-2">&</span>expected_table_ident
+ )
)
}
diff --git a/api/trait.impl/core/convert/trait.From.js
b/api/trait.impl/core/convert/trait.From.js
index dd2aff7..75be8cc 100644
--- a/api/trait.impl/core/convert/trait.From.js
+++ b/api/trait.impl/core/convert/trait.From.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"iceberg":[["impl <a class=\"trait\"
href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\"
title=\"trait core::convert::From\">From</a><<a class=\"enum\"
href=\"https://docs.rs/url/2.5.2/url/parser/enum.ParseError.html\" title=\"enum
url::parser::ParseError\">ParseError</a>> for <a class=\"struct\"
href=\"iceberg/struct.Error.html\" title=\"struct
iceberg::Error\">Error</a>"],["impl <a class=\"trait\"
href=\"https://doc.rust-lang.org/nightly/core/convert/trait.Fro [...]
+"iceberg":[["impl <a class=\"trait\"
href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\"
title=\"trait core::convert::From\">From</a><<a class=\"enum\"
href=\"https://docs.rs/url/2.5.2/url/parser/enum.ParseError.html\" title=\"enum
url::parser::ParseError\">ParseError</a>> for <a class=\"struct\"
href=\"iceberg/struct.Error.html\" title=\"struct
iceberg::Error\">Error</a>"],["impl <a class=\"trait\"
href=\"https://doc.rust-lang.org/nightly/core/convert/trait.Fro [...]
};if (window.register_implementors)
{window.register_implementors(implementors);} else {window.pending_implementors
= implementors;}})()
\ No newline at end of file