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 fd786f5dd deploy: 5d3152f11ec8fbb210a48d1ce490bc1ea73b6ca0
fd786f5dd is described below
commit fd786f5ddea142b614b5b5778208097ff2e88e05
Author: blackmwk <[email protected]>
AuthorDate: Fri Jan 30 00:09:20 2026 +0000
deploy: 5d3152f11ec8fbb210a48d1ce490bc1ea73b6ca0
---
404.html | 2 +-
CONTRIBUTING.html | 6 +-
api.html | 2 +-
api/iceberg_catalog_hms/struct.HmsCatalog.html | 90 +++----
.../struct.HmsCatalogBuilder.html | 4 +-
api/trait.impl/iceberg/catalog/trait.Catalog.js | 4 +-
.../iceberg/catalog/trait.CatalogBuilder.js | 4 +-
download.html | 2 +-
index.html | 2 +-
install.html | 2 +-
introduction.html | 2 +-
print.html | 139 ++++++-----
reference/{podman.html => container-runtimes.html} | 104 +++++---
reference/orbstack.html | 272 ---------------------
reference/setup_gpg.html | 6 +-
release.html | 6 +-
searchindex.js | 2 +-
searchindex.json | 2 +-
18 files changed, 208 insertions(+), 443 deletions(-)
diff --git a/404.html b/404.html
index 0fbc363c2..d18b608dc 100644
--- a/404.html
+++ b/404.html
@@ -89,7 +89,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html
index fbb2555bb..63ffed1c5 100644
--- a/CONTRIBUTING.html
+++ b/CONTRIBUTING.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
@@ -245,9 +245,7 @@ refactor: Polish the implementation of read parquet
cargo 1.69.0 (6e9a83356 2023-04-12)
</code></pre>
<h4 id="install-docker-or-podman"><a class="header"
href="#install-docker-or-podman">Install Docker or Podman</a></h4>
-<p>Currently, iceberg-rust uses Docker to set up environment for integration
tests. Native Docker has some limitations, please check
(https://github.com/apache/iceberg-rust/pull/748). Please use Orbstack or
Podman.</p>
-<p>For MacOS users, you can install <a
href="website/src/reference/orbstack.html">OrbStack as a docker alternative</a>.
-For Podman users, refer to <a href="website/src/reference/podman.html">Using
Podman instead of Docker</a></p>
+<p>Currently, iceberg-rust uses Docker to set up environment for integration
tests. See <a href="website/src/reference/container-runtimes.html">Container
Runtimes</a> for setup instructions.</p>
<h2 id="build"><a class="header" href="#build">Build</a></h2>
<ul>
<li>To compile the project: <code>make build</code></li>
diff --git a/api.html b/api.html
index dba2b8659..4ecd48ce6 100644
--- a/api.html
+++ b/api.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html" class="active">API</a></li><li class="chapter-item expanded
affix "><li class="part-title [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html" class="active">API</a></li><li class="chapter-item expanded
affix "><li class="part-title [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
diff --git a/api/iceberg_catalog_hms/struct.HmsCatalog.html
b/api/iceberg_catalog_hms/struct.HmsCatalog.html
index 3d9fe14c6..5e8189545 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#170-211">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#214-612">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#170-211">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#214-612">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#256-270">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#256-270">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#282-296">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#282-296">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#310-327">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#310-327">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#339-363">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#339-363">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#372-382">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#372-382">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#393-410">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#393-410">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#424-471">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#424-471">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#485-509">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#485-509">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#521-531">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#521-531">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#540-560">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#540-560">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#568-593">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#568-593">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,17 +189,17 @@ 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.register_table" class="method trait-impl"><a class="src rightside"
href="../src/iceberg_catalog_hms/catalog.rs.html#595-604">Source</a><a
href="#method.register_table" class="anchor">§</a><h4 class="code-header">fn <a
href="../iceberg/catalog/trait.Catalog.html#tymethod.register_table"
class="fn">register_table</a><'life0, 'life1, 'async_trait>(
+</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#595-604">Source</a><a
href="#method.register_table" class="anchor">§</a><h4 class="code-header">fn <a
class="fn">register_table</a><'life0, 'life1, 'async_trait>(
&'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#606-611">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#606-611">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#162-168">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#139">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 e1a4a2649..3f94ad90a 100644
--- a/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
+++ b/api/iceberg_catalog_hms/struct.HmsCatalogBuilder.html
@@ -1,9 +1,9 @@
<!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 [`RestCatalog`]."><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,F
[...]
-</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#69-130">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#69-130">Source</a><a
href="#impl-CatalogBuilder-for-HmsCatalogBuilder" class="anchor">§</a><h3
class="cod [...]
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#139">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/trait.impl/iceberg/catalog/trait.Catalog.js
b/api/trait.impl/iceberg/catalog/trait.Catalog.js
index 818669858..6a5715595 100644
--- a/api/trait.impl/iceberg/catalog/trait.Catalog.js
+++ b/api/trait.impl/iceberg/catalog/trait.Catalog.js
@@ -1,9 +1,9 @@
(function() {
- var 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>"]]],["iceberg_catalog_hms",[["impl
<a class=\"trait\" href=\"iceberg/catalog/trait.Catalog.html\" title=\"trait
iceberg::catalog::Catalog\"> [...]
+ var 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>"]]],["iceberg_catalog_hms",[["impl
Catalog for <a class=\"struct\"
href=\"iceberg_catalog_hms/struct.HmsCatalog.html\" title=\"struct iceber [...]
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
-//{"start":57,"fragment_lengths":[14,298,292,189,213,183]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[14,298,183,189,213,183]}
\ 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 878cb1be5..a53aa68a0 100644
--- a/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
+++ b/api/trait.impl/iceberg/catalog/trait.CatalogBuilder.js
@@ -1,9 +1,9 @@
(function() {
- var 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>"]]],["iceberg_catalog_hms",[["impl
<a class=\"trait\" href=\"iceberg/catalog/trait.CatalogBuilder. [...]
+ var 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>"]]],["iceberg_catalog_hms",[["impl
CatalogBuilder for <a class=\"struct\" href=\"iceberg_catalog_h [...]
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
-//{"start":57,"fragment_lengths":[14,340,334,217,241,211]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[14,340,211,217,241,211]}
\ No newline at end of file
diff --git a/download.html b/download.html
index f539f9624..de34f9127 100644
--- a/download.html
+++ b/download.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html" class="active">Download</a></li><li class="chapter-item
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html" class="active">Download</a></li><li class="chapter-item
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
diff --git a/index.html b/index.html
index d796f4e8e..5b0233962 100644
--- a/index.html
+++ b/index.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html" class="active">Introduction</a></li><li
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li
class="chapter-item expanded "><a href="install.html">Install</a></li><li
class="chapter-item expanded "><a href="download.html">Download</a></li><li
class="chapter-item expanded "><a href="api.html">API</a></li><li
class="chapter-item expanded affix "><li class="part-title [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html" class="active">Introduction</a></li><li
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li
class="chapter-item expanded "><a href="install.html">Install</a></li><li
class="chapter-item expanded "><a href="download.html">Download</a></li><li
class="chapter-item expanded "><a href="api.html">API</a></li><li
class="chapter-item expanded affix "><li class="part-title [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
diff --git a/install.html b/install.html
index 80acab72f..f2a34dde8 100644
--- a/install.html
+++ b/install.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html" class="active">Install</a></li><li class="chapter-item
expanded "><a href="download.html">Download</a></li><li class="chapter-item
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html" class="active">Install</a></li><li class="chapter-item
expanded "><a href="download.html">Download</a></li><li class="chapter-item
expanded "><a href="api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
diff --git a/introduction.html b/introduction.html
index d796f4e8e..5b0233962 100644
--- a/introduction.html
+++ b/introduction.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html" class="active">Introduction</a></li><li
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li
class="chapter-item expanded "><a href="install.html">Install</a></li><li
class="chapter-item expanded "><a href="download.html">Download</a></li><li
class="chapter-item expanded "><a href="api.html">API</a></li><li
class="chapter-item expanded affix "><li class="part-title [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html" class="active">Introduction</a></li><li
class="chapter-item expanded affix "><li class="part-title">User Guide</li><li
class="chapter-item expanded "><a href="install.html">Install</a></li><li
class="chapter-item expanded "><a href="download.html">Download</a></li><li
class="chapter-item expanded "><a href="api.html">API</a></li><li
class="chapter-item expanded affix "><li class="part-title [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
diff --git a/print.html b/print.html
index cb3357489..ad5c6d9f7 100644
--- a/print.html
+++ b/print.html
@@ -89,7 +89,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
@@ -796,9 +796,7 @@ refactor: Polish the implementation of read parquet
cargo 1.69.0 (6e9a83356 2023-04-12)
</code></pre>
<h4 id="install-docker-or-podman"><a class="header"
href="#install-docker-or-podman">Install Docker or Podman</a></h4>
-<p>Currently, iceberg-rust uses Docker to set up environment for integration
tests. Native Docker has some limitations, please check
(https://github.com/apache/iceberg-rust/pull/748). Please use Orbstack or
Podman.</p>
-<p>For MacOS users, you can install <a
href="website/src/reference/orbstack.html">OrbStack as a docker alternative</a>.
-For Podman users, refer to <a href="website/src/reference/podman.html">Using
Podman instead of Docker</a></p>
+<p>Currently, iceberg-rust uses Docker to set up environment for integration
tests. See <a href="website/src/reference/container-runtimes.html">Container
Runtimes</a> for setup instructions.</p>
<h2 id="build"><a class="header" href="#build">Build</a></h2>
<ul>
<li>To compile the project: <code>make build</code></li>
@@ -1183,32 +1181,79 @@ On behalf of Apache Iceberg Community
~ specific language governing permissions and limitations
~ under the License.
-->
-<h1 id="using-podman-instead-of-docker"><a class="header"
href="#using-podman-instead-of-docker">Using Podman instead of Docker</a></h1>
-<p>Iceberg-rust does not require containerization, except for integration
tests, where "docker" and "docker-compose" are used to
start containers for minio and various catalogs. Below instructions setup
"rootful podman" and docker's official docker-compose plugin to run
integration tests as an alternative to docker or Orbstack.</p>
+<h1 id="container-runtimes"><a class="header"
href="#container-runtimes">Container Runtimes</a></h1>
+<p>Iceberg-rust uses containers for integration tests, where
<code>docker</code> and <code>docker compose</code> start containers for MinIO
and various catalogs. You can use any of the following container runtimes.</p>
+<h2 id="docker-desktop"><a class="header" href="#docker-desktop">Docker
Desktop</a></h2>
+<p><a href="https://www.docker.com/products/docker-desktop/">Docker
Desktop</a> is available for macOS, Windows, and Linux.</p>
<ol>
-<li>Have podman v4 or newer.
+<li>
+<p>Install Docker Desktop by downloading the <a
href="https://www.docker.com/products/docker-desktop/">installer</a> or using
Homebrew on macOS.</p>
+<pre><code class="language-shell">brew install --cask docker
+</code></pre>
+</li>
+<li>
+<p>Launch Docker Desktop and complete the setup.</p>
+</li>
+<li>
+<p>Verify the installation.</p>
+<pre><code class="language-shell">docker --version
+docker compose version
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="orbstack-macos"><a class="header" href="#orbstack-macos">OrbStack
(macOS)</a></h2>
+<p><a href="https://orbstack.dev/">OrbStack</a> is a lightweight alternative
to Docker Desktop on macOS.</p>
+<ol>
+<li>
+<p>Install OrbStack by downloading the <a
href="https://orbstack.dev/download">installer</a> or using Homebrew.</p>
+<pre><code class="language-shell">brew install orbstack
+</code></pre>
+</li>
+<li>
+<p>Migrate Docker data (if switching from Docker Desktop).</p>
+<pre><code class="language-shell">orb migrate docker
+</code></pre>
+</li>
+<li>
+<p>(Optional) Add registry mirrors.</p>
+<p>You can edit the config directly at
<code>~/.orbstack/config/docker.json</code> and restart the engine with
<code>orb restart docker</code>.</p>
+<pre><code class="language-json">{
+ "registry-mirrors": ["<mirror_addr>"]
+}
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="podman"><a class="header" href="#podman">Podman</a></h2>
+<p><a href="https://podman.io/">Podman</a> is a daemonless container engine.
The instructions below set up "rootful podman" with docker's official
docker-compose plugin.</p>
+<ol>
+<li>
+<p>Have podman v4 or newer.</p>
<pre><code class="language-shell">$ podman --version
podman version 4.9.4-rhel
</code></pre>
</li>
-<li>Create a docker wrapper script:</li>
-</ol>
-<ul>
<li>
+<p>Create a docker wrapper script:</p>
<p>Create a fresh <code>/usr/bin/docker</code> file and add the below
contents:</p>
<pre><code class="language-bash">#!/bin/sh
[ -e /etc/containers/nodocker ] || \
echo "Emulate Docker CLI using podman. Create /etc/containers/nodocker to
quiet msg." >&2
exec sudo /usr/bin/podman "$@"
</code></pre>
-</li>
-<li>
<p>Set new <code>/usr/bin/docker</code> file to executable.</p>
<pre><code class="language-shell">sudo chmod +x /usr/bin/docker
</code></pre>
</li>
-</ul>
-<ol start="3">
<li>
<p>Install the <a href="https://docs.docker.com/compose/install/linux">docker
compose plugin</a>. Check for successful installation.</p>
<pre><code class="language-shell">$ docker compose version
@@ -1246,68 +1291,22 @@ lrwxrwxrwx 1 root root 27 Jul 24 12:18
/var/run/docker.sock -> /var/run/podma
</code></pre>
</li>
</ol>
-<h1 id="references"><a class="header" href="#references">References</a></h1>
+<h3 id="note-on-rootless-containers"><a class="header"
href="#note-on-rootless-containers">Note on rootless containers</a></h3>
+<p>As of podman v4, <a
href="https://www.redhat.com/sysadmin/container-ip-address-podman">"To be
succinct and simple, when running rootless containers, the container itself
does not have an IP address"</a>. This causes issues with iceberg-rust's
integration tests, which rely upon IP-addressable containers via
docker-compose. As a result, podman "rootful" containers are required
to ensure containers have IP addresses.</p>
+<h3 id="podman-troubleshooting"><a class="header"
href="#podman-troubleshooting">Podman troubleshooting</a></h3>
+<p><strong>Error:</strong> <code>short-name
"apache/iceberg-rest-fixture" did not resolve to an alias and no
unqualified-search registries are defined in
"/etc/containers/registries.conf"</code></p>
+<p><strong>Fix:</strong> Add or modify the
<code>/etc/containers/registries.conf</code> file:</p>
+<pre><code class="language-toml">[[registry]]
+prefix = "docker.io"
+location = "docker.io"
+</code></pre>
+<h3 id="podman-references"><a class="header" href="#podman-references">Podman
references</a></h3>
<ul>
<li><a
href="https://docs.docker.com/compose/install/linux">https://docs.docker.com/compose/install/linux</a></li>
<li><a
href="https://www.redhat.com/sysadmin/podman-docker-compose">https://www.redhat.com/sysadmin/podman-docker-compose</a></li>
-</ul>
-<h1 id="note-on-rootless-containers"><a class="header"
href="#note-on-rootless-containers">Note on rootless containers</a></h1>
-<p>As of podman v4, <a
href="https://www.redhat.com/sysadmin/container-ip-address-podman">"To be
succinct and simple, when running rootless containers, the container itself
does not have an IP address"</a> This causes issues with iceberg-rust's
integration tests, which rely upon ip-addressable containers via
docker-compose. As a result, podman "rootful" containers are required
throughout to ensure containers have IP addresses. Perhaps as a future work or
with updates [...]
-<ul>
<li><a
href="https://www.redhat.com/sysadmin/container-ip-address-podman">https://www.redhat.com/sysadmin/container-ip-address-podman</a></li>
<li><a
href="https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md">https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md</a></li>
</ul>
-<h1 id="debugging-note"><a class="header" href="#debugging-note">Debugging
Note:</a></h1>
-<ul>
-<li>Fix for error: <code>Error: short-name
"apache/iceberg-rest-fixture" did not resolve to an alias and no
unqualified-search registries are defined in
"/etc/containers/registries.conf"</code>
-<ul>
-<li>Add or modify the <code>/etc/containers/registries.conf</code> file:</li>
-</ul>
-<pre><code class="language-toml">[[registry]]
-prefix = "docker.io"
-location = "docker.io"
-</code></pre>
-</li>
-</ul>
-<div style="break-before: page; page-break-before: always;"></div><!--
- ~ 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
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
--->
-<h1 id="orbstack-as-a-docker-alternative-on-macos"><a class="header"
href="#orbstack-as-a-docker-alternative-on-macos">OrbStack as a docker
alternative on macOS</a></h1>
-<ol>
-<li>
-<p>Install OrbStack by downloading <a
href="https://orbstack.dev/download">installer</a> or using Homebrew.</p>
-<pre><code class="language-shell">brew install orbstack
-</code></pre>
-</li>
-<li>
-<p>Migrate Docker data</p>
-<pre><code class="language-shell">orb migrate docker
-</code></pre>
-</li>
-<li>
-<p>(Optional) Add registry mirrors</p>
-<p>You can edit the config directly at
<code>~/.orbstack/config/docker.json</code> and restart the engine with
<code>orb restart docker</code>.</p>
-<pre><code>{
- "registry-mirrors": ["<mirror_addr>"]
-}
-</code></pre>
-</li>
-</ol>
<div style="break-before: page; page-break-before: always;"></div><!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
diff --git a/reference/podman.html b/reference/container-runtimes.html
similarity index 79%
rename from reference/podman.html
rename to reference/container-runtimes.html
index 5efacaab9..5b66ddc71 100644
--- a/reference/podman.html
+++ b/reference/container-runtimes.html
@@ -3,7 +3,7 @@
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
- <title>Using Podman instead of Docker - Iceberg Rust</title>
+ <title>Container Runtimes - Iceberg Rust</title>
<!-- Custom HTML head -->
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="../introduction.html">Introduction</a></li><li class="chapter-item
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item
expanded "><a href="../install.html">Install</a></li><li class="chapter-item
expanded "><a href="../download.html">Download</a></li><li class="chapter-item
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title">D [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="../introduction.html">Introduction</a></li><li class="chapter-item
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item
expanded "><a href="../install.html">Install</a></li><li class="chapter-item
expanded "><a href="../download.html">Download</a></li><li class="chapter-item
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title">D [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
@@ -150,7 +150,7 @@
<a href="https://github.com/apache/iceberg-rust"
title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa
fa-github"></i>
</a>
- <a
href="https://github.com/apache/iceberg-rust/edit/main/website/src/reference/podman.md"
title="Suggest an edit" aria-label="Suggest an edit">
+ <a
href="https://github.com/apache/iceberg-rust/edit/main/website/src/reference/container-runtimes.md"
title="Suggest an edit" aria-label="Suggest an edit">
<i id="git-edit-button" class="fa fa-edit"></i>
</a>
@@ -197,32 +197,79 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<h1 id="using-podman-instead-of-docker"><a class="header"
href="#using-podman-instead-of-docker">Using Podman instead of Docker</a></h1>
-<p>Iceberg-rust does not require containerization, except for integration
tests, where "docker" and "docker-compose" are used to
start containers for minio and various catalogs. Below instructions setup
"rootful podman" and docker's official docker-compose plugin to run
integration tests as an alternative to docker or Orbstack.</p>
+<h1 id="container-runtimes"><a class="header"
href="#container-runtimes">Container Runtimes</a></h1>
+<p>Iceberg-rust uses containers for integration tests, where
<code>docker</code> and <code>docker compose</code> start containers for MinIO
and various catalogs. You can use any of the following container runtimes.</p>
+<h2 id="docker-desktop"><a class="header" href="#docker-desktop">Docker
Desktop</a></h2>
+<p><a href="https://www.docker.com/products/docker-desktop/">Docker
Desktop</a> is available for macOS, Windows, and Linux.</p>
<ol>
-<li>Have podman v4 or newer.
+<li>
+<p>Install Docker Desktop by downloading the <a
href="https://www.docker.com/products/docker-desktop/">installer</a> or using
Homebrew on macOS.</p>
+<pre><code class="language-shell">brew install --cask docker
+</code></pre>
+</li>
+<li>
+<p>Launch Docker Desktop and complete the setup.</p>
+</li>
+<li>
+<p>Verify the installation.</p>
+<pre><code class="language-shell">docker --version
+docker compose version
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="orbstack-macos"><a class="header" href="#orbstack-macos">OrbStack
(macOS)</a></h2>
+<p><a href="https://orbstack.dev/">OrbStack</a> is a lightweight alternative
to Docker Desktop on macOS.</p>
+<ol>
+<li>
+<p>Install OrbStack by downloading the <a
href="https://orbstack.dev/download">installer</a> or using Homebrew.</p>
+<pre><code class="language-shell">brew install orbstack
+</code></pre>
+</li>
+<li>
+<p>Migrate Docker data (if switching from Docker Desktop).</p>
+<pre><code class="language-shell">orb migrate docker
+</code></pre>
+</li>
+<li>
+<p>(Optional) Add registry mirrors.</p>
+<p>You can edit the config directly at
<code>~/.orbstack/config/docker.json</code> and restart the engine with
<code>orb restart docker</code>.</p>
+<pre><code class="language-json">{
+ "registry-mirrors": ["<mirror_addr>"]
+}
+</code></pre>
+</li>
+<li>
+<p>Try some integration tests!</p>
+<pre><code class="language-shell">make test
+</code></pre>
+</li>
+</ol>
+<h2 id="podman"><a class="header" href="#podman">Podman</a></h2>
+<p><a href="https://podman.io/">Podman</a> is a daemonless container engine.
The instructions below set up "rootful podman" with docker's official
docker-compose plugin.</p>
+<ol>
+<li>
+<p>Have podman v4 or newer.</p>
<pre><code class="language-shell">$ podman --version
podman version 4.9.4-rhel
</code></pre>
</li>
-<li>Create a docker wrapper script:</li>
-</ol>
-<ul>
<li>
+<p>Create a docker wrapper script:</p>
<p>Create a fresh <code>/usr/bin/docker</code> file and add the below
contents:</p>
<pre><code class="language-bash">#!/bin/sh
[ -e /etc/containers/nodocker ] || \
echo "Emulate Docker CLI using podman. Create /etc/containers/nodocker to
quiet msg." >&2
exec sudo /usr/bin/podman "$@"
</code></pre>
-</li>
-<li>
<p>Set new <code>/usr/bin/docker</code> file to executable.</p>
<pre><code class="language-shell">sudo chmod +x /usr/bin/docker
</code></pre>
</li>
-</ul>
-<ol start="3">
<li>
<p>Install the <a href="https://docs.docker.com/compose/install/linux">docker
compose plugin</a>. Check for successful installation.</p>
<pre><code class="language-shell">$ docker compose version
@@ -260,28 +307,21 @@ lrwxrwxrwx 1 root root 27 Jul 24 12:18
/var/run/docker.sock -> /var/run/podma
</code></pre>
</li>
</ol>
-<h1 id="references"><a class="header" href="#references">References</a></h1>
+<h3 id="note-on-rootless-containers"><a class="header"
href="#note-on-rootless-containers">Note on rootless containers</a></h3>
+<p>As of podman v4, <a
href="https://www.redhat.com/sysadmin/container-ip-address-podman">"To be
succinct and simple, when running rootless containers, the container itself
does not have an IP address"</a>. This causes issues with iceberg-rust's
integration tests, which rely upon IP-addressable containers via
docker-compose. As a result, podman "rootful" containers are required
to ensure containers have IP addresses.</p>
+<h3 id="podman-troubleshooting"><a class="header"
href="#podman-troubleshooting">Podman troubleshooting</a></h3>
+<p><strong>Error:</strong> <code>short-name
"apache/iceberg-rest-fixture" did not resolve to an alias and no
unqualified-search registries are defined in
"/etc/containers/registries.conf"</code></p>
+<p><strong>Fix:</strong> Add or modify the
<code>/etc/containers/registries.conf</code> file:</p>
+<pre><code class="language-toml">[[registry]]
+prefix = "docker.io"
+location = "docker.io"
+</code></pre>
+<h3 id="podman-references"><a class="header" href="#podman-references">Podman
references</a></h3>
<ul>
<li><a
href="https://docs.docker.com/compose/install/linux">https://docs.docker.com/compose/install/linux</a></li>
<li><a
href="https://www.redhat.com/sysadmin/podman-docker-compose">https://www.redhat.com/sysadmin/podman-docker-compose</a></li>
-</ul>
-<h1 id="note-on-rootless-containers"><a class="header"
href="#note-on-rootless-containers">Note on rootless containers</a></h1>
-<p>As of podman v4, <a
href="https://www.redhat.com/sysadmin/container-ip-address-podman">"To be
succinct and simple, when running rootless containers, the container itself
does not have an IP address"</a> This causes issues with iceberg-rust's
integration tests, which rely upon ip-addressable containers via
docker-compose. As a result, podman "rootful" containers are required
throughout to ensure containers have IP addresses. Perhaps as a future work or
with updates [...]
-<ul>
<li><a
href="https://www.redhat.com/sysadmin/container-ip-address-podman">https://www.redhat.com/sysadmin/container-ip-address-podman</a></li>
<li><a
href="https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md">https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md</a></li>
-</ul>
-<h1 id="debugging-note"><a class="header" href="#debugging-note">Debugging
Note:</a></h1>
-<ul>
-<li>Fix for error: <code>Error: short-name
"apache/iceberg-rest-fixture" did not resolve to an alias and no
unqualified-search registries are defined in
"/etc/containers/registries.conf"</code>
-<ul>
-<li>Add or modify the <code>/etc/containers/registries.conf</code> file:</li>
-</ul>
-<pre><code class="language-toml">[[registry]]
-prefix = "docker.io"
-location = "docker.io"
-</code></pre>
-</li>
</ul>
</main>
@@ -292,7 +332,7 @@ location = "docker.io"
<i class="fa fa-angle-left"></i>
</a>
- <a rel="next prefetch"
href="../reference/orbstack.html" class="mobile-nav-chapters next" title="Next
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+ <a rel="next prefetch"
href="../reference/setup_gpg.html" class="mobile-nav-chapters next" title="Next
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
@@ -306,7 +346,7 @@ location = "docker.io"
<i class="fa fa-angle-left"></i>
</a>
- <a rel="next prefetch" href="../reference/orbstack.html"
class="nav-chapters next" title="Next chapter" aria-label="Next chapter"
aria-keyshortcuts="Right">
+ <a rel="next prefetch" href="../reference/setup_gpg.html"
class="nav-chapters next" title="Next chapter" aria-label="Next chapter"
aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
diff --git a/reference/orbstack.html b/reference/orbstack.html
deleted file mode 100644
index c968194cb..000000000
--- a/reference/orbstack.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en" class="light" dir="ltr">
- <head>
- <!-- Book generated using mdBook -->
- <meta charset="UTF-8">
- <title>OrbStack as a docker alternative - Iceberg Rust</title>
-
-
- <!-- Custom HTML head -->
-
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="theme-color" content="#ffffff">
-
- <link rel="icon" href="../favicon.svg">
- <link rel="shortcut icon" href="../favicon.png">
- <link rel="stylesheet" href="../css/variables.css">
- <link rel="stylesheet" href="../css/general.css">
- <link rel="stylesheet" href="../css/chrome.css">
- <link rel="stylesheet" href="../css/print.css" media="print">
-
- <!-- Fonts -->
- <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
- <link rel="stylesheet" href="../fonts/fonts.css">
-
- <!-- Highlight.js Stylesheets -->
- <link rel="stylesheet" href="../highlight.css">
- <link rel="stylesheet" href="../tomorrow-night.css">
- <link rel="stylesheet" href="../ayu-highlight.css">
-
- <!-- Custom theme stylesheets -->
-
- </head>
- <body class="sidebar-visible no-js">
- <div id="body-container">
- <!-- Provide site root to javascript -->
- <script>
- var path_to_root = "../";
- var default_theme = window.matchMedia("(prefers-color-scheme:
dark)").matches ? "navy" : "light";
- </script>
-
- <!-- Work around some values being stored in localStorage wrapped in
quotes -->
- <script>
- try {
- var theme = localStorage.getItem('mdbook-theme');
- var sidebar = localStorage.getItem('mdbook-sidebar');
-
- if (theme.startsWith('"') && theme.endsWith('"')) {
- localStorage.setItem('mdbook-theme', theme.slice(1,
theme.length - 1));
- }
-
- if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
- localStorage.setItem('mdbook-sidebar', sidebar.slice(1,
sidebar.length - 1));
- }
- } catch (e) { }
- </script>
-
- <!-- Set the theme before any content is loaded, prevents flash -->
- <script>
- var theme;
- try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
- if (theme === null || theme === undefined) { theme =
default_theme; }
- var html = document.querySelector('html');
- html.classList.remove('light')
- html.classList.add(theme);
- var body = document.querySelector('body');
- body.classList.remove('no-js')
- body.classList.add('js');
- </script>
-
- <input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
-
- <!-- Hide / unhide sidebar before it is displayed -->
- <script>
- var body = document.querySelector('body');
- var sidebar = null;
- var sidebar_toggle =
document.getElementById("sidebar-toggle-anchor");
- if (document.body.clientWidth >= 1080) {
- try { sidebar = localStorage.getItem('mdbook-sidebar'); }
catch(e) { }
- sidebar = sidebar || 'visible';
- } else {
- sidebar = 'hidden';
- }
- sidebar_toggle.checked = sidebar === 'visible';
- body.classList.remove('sidebar-visible');
- body.classList.add("sidebar-" + sidebar);
- </script>
-
- <nav id="sidebar" class="sidebar" aria-label="Table of contents">
- <div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="../introduction.html">Introduction</a></li><li class="chapter-item
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item
expanded "><a href="../install.html">Install</a></li><li class="chapter-item
expanded "><a href="../download.html">Download</a></li><li class="chapter-item
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title">D [...]
- </div>
- <div id="sidebar-resize-handle" class="sidebar-resize-handle">
- <div class="sidebar-resize-indicator"></div>
- </div>
- </nav>
-
- <!-- Track and set sidebar scroll position -->
- <script>
- var sidebarScrollbox = document.querySelector('#sidebar
.sidebar-scrollbox');
- sidebarScrollbox.addEventListener('click', function(e) {
- if (e.target.tagName === 'A') {
- sessionStorage.setItem('sidebar-scroll',
sidebarScrollbox.scrollTop);
- }
- }, { passive: true });
- var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
- sessionStorage.removeItem('sidebar-scroll');
- if (sidebarScrollTop) {
- // preserve sidebar scroll position when navigating via links
within sidebar
- sidebarScrollbox.scrollTop = sidebarScrollTop;
- } else {
- // scroll sidebar to current active section when navigating
via "next/previous chapter" buttons
- var activeSection = document.querySelector('#sidebar .active');
- if (activeSection) {
- activeSection.scrollIntoView({ block: 'center' });
- }
- }
- </script>
-
- <div id="page-wrapper" class="page-wrapper">
-
- <div class="page">
- <div id="menu-bar-hover-placeholder"></div>
- <div id="menu-bar" class="menu-bar sticky">
- <div class="left-buttons">
- <label id="sidebar-toggle" class="icon-button"
for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle
Table of Contents" aria-controls="sidebar">
- <i class="fa fa-bars"></i>
- </label>
- <button id="theme-toggle" class="icon-button"
type="button" title="Change theme" aria-label="Change theme"
aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
- <i class="fa fa-paint-brush"></i>
- </button>
- <ul id="theme-list" class="theme-popup"
aria-label="Themes" role="menu">
- <li role="none"><button role="menuitem"
class="theme" id="light">Light</button></li>
- <li role="none"><button role="menuitem"
class="theme" id="rust">Rust</button></li>
- <li role="none"><button role="menuitem"
class="theme" id="coal">Coal</button></li>
- <li role="none"><button role="menuitem"
class="theme" id="navy">Navy</button></li>
- <li role="none"><button role="menuitem"
class="theme" id="ayu">Ayu</button></li>
- </ul>
- <button id="search-toggle" class="icon-button"
type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar"
aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
- <i class="fa fa-search"></i>
- </button>
- </div>
-
- <h1 class="menu-title">Iceberg Rust</h1>
-
- <div class="right-buttons">
- <a href="../print.html" title="Print this book"
aria-label="Print this book">
- <i id="print-button" class="fa fa-print"></i>
- </a>
- <a href="https://github.com/apache/iceberg-rust"
title="Git repository" aria-label="Git repository">
- <i id="git-repository-button" class="fa
fa-github"></i>
- </a>
- <a
href="https://github.com/apache/iceberg-rust/edit/main/website/src/reference/orbstack.md"
title="Suggest an edit" aria-label="Suggest an edit">
- <i id="git-edit-button" class="fa fa-edit"></i>
- </a>
-
- </div>
- </div>
-
- <div id="search-wrapper" class="hidden">
- <form id="searchbar-outer" class="searchbar-outer">
- <input type="search" id="searchbar" name="searchbar"
placeholder="Search this book ..." aria-controls="searchresults-outer"
aria-describedby="searchresults-header">
- </form>
- <div id="searchresults-outer" class="searchresults-outer
hidden">
- <div id="searchresults-header"
class="searchresults-header"></div>
- <ul id="searchresults">
- </ul>
- </div>
- </div>
-
- <!-- Apply ARIA attributes after the sidebar and the sidebar
toggle button are added to the DOM -->
- <script>
-
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar
=== 'visible');
-
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !==
'visible');
- Array.from(document.querySelectorAll('#sidebar
a')).forEach(function(link) {
- link.setAttribute('tabIndex', sidebar === 'visible' ?
0 : -1);
- });
- </script>
-
- <div id="content" class="content">
- <main>
- <!--
- ~ 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
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
--->
-<h1 id="orbstack-as-a-docker-alternative-on-macos"><a class="header"
href="#orbstack-as-a-docker-alternative-on-macos">OrbStack as a docker
alternative on macOS</a></h1>
-<ol>
-<li>
-<p>Install OrbStack by downloading <a
href="https://orbstack.dev/download">installer</a> or using Homebrew.</p>
-<pre><code class="language-shell">brew install orbstack
-</code></pre>
-</li>
-<li>
-<p>Migrate Docker data</p>
-<pre><code class="language-shell">orb migrate docker
-</code></pre>
-</li>
-<li>
-<p>(Optional) Add registry mirrors</p>
-<p>You can edit the config directly at
<code>~/.orbstack/config/docker.json</code> and restart the engine with
<code>orb restart docker</code>.</p>
-<pre><code>{
- "registry-mirrors": ["<mirror_addr>"]
-}
-</code></pre>
-</li>
-</ol>
-
- </main>
-
- <nav class="nav-wrapper" aria-label="Page navigation">
- <!-- Mobile navigation buttons -->
- <a rel="prev" href="../reference/podman.html"
class="mobile-nav-chapters previous" title="Previous chapter"
aria-label="Previous chapter" aria-keyshortcuts="Left">
- <i class="fa fa-angle-left"></i>
- </a>
-
- <a rel="next prefetch"
href="../reference/setup_gpg.html" class="mobile-nav-chapters next" title="Next
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
- <i class="fa fa-angle-right"></i>
- </a>
-
- <div style="clear: both"></div>
- </nav>
- </div>
- </div>
-
- <nav class="nav-wide-wrapper" aria-label="Page navigation">
- <a rel="prev" href="../reference/podman.html"
class="nav-chapters previous" title="Previous chapter" aria-label="Previous
chapter" aria-keyshortcuts="Left">
- <i class="fa fa-angle-left"></i>
- </a>
-
- <a rel="next prefetch" href="../reference/setup_gpg.html"
class="nav-chapters next" title="Next chapter" aria-label="Next chapter"
aria-keyshortcuts="Right">
- <i class="fa fa-angle-right"></i>
- </a>
- </nav>
-
- </div>
-
-
-
-
- <script>
- window.playground_copyable = true;
- </script>
-
-
- <script src="../elasticlunr.min.js"></script>
- <script src="../mark.min.js"></script>
- <script src="../searcher.js"></script>
-
- <script src="../clipboard.min.js"></script>
- <script src="../highlight.js"></script>
- <script src="../book.js"></script>
-
- <!-- Custom JS scripts -->
-
-
- </div>
- </body>
-</html>
diff --git a/reference/setup_gpg.html b/reference/setup_gpg.html
index b6e1c7ed9..bdd551ba2 100644
--- a/reference/setup_gpg.html
+++ b/reference/setup_gpg.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="../introduction.html">Introduction</a></li><li class="chapter-item
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item
expanded "><a href="../install.html">Install</a></li><li class="chapter-item
expanded "><a href="../download.html">Download</a></li><li class="chapter-item
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title">D [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="../introduction.html">Introduction</a></li><li class="chapter-item
expanded affix "><li class="part-title">User Guide</li><li class="chapter-item
expanded "><a href="../install.html">Install</a></li><li class="chapter-item
expanded "><a href="../download.html">Download</a></li><li class="chapter-item
expanded "><a href="../api.html">API</a></li><li class="chapter-item expanded
affix "><li class="part-title">D [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
@@ -314,7 +314,7 @@ svn ci -m "add gpg key for YOUR_NAME" # Later on,
if you are asked to
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
- <a rel="prev" href="../reference/orbstack.html"
class="mobile-nav-chapters previous" title="Previous chapter"
aria-label="Previous chapter" aria-keyshortcuts="Left">
+ <a rel="prev"
href="../reference/container-runtimes.html" class="mobile-nav-chapters
previous" title="Previous chapter" aria-label="Previous chapter"
aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
@@ -325,7 +325,7 @@ svn ci -m "add gpg key for YOUR_NAME" # Later on,
if you are asked to
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
- <a rel="prev" href="../reference/orbstack.html"
class="nav-chapters previous" title="Previous chapter" aria-label="Previous
chapter" aria-keyshortcuts="Left">
+ <a rel="prev" href="../reference/container-runtimes.html"
class="nav-chapters previous" title="Previous chapter" aria-label="Previous
chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
diff --git a/release.html b/release.html
index db92f31d8..bff130e54 100644
--- a/release.html
+++ b/release.html
@@ -88,7 +88,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
- <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
+ <ol class="chapter"><li class="chapter-item expanded "><a
href="introduction.html">Introduction</a></li><li class="chapter-item expanded
affix "><li class="part-title">User Guide</li><li class="chapter-item expanded
"><a href="install.html">Install</a></li><li class="chapter-item expanded "><a
href="download.html">Download</a></li><li class="chapter-item expanded "><a
href="api.html">API</a></li><li class="chapter-item expanded affix "><li
class="part-title">Developer Gui [...]
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
@@ -540,7 +540,7 @@ On behalf of Apache Iceberg Community
<i class="fa fa-angle-left"></i>
</a>
- <a rel="next prefetch"
href="reference/podman.html" class="mobile-nav-chapters next" title="Next
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
+ <a rel="next prefetch"
href="reference/container-runtimes.html" class="mobile-nav-chapters next"
title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
@@ -554,7 +554,7 @@ On behalf of Apache Iceberg Community
<i class="fa fa-angle-left"></i>
</a>
- <a rel="next prefetch" href="reference/podman.html"
class="nav-chapters next" title="Next chapter" aria-label="Next chapter"
aria-keyshortcuts="Right">
+ <a rel="next prefetch"
href="reference/container-runtimes.html" class="nav-chapters next" title="Next
chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
diff --git a/searchindex.js b/searchindex.js
index ac3186395..f27b8aeb9 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Object.assign(window.search,
{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribut
[...]
\ No newline at end of file
+Object.assign(window.search,
{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribut
[...]
\ No newline at end of file
diff --git a/searchindex.json b/searchindex.json
index aac22a32c..b9b2022dd 100644
--- a/searchindex.json
+++ b/searchindex.json
@@ -1 +1 @@
-{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribution","CONTRIBUTING.html#workf
[...]
\ No newline at end of file
+{"doc_urls":["introduction.html#iceberg-rust","introduction.html#what-is-apache-iceberg","install.html#install","download.html#apache-iceberg-rust-downloads","download.html#releases","download.html#notes","download.html#to-verify-the-signature-of-the-release-artifact","download.html#to-verify-the-checksum-of-the-release-artifact","api.html#catalog","api.html#restcatalog","api.html#table","CONTRIBUTING.html#contributing","CONTRIBUTING.html#your-first-contribution","CONTRIBUTING.html#workf
[...]
\ No newline at end of file