You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by gi...@apache.org on 2026/08/05 09:14:12 UTC
(iceberg-rust) branch gh-pages updated: deploy: d05d56645979804c659aa265f6041d93ea0e6557
This is an automated email from the ASF dual-hosted git repository.
github-actions[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 f791f642e deploy: d05d56645979804c659aa265f6041d93ea0e6557
f791f642e is described below
commit f791f642eaa191902cbb5528f3c42c182997a76e
Author: laskoviymishka <la...@users.noreply.github.com>
AuthorDate: Wed Aug 5 09:14:07 2026 +0000
deploy: d05d56645979804c659aa265f6041d93ea0e6557
---
api/help.html | 2 +-
api/iceberg/metadata_columns/index.html | 2 +-
api/iceberg_catalog_hms/struct.HmsCatalog.html | 96 ++++++------
.../struct.HmsCatalogBuilder.html | 8 +-
.../desc/{f9cf2ebe1b75.js => 247dcb733c77.js} | 2 +-
.../entry/{e96be7cd8b92.js => a910a766cc07.js} | 2 +-
.../function/{8af10259db13.js => eae232510f7e.js} | 2 +-
api/search.index/path/af310153d4be.js | 1 +
api/search.index/path/cc58960dc4b8.js | 1 -
api/search.index/root.js | 2 +-
.../type/{620541c4619c.js => 04060b1ac086.js} | 2 +-
api/settings.html | 2 +-
api/src/iceberg/metadata_columns.rs.html | 163 +++++++++++----------
api/trait.impl/iceberg/catalog/trait.Catalog.js | 4 +-
.../iceberg/catalog/trait.CatalogBuilder.js | 4 +-
15 files changed, 151 insertions(+), 142 deletions(-)
diff --git a/api/help.html b/api/help.html
index fba61dabe..393e3c7ff 100644
--- a/api/help.html
+++ b/api/help.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-M [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-M [...]
\ No newline at end of file
diff --git a/api/iceberg/metadata_columns/index.html b/api/iceberg/metadata_columns/index.html
index c96baf9b8..3103b2cd9 100644
--- a/api/iceberg/metadata_columns/index.html
+++ b/api/iceberg/metadata_columns/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Metadata columns (virtual/reserved fields) for Iceberg tables."><title>iceberg::metadata_columns - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regul [...]
+<!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="Metadata columns (virtual/reserved fields) for Iceberg tables."><title>iceberg::metadata_columns - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regul [...]
<p>This module defines metadata columns that can be requested in projections
but are not stored in data files. Instead, they are computed on-the-fly
during reading. Examples include the _file column (file path) and future
diff --git a/api/iceberg_catalog_hms/struct.HmsCatalog.html b/api/iceberg_catalog_hms/struct.HmsCatalog.html
index 06791a403..661aefe7b 100644
--- a/api/iceberg_catalog_hms/struct.HmsCatalog.html
+++ b/api/iceberg_catalog_hms/struct.HmsCatalog.html
@@ -1,19 +1,19 @@
<!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="Hive metastore Catalog."><title>HmsCatalog in iceberg_catalog_hms - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medi [...]
-</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-HmsCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#207-261">Source</a><a href="#impl-HmsCatalog" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.HmsCatalog.html" title="struc [...]
-</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-HmsCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#264-735">Source</a><a href="#impl-Catalog-for-HmsCatalog" class="anchor">§</a><h3 class="code-hea [...]
+</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-HmsCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#207-261">Source</a><a href="#impl-HmsCatalog" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.HmsCatalog.html" title="struc [...]
+</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-HmsCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#264-735">Source</a><a href="#impl-Catalog-for-HmsCatalog" class="anchor">§</a><h3 class="code-hea [...]
&'life0 self,
- parent: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ 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>HMS doesn’t support nested namespaces.</p>
<p>We will return empty list if parent is some.</p>
<p>Align with java implementation: <a href="https://github.com/apache/iceberg/blob/9bd62f79f8cd973c39d14e89163cb1c707470ed2/hive-metastore/src/main/java/org/apache/iceberg/hive/HiveCatalog.java#L305C26-L330">https://github.com/apache/iceberg/blob/9bd62f79f8cd973c39d14e89163cb1c707470ed2/hive-metastore/src/main/java/org/apache/iceberg/hive/HiveCatalog.java#L305C26-L330</a></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_hms/catalog.rs.html#306-326">Source</a><a href="#method.create_namespace" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.create_namespace" 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_hms/catalog.rs.html#306-326">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
+ namespace: &'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>>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+) -> <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>Creates a new namespace with the given identifier and properties.</p>
@@ -30,10 +30,10 @@ successfully converted into a database configuration.</li>
<li>Errors from the underlying database creation process, converted using
<code>from_thrift_error</code>.</li>
</ul>
-</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_hms/catalog.rs.html#338-368">Source</a><a href="#method.get_namespace" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.get_namespace" 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_hms/catalog.rs.html#338-368">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ namespace: &'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>Retrieves a namespace by its identifier.</p>
@@ -46,10 +46,10 @@ Constructs a <code>Namespace</code> object with the retrieved data and returns i
<li>If there is an error querying the database, returned by
<code>from_thrift_error</code>.</li>
</ul>
-</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_hms/catalog.rs.html#382-399">Source</a><a href="#method.namespace_exists" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.namespace_exists" 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_hms/catalog.rs.html#382-399">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ namespace: &'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>Checks if a namespace exists within the Hive Metastore.</p>
@@ -64,11 +64,11 @@ to determine if the specified namespace (database) exists.</p>
<li><code>Err(...)</code> if an error occurs during validation or the Hive Metastore
query, with the error encapsulating the issue.</li>
</ul>
-</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_hms/catalog.rs.html#411-441">Source</a><a href="#method.update_namespace" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.update_namespace" 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_hms/catalog.rs.html#411-441">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
+ namespace: &'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>>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+) -> <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>Asynchronously updates properties of an existing namespace.</p>
@@ -79,10 +79,10 @@ in the Hive Metastore.</p>
<p>Returns <code>Ok(())</code> if the namespace update is successful. If the
namespace cannot be updated due to missing information or an error
during the update process, an <code>Err(...)</code> is returned.</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_hms/catalog.rs.html#450-467">Source</a><a href="#method.drop_namespace" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.drop_namespace" 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_hms/catalog.rs.html#450-467">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ namespace: &'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>Asynchronously drops a namespace from the Hive Metastore.</p>
@@ -93,10 +93,10 @@ during the update process, an <code>Err(...)</code> is returned.</p>
<li><code>Err(...)</code> signifies failure to drop the namespace due to validation
errors, connectivity issues, or Hive Metastore constraints.</li>
</ul>
-</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_hms/catalog.rs.html#478-501">Source</a><a href="#method.list_tables" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.list_tables" 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_hms/catalog.rs.html#478-501">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ namespace: &'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>Asynchronously lists all tables within a specified namespace.</p>
@@ -108,11 +108,11 @@ representing a table within the specified namespace.</li>
<li><code>Err(...)</code> if an error occurs during namespace validation or while
querying the database.</li>
</ul>
-</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_hms/catalog.rs.html#515-566">Source</a><a href="#method.create_table" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.create_table" 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_hms/catalog.rs.html#515-566">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.NamespaceIdent.html" title="struct iceberg::catalog::NamespaceIdent">NamespaceIdent</a>,
- creation: <a class="struct" href="../iceberg/catalog/struct.TableCreation.html" title="struct iceberg::catalog::TableCreation">TableCreation</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ namespace: &'life1 NamespaceIdent,
+ creation: TableCreation,
+) -> <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>Creates a new table within a specified namespace using the provided
@@ -125,10 +125,10 @@ table.</p>
namespace identifiers, failure to determine a default storage location,
issues generating or writing table metadata, and errors communicating
with the Hive Metastore.</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_hms/catalog.rs.html#580-608">Source</a><a href="#method.load_table" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.load_table" 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_hms/catalog.rs.html#580-608">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.TableIdent.html" title="struct iceberg::catalog::TableIdent">TableIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ table: &'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>Loads a table from the Hive Metastore and constructs a <code>Table</code> object
@@ -143,10 +143,10 @@ based on its metadata.</p>
<li>Absence of metadata location information in the table’s properties.</li>
<li>Issues reading or deserializing the table’s metadata file.</li>
</ul>
-</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_hms/catalog.rs.html#620-642">Source</a><a href="#method.drop_table" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.drop_table" 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_hms/catalog.rs.html#620-642">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.TableIdent.html" title="struct iceberg::catalog::TableIdent">TableIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ table: &'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>Asynchronously drops a table from the database.</p>
@@ -160,10 +160,10 @@ attempting to drop the table. This includes scenarios where
the table does not exist.</li>
<li>Any network or communication error occurs with the database backend.</li>
</ul>
-</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_hms/catalog.rs.html#657-677">Source</a><a href="#method.table_exists" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.table_exists" 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_hms/catalog.rs.html#657-677">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.TableIdent.html" title="struct iceberg::catalog::TableIdent">TableIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ table: &'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>Asynchronously checks the existence of a specified table
@@ -174,11 +174,11 @@ in the database.</p>
<li><code>Ok(false)</code> if the table does not exist in the database.</li>
<li><code>Err(...)</code> if an error occurs during the process</li>
</ul>
-</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_hms/catalog.rs.html#685-716">Source</a><a href="#method.rename_table" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.rename_table" 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_hms/catalog.rs.html#685-716">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: &'life1 <a class="struct" href="../iceberg/catalog/struct.TableIdent.html" title="struct iceberg::catalog::TableIdent">TableIdent</a>,
- dest: &'life2 <a class="struct" href="../iceberg/catalog/struct.TableIdent.html" title="struct iceberg::catalog::TableIdent">TableIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ src: &'life1 TableIdent,
+ dest: &'life2 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,
@@ -189,23 +189,23 @@ or moves it between namespaces (databases).</p>
<li><code>Ok(())</code> on successful rename or move of the table.</li>
<li><code>Err(...)</code> if an error occurs during the process.</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.purge_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#644-648">Source</a><a href="#method.purge_table" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.purge_table" class="fn">purge_table</a><'life0, 'life1, 'async_trait>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.purge_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#644-648">Source</a><a href="#method.purge_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">purge_table</a><'life0, 'life1, 'async_trait>(
&'life0 self,
- table: &'life1 <a class="struct" href="../iceberg/catalog/struct.TableIdent.html" title="struct iceberg::catalog::TableIdent">TableIdent</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ table: &'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'>Drop a table from the catalog and delete the underlying table data. <a href="../iceberg/catalog/trait.Catalog.html#tymethod.purge_table">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.register_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#718-727">Source</a><a href="#method.register_table" class="a [...]
+ 'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Drop a table from the catalog and delete the underlying table data. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.register_table" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#718-727">Source</a><a href="#method.register_table" class="anchor">§</a><h4 class="code-header">fn <a class="fn">register_tabl [...]
&'life0 self,
- _table_ident: &'life1 <a class="struct" href="../iceberg/catalog/struct.TableIdent.html" title="struct iceberg::catalog::TableIdent">TableIdent</a>,
+ _table_ident: &'life1 TableIdent,
_metadata_location: <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/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+) -> <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'>Register an existing table to the catalog.</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_hms/catalog.rs.html#729-734">Source</a><a href="#method.update_table" class="anchor">§</a><h4 class="code-header">fn <a href="../iceberg/catalog/trait.Catalog.html#tymethod.update_table" cla [...]
+ 'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Register an existing table to the catalog.</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_hms/catalog.rs.html#729-734">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: <a class="struct" href="../iceberg/catalog/struct.TableCommit.html" title="struct iceberg::catalog::TableCommit">TableCommit</a>,
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title= [...]
+ _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'>Update a table to the catalog.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-HmsCatalog" class="impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#199-205">Source</a><a href="#impl-Debug-for-HmsCatalog" 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#142">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html b/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
index 98bf82b75..9fd55be9e 100644
--- a/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
+++ b/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
@@ -1,12 +1,12 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Builder for `HmsCatalog`."><title>HmsCatalogBuilder in iceberg_catalog_hms - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,Fira [...]
-</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-CatalogBuilder-for-HmsCatalogBuilder" class="impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#81-165">Source</a><a href="#impl-CatalogBuilder-for-HmsCatalogBuilder" class="anchor">§</a><h3 class="cod [...]
+</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-CatalogBuilder-for-HmsCatalogBuilder" class="impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#81-165">Source</a><a href="#impl-CatalogBuilder-for-HmsCatalogBuilder" class="anchor">§</a><h3 class="cod [...]
self,
- kms_client_factory: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../iceberg/encryption/kms/factory/trait.KmsClientFactory.html" title="trait iceberg::encryption::kms::factory::KmsClientFactory">KmsClientFactory</a>>,
-) -> Self</h4></section></summary><div class='docblock'>Set a <a href="../iceberg/encryption/kms/factory/trait.KmsClientFactory.html" title="trait iceberg::encryption::kms::factory::KmsClientFactory"><code>KmsClientFactory</code></a> to enable table encryption. <a href="../iceberg/catalog/trait.CatalogBuilder.html#tymethod.with_kms_client_factory">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_runtime" class="method trait-impl [...]
+ kms_client_factory: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn KmsClientFactory>,
+) -> Self</h4></section></summary><div class='docblock'>Set a [<code>KmsClientFactory</code>] to enable table encryption. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_runtime" class="method trait-impl"><a class="src rightside" href="../src/iceberg_catalog_hms/catalog.rs.html#94-97">Source</a><a href="#method.with_runtime" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_runtime</a>(self, runtime: Runtime) [...]
self,
name: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
props: <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>>,
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../iceberg/error/type.Result.html" title="type iceberg::error::Result">Result</a><Self::<a class="associatedtype" href="../iceberg/catalog/trait.CatalogBuilder.html#associatedtype.C" title="type iceberg::catalog::CatalogBuilder::C">C</a>>> + <a class="trait" href="https://doc.rust-lang. [...]
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = Result<Self::C>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a></h4></section></summary><div class='docblock'>Create a new catalog instance.</div></details></div></details><details class="toggle implementors-toggle" open><summ [...]
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#142">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href [...]
T: CastFrom<U>,</div></h4></section></summary><div class='docblock'>Casts <code>self</code> to type <code>T</code>. The <a href="https://doc.rust-lang.org/reference/expressions/operator-expr.html#semantics">semantics of numeric casting</a> with the <code>as</code> operator are followed, so <code><T as As>::as_::<U></code> can be used in the same way as <code>T as U</code> for numeric conversions. <a>Read more</a></div></details></div></details><details class="toggle [...]
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section></summary><div class="impl-items"><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any</a>(&self) -> &(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4 [...]
diff --git a/api/search.index/desc/f9cf2ebe1b75.js b/api/search.index/desc/247dcb733c77.js
similarity index 99%
rename from api/search.index/desc/f9cf2ebe1b75.js
rename to api/search.index/desc/247dcb733c77.js
index 3c53c6aa6..a4307d73b 100644
--- a/api/search.index/desc/f9cf2ebe1b75.js
+++ b/api/search.index/desc/247dcb733c77.js
@@ -1 +1 @@
-rd_("BkThe catalog type that this builder creates.AkThe associated writer type.B`The associated file writer type.AlReturn type of this visitor.0BkReturn type of this visitor on arrow field.BlReturn type of this visitor on arrow schema.BaLocal filesystem storage factory.B`HuggingFace Hub storage factory.B`HuggingFace Hub storage variant.CgMatch fields by their ID stored in Arrow field metadataAjContains the success value0CoOr predicate, for example, <code>a > 10 OR b < 20</code>.EnA [...]
\ No newline at end of file
+rd_("BkThe catalog type that this builder creates.AkThe associated writer type.B`The associated file writer type.AlReturn type of this visitor.0BkReturn type of this visitor on arrow field.BlReturn type of this visitor on arrow schema.BaLocal filesystem storage factory.B`HuggingFace Hub storage factory.B`HuggingFace Hub storage variant.CgMatch fields by their ID stored in Arrow field metadataAjContains the success value0CoOr predicate, for example, <code>a > 10 OR b < 20</code>.EnA [...]
\ No newline at end of file
diff --git a/api/search.index/entry/e96be7cd8b92.js b/api/search.index/entry/a910a766cc07.js
similarity index 92%
rename from api/search.index/entry/e96be7cd8b92.js
rename to api/search.index/entry/a910a766cc07.js
index cc1038c66..9fc72edfb 100644
--- a/api/search.index/entry/e96be7cd8b92.js
+++ b/api/search.index/entry/a910a766cc07.js
@@ -1 +1 @@
-rd_("An[3844,17,3845,3762,7050,0,0,0]An[3844,17,3680,3680,7986,0,0,0]An[3844,17,6658,6658,7632,0,0,0]An[3844,17,2271,4111,6930,0,0,0]An[3844,17,2271,4111,8182,0,0,0]An[3844,17,2569,3641,7726,0,0,0]0An[3844,15,1482,1482,7641,0,0,0]An[8154,15,8155,8155,8065,0,0,0]0An[8154,15,8155,8155,7064,0,0,0]An[3844,15,2569,3030,7053,0,0,0]3An[3844,15,3845,2989,3087,0,0,0]An[8024,15,2991,2991,3088,0,0,0]An[3844,15,1482,5192,4884,0,0,0]An[3844,15,1482,5192,7047,0,0,0]65An[3844,15,2271,7165,6911,0,0,0]An [...]
\ No newline at end of file
+rd_("An[3844,17,3845,3762,7050,0,0,0]An[3844,17,3680,3680,7986,0,0,0]An[3844,17,6658,6658,7632,0,0,0]An[3844,17,2271,4111,6930,0,0,0]An[3844,17,2271,4111,8182,0,0,0]An[3844,17,2569,3642,7726,0,0,0]0An[3844,15,1482,1482,7641,0,0,0]An[8154,15,8155,8155,8065,0,0,0]0An[8154,15,8155,8155,7064,0,0,0]An[3844,15,2569,3030,7053,0,0,0]3An[3844,15,3845,2990,3087,0,0,0]An[8024,15,2989,2989,3088,0,0,0]An[3844,15,1482,5192,4884,0,0,0]An[3844,15,1482,5192,7047,0,0,0]65An[3844,15,2271,7165,6911,0,0,0]An [...]
\ No newline at end of file
diff --git a/api/search.index/function/8af10259db13.js b/api/search.index/function/eae232510f7e.js
similarity index 95%
rename from api/search.index/function/8af10259db13.js
rename to api/search.index/function/eae232510f7e.js
index 9950e0e0f..e7aed197b 100644
--- a/api/search.index/function/8af10259db13.js
+++ b/api/search.index/function/eae232510f7e.js
@@ -1 +1 @@
-rd_("Bf[\"{{{BHJ`{BF@`}}{BHJ`{BF@`}}}ILd}\",[]]Bf[\"{{{BHJ`{CJAb}}{BHJ`{CJAb}}}ILd}\",[]]Bf[\"{{{BHJ`{CGBj}}{BHJ`{CGBj}}}ILd}\",[]]Bf[\"{{{BHJ`{BFAf}}{BHJ`{BFAf}}}ILd}\",[]]Bf[\"{{{BHJ`{BKOn}}{BHJ`{BKOn}}}ILd}\",[]]Bf[\"{{{BHJ`{CJCf}}{BHJ`{CJCf}}}ILd}\",[]]Bf[\"{{{BHJ`{CC@n}}{BHJ`{CC@n}}}ILd}\",[]]Bf[\"{{{BHJ`{BL@d}}{BHJ`{BL@d}}}ILd}\",[]]Bf[\"{{{BHJ`{BFBn}}{BHJ`{BFBn}}}ILd}\",[]]Bf[\"{{{BHJ`{CGA`}}{BHJ`{CGA`}}}ILd}\",[]]Cg[\"{{{BHJ`{{CKJh{c}}}}{BHJ`{{CKJh{c}}}}}ILdBFB`}\",[\"T\"]]Cg[\"{ [...]
\ No newline at end of file
+rd_("Bf[\"{{{BHJ`{BF@`}}{BHJ`{BF@`}}}ILd}\",[]]Bf[\"{{{BHJ`{CJAb}}{BHJ`{CJAb}}}ILd}\",[]]Bf[\"{{{BHJ`{CGBj}}{BHJ`{CGBj}}}ILd}\",[]]Bf[\"{{{BHJ`{BFAf}}{BHJ`{BFAf}}}ILd}\",[]]Bf[\"{{{BHJ`{BKOn}}{BHJ`{BKOn}}}ILd}\",[]]Bf[\"{{{BHJ`{CJCf}}{BHJ`{CJCf}}}ILd}\",[]]Bf[\"{{{BHJ`{CC@n}}{BHJ`{CC@n}}}ILd}\",[]]Bf[\"{{{BHJ`{BL@d}}{BHJ`{BL@d}}}ILd}\",[]]Bf[\"{{{BHJ`{BFBn}}{BHJ`{BFBn}}}ILd}\",[]]Bf[\"{{{BHJ`{CGA`}}{BHJ`{CGA`}}}ILd}\",[]]Cg[\"{{{BHJ`{{CKJh{c}}}}{BHJ`{{CKJh{c}}}}}ILdBFB`}\",[\"T\"]]Cg[\"{ [...]
\ No newline at end of file
diff --git a/api/search.index/path/af310153d4be.js b/api/search.index/path/af310153d4be.js
new file mode 100644
index 000000000..1915e8ed1
--- /dev/null
+++ b/api/search.index/path/af310153d4be.js
@@ -0,0 +1 @@
+rd_("g[17,\"\"]000f[1,\"\"]0Aa[10,\"bnum::cast\"]Bn[15,\"iceberg_storage_opendal::OpenDalStorage\"]Eg[5,\"tower_http::follow_redirect::policy::or\",\"tower_http::follow_redirect::policy::or\"]1Ce[15,\"iceberg_storage_opendal::OpenDalStorageFactory\"]4Bb[2,\"iceberg::io::storage::config\"]m[2,\"iceberg\"]Ai[2,\"iceberg::encryption\"]2Am[2,\"iceberg_storage_opendal\"]8Ei[5,\"tower_http::follow_redirect::policy::and\",\"tower_http::follow_redirect::policy::and\"]A`[10,\"core::any\"]Ao[5,\"a [...]
\ No newline at end of file
diff --git a/api/search.index/path/cc58960dc4b8.js b/api/search.index/path/cc58960dc4b8.js
deleted file mode 100644
index b285ef140..000000000
--- a/api/search.index/path/cc58960dc4b8.js
+++ /dev/null
@@ -1 +0,0 @@
-rd_("g[17,\"\"]000f[1,\"\"]0Aa[10,\"bnum::cast\"]Bn[15,\"iceberg_storage_opendal::OpenDalStorage\"]Eg[5,\"tower_http::follow_redirect::policy::or\",\"tower_http::follow_redirect::policy::or\"]1Ce[15,\"iceberg_storage_opendal::OpenDalStorageFactory\"]4Bb[2,\"iceberg::io::storage::config\"]m[2,\"iceberg\"]Ai[2,\"iceberg::encryption\"]2Am[2,\"iceberg_storage_opendal\"]8Ei[5,\"tower_http::follow_redirect::policy::and\",\"tower_http::follow_redirect::policy::and\"]A`[10,\"core::any\"]Ao[5,\"a [...]
\ No newline at end of file
diff --git a/api/search.index/root.js b/api/search.index/root.js
index 5bb460cbb..5491b8aed 100644
--- a/api/search.index/root.js
+++ b/api/search.index/root.js
@@ -1 +1 @@
-rr_('{"normalizedName":{"I":"RQBAAAAEJxNlewHhBv8LbQ6SDhUAQAAAIGwDUgSzBDSxBG8OFQBAAAAAbw429RWnIDFAAACNAWwDUgSzBAUBwAAAAjQbBSUdYWUxQAAA4Qb/C20Okg5jAASgEAAADm+wcB9RAIQ1OGRt9iAAAABdAe4B5gBhALwJVQJAAAAx4Qb/C20Okg4AsQQBbg4yNjkeAB8AfAEzEDEeTyAFAcAAAAMjHgAiG2FzAQEBoGAAABqRZDswAAABAADhAAMAvQQAANMEAAD0CN8ABQHDAACXGiCSZh9kczUAQgAABWcZY9gJ2QnaCQoKBABCdGQAAAZlZmF1bHT1GmTWBFYLAMHIoAAAAAGNPVV/daSfoFAAAB6IsCAQKwr4AAAAAQhOHAAA0okZAAC4BQBRAAAGriBkiSAFAFYAAAa7IGStICOBAoAQEM9QAWZwVQBDAAAGtSBkyR9MIHogeyCdIKE [...]
\ No newline at end of file
+rr_('{"normalizedName":{"I":"RQBAAAAEJxNlewHhBv8LbQ6SDhUAQAAAIGwDUgSzBDSxBG8OFQBAAAAAbw429RWnIDFAAACNAWwDUgSzBAUBwAAAAjQbBSUdYWUxQAAA4Qb/C20Okg5jAASgEAAADm+wcB9RAIQ1OGRt9iAAAABdAe4B5gBhALwJVQJAAAAx4Qb/C20Okg4AsQQBbg4yNjkeAB8AfAEzEDEeTyAFAcAAAAMjHgAiG2FzAQEBoGAAABqRZDswAAABAADhAAMAvQQAANMEAAD0CN8ABQHDAACXGiCSZh9kczUAQgAABWcZY9gJ2QnaCQoKBABCdGQAAAZlZmF1bHT1GmTWBFYLAMHIoAAAAAGNPVV/daSfoFAAAB6IsCAQKwr4AAAAAQhOHAAA0okZAAC4BQBRAAAGriBkiSAFAFYAAAa7IGStICOBAoAQEM9QAWZwVQBDAAAGtSBkyR9MIHogeyCdIKE [...]
\ No newline at end of file
diff --git a/api/search.index/type/620541c4619c.js b/api/search.index/type/04060b1ac086.js
similarity index 98%
rename from api/search.index/type/620541c4619c.js
rename to api/search.index/type/04060b1ac086.js
index 7b2dad3d3..7ad2d86b6 100644
--- a/api/search.index/type/620541c4619c.js
+++ b/api/search.index/type/04060b1ac086.js
@@ -1 +1 @@
-rd_("Ec[\"AAAAAAAAAAAB6hoAAAJuHwAA4h8AAAAAAAAAAAGpCAAA\",\"AAAAAAAAAAAB6hoAAAJuHwAA4h8AAA==\"]Bg[\"AAAAAAAAAAAAAAAAARsKAAABHAoAAA==\",\"\"]Og[\"AAAAAAAAAAAAOjAAAAEAAAAAABEAEAAAAAoQSxQqGysbrhuvGx0cHhwfHSAdUR5SHlceWB6nHqgerR6uHgOmCAAAsQsAADwOAAA7MAAAAQAAJgAOAF0EAABbDgAACxACAEwUAQCPGQEAdBoBACwbAwCwGwMAHxwDACEdAwBTHgMAWR4BAKkeAwCvHgEABKcIAACoCAAAsgsAAD0OAAAFXgQAAF8EAABIDgAAXA4AAF0OAAA=\",\"\"]Gg[\"AAAAAAAAAAAAAAA6MAAAAQAAAAAAEgAQAAAADBANEE0UjxmQGXQadRouGy8bshuzGyEcIhwjHSQdVR5WHqserB4BqAgAAAN [...]
\ No newline at end of file
+rd_("Ec[\"AAAAAAAAAAAB6hoAAAJuHwAA4h8AAAAAAAAAAAGpCAAA\",\"AAAAAAAAAAAB6hoAAAJuHwAA4h8AAA==\"]Bg[\"AAAAAAAAAAAAAAAAARsKAAABHAoAAA==\",\"\"]Og[\"AAAAAAAAAAAAOjAAAAEAAAAAABEAEAAAAAoQSxQqGysbrhuvGx0cHhwfHSAdUR5SHlceWB6nHqgerR6uHgOmCAAAsQsAADwOAAA7MAAAAQAAJgAOAF0EAABbDgAACxACAEwUAQCPGQEAdBoBACwbAwCwGwMAHxwDACEdAwBTHgMAWR4BAKkeAwCvHgEABKcIAACoCAAAsgsAAD0OAAAFXgQAAF8EAABIDgAAXA4AAF0OAAA=\",\"\"]Gg[\"AAAAAAAAAAAAAAA6MAAAAQAAAAAAEgAQAAAADBANEE0UjxmQGXQadRouGy8bshuzGyEcIhwjHSQdVR5WHqserB4BqAgAAAN [...]
\ No newline at end of file
diff --git a/api/settings.html b/api/settings.html
index 94cbba246..df990645d 100644
--- a/api/settings.html
+++ b/api/settings.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Med [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Med [...]
\ No newline at end of file
diff --git a/api/src/iceberg/metadata_columns.rs.html b/api/src/iceberg/metadata_columns.rs.html
index 24af4af32..903aa1626 100644
--- a/api/src/iceberg/metadata_columns.rs.html
+++ b/api/src/iceberg/metadata_columns.rs.html
@@ -224,7 +224,7 @@
<a href=#224 id=224 data-nosnippet>224</a>/// This field represents a unique long assigned for row lineage.
<a href=#225 id=225 data-nosnippet>225</a></span><span class="kw">static </span>ROW_ID_FIELD: Lazy<NestedFieldRef> = Lazy::new(|| {
<a href=#226 id=226 data-nosnippet>226</a> Arc::new(
-<a href=#227 id=227 data-nosnippet>227</a> NestedField::required(
+<a href=#227 id=227 data-nosnippet>227</a> NestedField::optional(
<a href=#228 id=228 data-nosnippet>228</a> RESERVED_FIELD_ID_ROW_ID,
<a href=#229 id=229 data-nosnippet>229</a> RESERVED_COL_NAME_ROW_ID,
<a href=#230 id=230 data-nosnippet>230</a> Type::Primitive(PrimitiveType::Long),
@@ -237,7 +237,7 @@
<a href=#237 id=237 data-nosnippet>237</a>/// This field represents the sequence number which last updated this row.
<a href=#238 id=238 data-nosnippet>238</a></span><span class="kw">static </span>LAST_UPDATED_SEQUENCE_NUMBER_FIELD: Lazy<NestedFieldRef> = Lazy::new(|| {
<a href=#239 id=239 data-nosnippet>239</a> Arc::new(
-<a href=#240 id=240 data-nosnippet>240</a> NestedField::required(
+<a href=#240 id=240 data-nosnippet>240</a> NestedField::optional(
<a href=#241 id=241 data-nosnippet>241</a> RESERVED_FIELD_ID_LAST_UPDATED_SEQUENCE_NUMBER,
<a href=#242 id=242 data-nosnippet>242</a> RESERVED_COL_NAME_LAST_UPDATED_SEQUENCE_NUMBER,
<a href=#243 id=243 data-nosnippet>243</a> Type::Primitive(PrimitiveType::Long),
@@ -602,79 +602,88 @@
<a href=#602 id=602 data-nosnippet>602</a> }
<a href=#603 id=603 data-nosnippet>603</a>
<a href=#604 id=604 data-nosnippet>604</a> <span class="attr">#[test]
-<a href=#605 id=605 data-nosnippet>605</a> </span><span class="kw">fn </span>test_data_table_metadata_columns() {
-<a href=#606 id=606 data-nosnippet>606</a> <span class="comment">// Both sides of the data-table metadata check (name and field id) must accept
-<a href=#607 id=607 data-nosnippet>607</a> // these seven columns. On the name side Java keeps six in `META_COLUMNS` and
-<a href=#608 id=608 data-nosnippet>608</a> // recognizes `_partition` via the `isMetadataColumn(String)` special case; on the
-<a href=#609 id=609 data-nosnippet>609</a> // id side all seven are in `META_IDS`.
-<a href=#610 id=610 data-nosnippet>610</a> </span><span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_FILE));
-<a href=#611 id=611 data-nosnippet>611</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_POS));
-<a href=#612 id=612 data-nosnippet>612</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_DELETED));
-<a href=#613 id=613 data-nosnippet>613</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_SPEC_ID));
-<a href=#614 id=614 data-nosnippet>614</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_PARTITION));
-<a href=#615 id=615 data-nosnippet>615</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_ROW_ID));
-<a href=#616 id=616 data-nosnippet>616</a> <span class="macro">assert!</span>(is_metadata_column_name(
-<a href=#617 id=617 data-nosnippet>617</a> RESERVED_COL_NAME_LAST_UPDATED_SEQUENCE_NUMBER
-<a href=#618 id=618 data-nosnippet>618</a> ));
-<a href=#619 id=619 data-nosnippet>619</a>
-<a href=#620 id=620 data-nosnippet>620</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_FILE));
-<a href=#621 id=621 data-nosnippet>621</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_POS));
-<a href=#622 id=622 data-nosnippet>622</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_DELETED));
-<a href=#623 id=623 data-nosnippet>623</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_SPEC_ID));
-<a href=#624 id=624 data-nosnippet>624</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_PARTITION));
-<a href=#625 id=625 data-nosnippet>625</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_ROW_ID));
-<a href=#626 id=626 data-nosnippet>626</a> <span class="macro">assert!</span>(is_metadata_field(
-<a href=#627 id=627 data-nosnippet>627</a> RESERVED_FIELD_ID_LAST_UPDATED_SEQUENCE_NUMBER
-<a href=#628 id=628 data-nosnippet>628</a> ));
-<a href=#629 id=629 data-nosnippet>629</a> }
-<a href=#630 id=630 data-nosnippet>630</a>
-<a href=#631 id=631 data-nosnippet>631</a> <span class="attr">#[test]
-<a href=#632 id=632 data-nosnippet>632</a> </span><span class="kw">fn </span>test_changelog_columns_are_not_data_table_metadata_columns() {
-<a href=#633 id=633 data-nosnippet>633</a> <span class="comment">// Changelog columns are not in Java's `META_COLUMNS`, so they are not projectable
-<a href=#634 id=634 data-nosnippet>634</a> // data-table metadata columns (`isMetadataColumn` is false for them).
-<a href=#635 id=635 data-nosnippet>635</a> </span><span class="macro">assert!</span>(!is_metadata_column_name(RESERVED_COL_NAME_CHANGE_TYPE));
-<a href=#636 id=636 data-nosnippet>636</a> <span class="macro">assert!</span>(!is_metadata_column_name(RESERVED_COL_NAME_CHANGE_ORDINAL));
-<a href=#637 id=637 data-nosnippet>637</a> <span class="macro">assert!</span>(!is_metadata_column_name(
-<a href=#638 id=638 data-nosnippet>638</a> RESERVED_COL_NAME_COMMIT_SNAPSHOT_ID
-<a href=#639 id=639 data-nosnippet>639</a> ));
-<a href=#640 id=640 data-nosnippet>640</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_CHANGE_TYPE));
-<a href=#641 id=641 data-nosnippet>641</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_CHANGE_ORDINAL));
-<a href=#642 id=642 data-nosnippet>642</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_COMMIT_SNAPSHOT_ID));
-<a href=#643 id=643 data-nosnippet>643</a> }
-<a href=#644 id=644 data-nosnippet>644</a>
-<a href=#645 id=645 data-nosnippet>645</a> <span class="attr">#[test]
-<a href=#646 id=646 data-nosnippet>646</a> </span><span class="kw">fn </span>test_delete_file_columns_are_not_data_table_metadata_columns() {
-<a href=#647 id=647 data-nosnippet>647</a> <span class="comment">// `pos`, `file_path`, and `row` are the internal columns of a position-delete file,
-<a href=#648 id=648 data-nosnippet>648</a> // not projectable metadata columns of a data table. They must not shadow real data
-<a href=#649 id=649 data-nosnippet>649</a> // columns of the same name during a scan (issue #2837). Java returns false for both
-<a href=#650 id=650 data-nosnippet>650</a> // their names and their field ids; mirror that on both sides here.
-<a href=#651 id=651 data-nosnippet>651</a> </span><span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"pos"</span>));
-<a href=#652 id=652 data-nosnippet>652</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"file_path"</span>));
-<a href=#653 id=653 data-nosnippet>653</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"row"</span>));
-<a href=#654 id=654 data-nosnippet>654</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_DELETE_FILE_POS));
-<a href=#655 id=655 data-nosnippet>655</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_DELETE_FILE_PATH));
-<a href=#656 id=656 data-nosnippet>656</a> <span class="comment">// `row` (Java's DELETE_FILE_ROW_FIELD_ID, i32::MAX - 103) has no reserved id in
-<a href=#657 id=657 data-nosnippet>657</a> // this crate, so it is not a metadata field either.
-<a href=#658 id=658 data-nosnippet>658</a> </span><span class="macro">assert!</span>(!is_metadata_field(i32::MAX - <span class="number">103</span>));
-<a href=#659 id=659 data-nosnippet>659</a>
-<a href=#660 id=660 data-nosnippet>660</a> <span class="comment">// `get_metadata_field_id` intentionally still maps the two bare names it knows to
-<a href=#661 id=661 data-nosnippet>661</a> // their reserved field ids; only the data-table membership check excludes them.
-<a href=#662 id=662 data-nosnippet>662</a> </span><span class="macro">assert_eq!</span>(
-<a href=#663 id=663 data-nosnippet>663</a> get_metadata_field_id(RESERVED_COL_NAME_DELETE_FILE_POS).unwrap(),
-<a href=#664 id=664 data-nosnippet>664</a> RESERVED_FIELD_ID_DELETE_FILE_POS
-<a href=#665 id=665 data-nosnippet>665</a> );
-<a href=#666 id=666 data-nosnippet>666</a> <span class="macro">assert_eq!</span>(
-<a href=#667 id=667 data-nosnippet>667</a> get_metadata_field_id(RESERVED_COL_NAME_DELETE_FILE_PATH).unwrap(),
-<a href=#668 id=668 data-nosnippet>668</a> RESERVED_FIELD_ID_DELETE_FILE_PATH
-<a href=#669 id=669 data-nosnippet>669</a> );
-<a href=#670 id=670 data-nosnippet>670</a> }
-<a href=#671 id=671 data-nosnippet>671</a>
-<a href=#672 id=672 data-nosnippet>672</a> <span class="attr">#[test]
-<a href=#673 id=673 data-nosnippet>673</a> </span><span class="kw">fn </span>test_ordinary_data_column_names_are_not_metadata_columns() {
-<a href=#674 id=674 data-nosnippet>674</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"id"</span>));
-<a href=#675 id=675 data-nosnippet>675</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"name"</span>));
-<a href=#676 id=676 data-nosnippet>676</a> <span class="comment">// A user column that merely starts with an underscore but is not reserved.
-<a href=#677 id=677 data-nosnippet>677</a> </span><span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"_custom"</span>));
-<a href=#678 id=678 data-nosnippet>678</a> }
-<a href=#679 id=679 data-nosnippet>679</a>}
+<a href=#605 id=605 data-nosnippet>605</a> </span><span class="kw">fn </span>test_row_lineage_metadata_fields_are_optional() {
+<a href=#606 id=606 data-nosnippet>606</a> <span class="comment">// The spec requires readers to produce null for these columns in
+<a href=#607 id=607 data-nosnippet>607</a> // legitimate cases (e.g. a data file with a null first_row_id), so the
+<a href=#608 id=608 data-nosnippet>608</a> // fields must be optional rather than required.
+<a href=#609 id=609 data-nosnippet>609</a> </span><span class="macro">assert!</span>(!row_id_field().required);
+<a href=#610 id=610 data-nosnippet>610</a> <span class="macro">assert!</span>(!last_updated_sequence_number_field().required);
+<a href=#611 id=611 data-nosnippet>611</a> }
+<a href=#612 id=612 data-nosnippet>612</a>
+<a href=#613 id=613 data-nosnippet>613</a> <span class="attr">#[test]
+<a href=#614 id=614 data-nosnippet>614</a> </span><span class="kw">fn </span>test_data_table_metadata_columns() {
+<a href=#615 id=615 data-nosnippet>615</a> <span class="comment">// Both sides of the data-table metadata check (name and field id) must accept
+<a href=#616 id=616 data-nosnippet>616</a> // these seven columns. On the name side Java keeps six in `META_COLUMNS` and
+<a href=#617 id=617 data-nosnippet>617</a> // recognizes `_partition` via the `isMetadataColumn(String)` special case; on the
+<a href=#618 id=618 data-nosnippet>618</a> // id side all seven are in `META_IDS`.
+<a href=#619 id=619 data-nosnippet>619</a> </span><span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_FILE));
+<a href=#620 id=620 data-nosnippet>620</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_POS));
+<a href=#621 id=621 data-nosnippet>621</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_DELETED));
+<a href=#622 id=622 data-nosnippet>622</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_SPEC_ID));
+<a href=#623 id=623 data-nosnippet>623</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_PARTITION));
+<a href=#624 id=624 data-nosnippet>624</a> <span class="macro">assert!</span>(is_metadata_column_name(RESERVED_COL_NAME_ROW_ID));
+<a href=#625 id=625 data-nosnippet>625</a> <span class="macro">assert!</span>(is_metadata_column_name(
+<a href=#626 id=626 data-nosnippet>626</a> RESERVED_COL_NAME_LAST_UPDATED_SEQUENCE_NUMBER
+<a href=#627 id=627 data-nosnippet>627</a> ));
+<a href=#628 id=628 data-nosnippet>628</a>
+<a href=#629 id=629 data-nosnippet>629</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_FILE));
+<a href=#630 id=630 data-nosnippet>630</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_POS));
+<a href=#631 id=631 data-nosnippet>631</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_DELETED));
+<a href=#632 id=632 data-nosnippet>632</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_SPEC_ID));
+<a href=#633 id=633 data-nosnippet>633</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_PARTITION));
+<a href=#634 id=634 data-nosnippet>634</a> <span class="macro">assert!</span>(is_metadata_field(RESERVED_FIELD_ID_ROW_ID));
+<a href=#635 id=635 data-nosnippet>635</a> <span class="macro">assert!</span>(is_metadata_field(
+<a href=#636 id=636 data-nosnippet>636</a> RESERVED_FIELD_ID_LAST_UPDATED_SEQUENCE_NUMBER
+<a href=#637 id=637 data-nosnippet>637</a> ));
+<a href=#638 id=638 data-nosnippet>638</a> }
+<a href=#639 id=639 data-nosnippet>639</a>
+<a href=#640 id=640 data-nosnippet>640</a> <span class="attr">#[test]
+<a href=#641 id=641 data-nosnippet>641</a> </span><span class="kw">fn </span>test_changelog_columns_are_not_data_table_metadata_columns() {
+<a href=#642 id=642 data-nosnippet>642</a> <span class="comment">// Changelog columns are not in Java's `META_COLUMNS`, so they are not projectable
+<a href=#643 id=643 data-nosnippet>643</a> // data-table metadata columns (`isMetadataColumn` is false for them).
+<a href=#644 id=644 data-nosnippet>644</a> </span><span class="macro">assert!</span>(!is_metadata_column_name(RESERVED_COL_NAME_CHANGE_TYPE));
+<a href=#645 id=645 data-nosnippet>645</a> <span class="macro">assert!</span>(!is_metadata_column_name(RESERVED_COL_NAME_CHANGE_ORDINAL));
+<a href=#646 id=646 data-nosnippet>646</a> <span class="macro">assert!</span>(!is_metadata_column_name(
+<a href=#647 id=647 data-nosnippet>647</a> RESERVED_COL_NAME_COMMIT_SNAPSHOT_ID
+<a href=#648 id=648 data-nosnippet>648</a> ));
+<a href=#649 id=649 data-nosnippet>649</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_CHANGE_TYPE));
+<a href=#650 id=650 data-nosnippet>650</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_CHANGE_ORDINAL));
+<a href=#651 id=651 data-nosnippet>651</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_COMMIT_SNAPSHOT_ID));
+<a href=#652 id=652 data-nosnippet>652</a> }
+<a href=#653 id=653 data-nosnippet>653</a>
+<a href=#654 id=654 data-nosnippet>654</a> <span class="attr">#[test]
+<a href=#655 id=655 data-nosnippet>655</a> </span><span class="kw">fn </span>test_delete_file_columns_are_not_data_table_metadata_columns() {
+<a href=#656 id=656 data-nosnippet>656</a> <span class="comment">// `pos`, `file_path`, and `row` are the internal columns of a position-delete file,
+<a href=#657 id=657 data-nosnippet>657</a> // not projectable metadata columns of a data table. They must not shadow real data
+<a href=#658 id=658 data-nosnippet>658</a> // columns of the same name during a scan (issue #2837). Java returns false for both
+<a href=#659 id=659 data-nosnippet>659</a> // their names and their field ids; mirror that on both sides here.
+<a href=#660 id=660 data-nosnippet>660</a> </span><span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"pos"</span>));
+<a href=#661 id=661 data-nosnippet>661</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"file_path"</span>));
+<a href=#662 id=662 data-nosnippet>662</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"row"</span>));
+<a href=#663 id=663 data-nosnippet>663</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_DELETE_FILE_POS));
+<a href=#664 id=664 data-nosnippet>664</a> <span class="macro">assert!</span>(!is_metadata_field(RESERVED_FIELD_ID_DELETE_FILE_PATH));
+<a href=#665 id=665 data-nosnippet>665</a> <span class="comment">// `row` (Java's DELETE_FILE_ROW_FIELD_ID, i32::MAX - 103) has no reserved id in
+<a href=#666 id=666 data-nosnippet>666</a> // this crate, so it is not a metadata field either.
+<a href=#667 id=667 data-nosnippet>667</a> </span><span class="macro">assert!</span>(!is_metadata_field(i32::MAX - <span class="number">103</span>));
+<a href=#668 id=668 data-nosnippet>668</a>
+<a href=#669 id=669 data-nosnippet>669</a> <span class="comment">// `get_metadata_field_id` intentionally still maps the two bare names it knows to
+<a href=#670 id=670 data-nosnippet>670</a> // their reserved field ids; only the data-table membership check excludes them.
+<a href=#671 id=671 data-nosnippet>671</a> </span><span class="macro">assert_eq!</span>(
+<a href=#672 id=672 data-nosnippet>672</a> get_metadata_field_id(RESERVED_COL_NAME_DELETE_FILE_POS).unwrap(),
+<a href=#673 id=673 data-nosnippet>673</a> RESERVED_FIELD_ID_DELETE_FILE_POS
+<a href=#674 id=674 data-nosnippet>674</a> );
+<a href=#675 id=675 data-nosnippet>675</a> <span class="macro">assert_eq!</span>(
+<a href=#676 id=676 data-nosnippet>676</a> get_metadata_field_id(RESERVED_COL_NAME_DELETE_FILE_PATH).unwrap(),
+<a href=#677 id=677 data-nosnippet>677</a> RESERVED_FIELD_ID_DELETE_FILE_PATH
+<a href=#678 id=678 data-nosnippet>678</a> );
+<a href=#679 id=679 data-nosnippet>679</a> }
+<a href=#680 id=680 data-nosnippet>680</a>
+<a href=#681 id=681 data-nosnippet>681</a> <span class="attr">#[test]
+<a href=#682 id=682 data-nosnippet>682</a> </span><span class="kw">fn </span>test_ordinary_data_column_names_are_not_metadata_columns() {
+<a href=#683 id=683 data-nosnippet>683</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"id"</span>));
+<a href=#684 id=684 data-nosnippet>684</a> <span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"name"</span>));
+<a href=#685 id=685 data-nosnippet>685</a> <span class="comment">// A user column that merely starts with an underscore but is not reserved.
+<a href=#686 id=686 data-nosnippet>686</a> </span><span class="macro">assert!</span>(!is_metadata_column_name(<span class="string">"_custom"</span>));
+<a href=#687 id=687 data-nosnippet>687</a> }
+<a href=#688 id=688 data-nosnippet>688</a>}
</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/api/trait.impl/iceberg/catalog/trait.Catalog.js b/api/trait.impl/iceberg/catalog/trait.Catalog.js
index 0b6c0381e..7265f76e4 100644
--- a/api/trait.impl/iceberg/catalog/trait.Catalog.js
+++ b/api/trait.impl/iceberg/catalog/trait.Catalog.js
@@ -1,9 +1,9 @@
(function() {
- const implementors = Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a class=\"trait\" href=\"iceberg/catalog/trait.Catalog.html\" title=\"trait iceberg::catalog::Catalog\">Catalog</a> for <a class=\"struct\" href=\"iceberg_catalog_glue/struct.GlueCatalog.html\" title=\"struct iceberg_catalog_glue::GlueCatalog\">GlueCatalog</a>",0]]],["iceberg_catalog_hms",[["impl <a class=\"trait\" href=\"iceberg/catalog/trait.Catalog.html\" title=\"trait iceberg::catalog::Catalo [...]
+ const implementors = Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a class=\"trait\" href=\"iceberg/catalog/trait.Catalog.html\" title=\"trait iceberg::catalog::Catalog\">Catalog</a> for <a class=\"struct\" href=\"iceberg_catalog_glue/struct.GlueCatalog.html\" title=\"struct iceberg_catalog_glue::GlueCatalog\">GlueCatalog</a>",0]]],["iceberg_catalog_hms",[["impl Catalog for <a class=\"struct\" href=\"iceberg_catalog_hms/struct.HmsCatalog.html\" title=\"struct ic [...]
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
-//{"start":59,"fragment_lengths":[14,300,294,191,215,185]}
\ No newline at end of file
+//{"start":59,"fragment_lengths":[14,300,185,191,215,185]}
\ No newline at end of file
diff --git a/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js b/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
index 7cec58fdc..40a6eeb28 100644
--- a/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
+++ b/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
@@ -1,9 +1,9 @@
(function() {
- const implementors = Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a class=\"trait\" href=\"iceberg/catalog/trait.CatalogBuilder.html\" title=\"trait iceberg::catalog::CatalogBuilder\">CatalogBuilder</a> for <a class=\"struct\" href=\"iceberg_catalog_glue/struct.GlueCatalogBuilder.html\" title=\"struct iceberg_catalog_glue::GlueCatalogBuilder\">GlueCatalogBuilder</a>",0]]],["iceberg_catalog_hms",[["impl <a class=\"trait\" href=\"iceberg/catalog/trait.CatalogBuil [...]
+ const implementors = Object.fromEntries([["iceberg",[]],["iceberg_catalog_glue",[["impl <a class=\"trait\" href=\"iceberg/catalog/trait.CatalogBuilder.html\" title=\"trait iceberg::catalog::CatalogBuilder\">CatalogBuilder</a> for <a class=\"struct\" href=\"iceberg_catalog_glue/struct.GlueCatalogBuilder.html\" title=\"struct iceberg_catalog_glue::GlueCatalogBuilder\">GlueCatalogBuilder</a>",0]]],["iceberg_catalog_hms",[["impl CatalogBuilder for <a class=\"struct\" href=\"iceberg_catal [...]
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
-//{"start":59,"fragment_lengths":[14,342,336,219,243,213]}
\ No newline at end of file
+//{"start":59,"fragment_lengths":[14,342,213,219,243,213]}
\ No newline at end of file