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 eb4b00cd deploy: e08c0e51f80b7fc2103962da29e4ede2a4a5aad7
eb4b00cd is described below

commit eb4b00cd79073a31682812a2be3910e73453a86d
Author: Xuanwo <[email protected]>
AuthorDate: Mon Sep 9 03:59:26 2024 +0000

    deploy: e08c0e51f80b7fc2103962da29e4ede2a4a5aad7
---
 api/iceberg/spec/fn.index_by_id.html       |  2 +-
 api/iceberg/spec/fn.index_parents.html     |  2 +-
 api/iceberg/spec/fn.prune_columns.html     |  2 +-
 api/iceberg/spec/fn.visit_schema.html      |  2 +-
 api/iceberg/spec/fn.visit_struct.html      |  2 +-
 api/iceberg/spec/fn.visit_type.html        |  2 +-
 api/iceberg/spec/struct.Schema.html        | 28 +++++++++++++-------------
 api/iceberg/spec/struct.SchemaBuilder.html |  4 ++--
 api/iceberg/spec/trait.SchemaVisitor.html  | 32 +++++++++++++++---------------
 api/src/iceberg/spec/schema.rs.html        | 22 +++++++++++++++++---
 10 files changed, 57 insertions(+), 41 deletions(-)

diff --git a/api/iceberg/spec/fn.index_by_id.html 
b/api/iceberg/spec/fn.index_by_id.html
index 1ea43aae..3a792b49 100644
--- a/api/iceberg/spec/fn.index_by_id.html
+++ b/api/iceberg/spec/fn.index_by_id.html
@@ -1,2 +1,2 @@
-<!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="Creates a 
field id to field map."><title>index_by_id in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e
 [...]
+<!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="Creates a 
field id to field map."><title>index_by_id in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e
 [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/api/iceberg/spec/fn.index_parents.html 
b/api/iceberg/spec/fn.index_parents.html
index 7e1df19f..5edb77ae 100644
--- a/api/iceberg/spec/fn.index_parents.html
+++ b/api/iceberg/spec/fn.index_parents.html
@@ -1,2 +1,2 @@
-<!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="Creates a 
field id to parent field id map."><title>index_parents in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Med
 [...]
+<!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="Creates a 
field id to parent field id map."><title>index_parents in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Med
 [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/api/iceberg/spec/fn.prune_columns.html 
b/api/iceberg/spec/fn.prune_columns.html
index 3faefe1a..8b96f19a 100644
--- a/api/iceberg/spec/fn.prune_columns.html
+++ b/api/iceberg/spec/fn.prune_columns.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Visit a 
schema and returns only the fields selected by id set"><title>prune_columns in 
iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Visit a 
schema and returns only the fields selected by id set"><title>prune_columns in 
iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd
 [...]
     schema: &amp;<a class="struct" href="struct.Schema.html" title="struct 
iceberg::spec::Schema">Schema</a>,
     selected: impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html";
 title="trait 
core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>&gt;,
     select_full_types: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>,
diff --git a/api/iceberg/spec/fn.visit_schema.html 
b/api/iceberg/spec/fn.visit_schema.html
index ae035f32..294567b3 100644
--- a/api/iceberg/spec/fn.visit_schema.html
+++ b/api/iceberg/spec/fn.visit_schema.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Visit 
schema in post order."><title>visit_schema in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970
 [...]
+<!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="Visit 
schema in post order."><title>visit_schema in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970
 [...]
     schema: &amp;<a class="struct" href="struct.Schema.html" title="struct 
iceberg::spec::Schema">Schema</a>,
     visitor: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.reference.html";>&amp;mut 
V</a>,
 ) -&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;V::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>&gt;</code></pre><details class="toggle 
top-doc" open><summary class="hideme"><span>Expand 
description</span></summary><div class="docblock"><p>Visit schema in post 
order.</p>
diff --git a/api/iceberg/spec/fn.visit_struct.html 
b/api/iceberg/spec/fn.visit_struct.html
index 60f869b2..493da54c 100644
--- a/api/iceberg/spec/fn.visit_struct.html
+++ b/api/iceberg/spec/fn.visit_struct.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Visit 
struct type in post order."><title>visit_struct in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781
 [...]
+<!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="Visit 
struct type in post order."><title>visit_struct in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781
 [...]
     s: &amp;<a class="struct" href="struct.StructType.html" title="struct 
iceberg::spec::StructType">StructType</a>,
     visitor: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.reference.html";>&amp;mut 
V</a>,
 ) -&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;V::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>&gt;</code></pre><details class="toggle 
top-doc" open><summary class="hideme"><span>Expand 
description</span></summary><div class="docblock"><p>Visit struct type in post 
order.</p>
diff --git a/api/iceberg/spec/fn.visit_type.html 
b/api/iceberg/spec/fn.visit_type.html
index 2750661b..42d13ccf 100644
--- a/api/iceberg/spec/fn.visit_type.html
+++ b/api/iceberg/spec/fn.visit_type.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Visiting a 
type in post order."><title>visit_type in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e497
 [...]
+<!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="Visiting a 
type in post order."><title>visit_type in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e497
 [...]
     type: &amp;<a class="enum" href="enum.Type.html" title="enum 
iceberg::spec::Type">Type</a>,
     visitor: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.reference.html";>&amp;mut 
V</a>,
 ) -&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;V::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>&gt;</code></pre><details class="toggle 
top-doc" open><summary class="hideme"><span>Expand 
description</span></summary><div class="docblock"><p>Visiting a type in post 
order.</p>
diff --git a/api/iceberg/spec/struct.Schema.html 
b/api/iceberg/spec/struct.Schema.html
index dc4a0cbd..fe0da289 100644
--- a/api/iceberg/spec/struct.Schema.html
+++ b/api/iceberg/spec/struct.Schema.html
@@ -1,24 +1,24 @@
 <!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="Defines 
schema in iceberg."><title>Schema in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.wo
 [...]
-</div></details><h2 id="implementations" 
class="section-header">Implementations<a href="#implementations" 
class="anchor">§</a></h2><div id="implementations-list"><details class="toggle 
implementors-toggle" open><summary><section id="impl-Schema" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#261-350">source</a><a 
href="#impl-Schema" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.Schema.html" title="struct iceberg::spec:: [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.into_builder" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#273-280">source</a><h4 
class="code-header">pub fn <a href="#method.into_builder" 
class="fn">into_builder</a>(self) -&gt; <a class="struct" 
href="struct.SchemaBuilder.html" title="struct 
iceberg::spec::SchemaBuilder">SchemaBuilder</a></h4></section></summary><div 
class="docblock"><p>Create a new schema bui [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#283-285">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_id" 
class="fn">field_by_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option 
[...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_name" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#290-294">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_name" 
class="fn">field_by_name</a>(&amp;self, field_name: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/optio [...]
+</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-Schema" class="impl"><a 
class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#260-349">source</a><a 
href="#impl-Schema" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.Schema.html" title="struct iceberg::spec:: [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.into_builder" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#272-279">source</a><h4 
class="code-header">pub fn <a href="#method.into_builder" 
class="fn">into_builder</a>(self) -&gt; <a class="struct" 
href="struct.SchemaBuilder.html" title="struct 
iceberg::spec::SchemaBuilder">SchemaBuilder</a></h4></section></summary><div 
class="docblock"><p>Create a new schema bui [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#282-284">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_id" 
class="fn">field_by_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option 
[...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_name" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#289-293">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_name" 
class="fn">field_by_name</a>(&amp;self, field_name: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/optio [...]
 <p>Both full name and short name could work here.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_name_case_insensitive" class="method"><a class="src 
rightside" href="../../src/iceberg/spec/schema.rs.html#299-303">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_name_case_insensitive" 
class="fn">field_by_name_case_insensitive</a>(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_name_case_insensitive" class="method"><a class="src 
rightside" href="../../src/iceberg/spec/schema.rs.html#298-302">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_name_case_insensitive" 
class="fn">field_by_name_case_insensitive</a>(
     &amp;self,
     field_name: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>,
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"; 
title="enum core::option::Option">Option</a>&lt;&amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>&gt;</h4></section></summary><div
 class="docblock"><p>Get field by field name, but in case-insensitive way.</p>
 <p>Both full name and short name could work here.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_alias" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#306-310">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_alias" 
class="fn">field_by_alias</a>(&amp;self, alias: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/ [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.highest_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#314-316">source</a><h4 
class="code-header">pub fn <a href="#method.highest_field_id" 
class="fn">highest_field_id</a>(&amp;self) -&gt; <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a></h4></section></summary><div
 class="docblock"><p>Returns [<code>highest_fie [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.schema_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#320-322">source</a><h4 
class="code-header">pub fn <a href="#method.schema_id" 
class="fn">schema_id</a>(&amp;self) -&gt; <a class="type" 
href="type.SchemaId.html" title="type 
iceberg::spec::SchemaId">SchemaId</a></h4></section></summary><div 
class="docblock"><p>Returns [<code>schema_id</code>].</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.as_struct" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#326-328">source</a><h4 
class="code-header">pub fn <a href="#method.as_struct" 
class="fn">as_struct</a>(&amp;self) -&gt; &amp;<a class="struct" 
href="struct.StructType.html" title="struct 
iceberg::spec::StructType">StructType</a></h4></section></summary><div 
class="docblock"><p>Returns [<code>r#struct</code>].</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.identifier_field_ids" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#332-334">source</a><h4 
class="code-header">pub fn <a href="#method.identifier_field_ids" 
class="fn">identifier_field_ids</a>(&amp;self) -&gt; impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html";
 title="trait core::iter::traits::iterator::Iter [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_id_by_name" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#337-339">source</a><h4 
class="code-header">pub fn <a href="#method.field_id_by_name" 
class="fn">field_id_by_name</a>(&amp;self, name: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/op [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.name_by_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#342-344">source</a><h4 
class="code-header">pub fn <a href="#method.name_by_field_id" 
class="fn">name_by_field_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/opt [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.accessor_by_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#347-349">source</a><h4 
class="code-header">pub fn <a href="#method.accessor_by_field_id" 
class="fn">accessor_by_field_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nigh [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_by_alias" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#305-309">source</a><h4 
class="code-header">pub fn <a href="#method.field_by_alias" 
class="fn">field_by_alias</a>(&amp;self, alias: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/ [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.highest_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#313-315">source</a><h4 
class="code-header">pub fn <a href="#method.highest_field_id" 
class="fn">highest_field_id</a>(&amp;self) -&gt; <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a></h4></section></summary><div
 class="docblock"><p>Returns [<code>highest_fie [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.schema_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#319-321">source</a><h4 
class="code-header">pub fn <a href="#method.schema_id" 
class="fn">schema_id</a>(&amp;self) -&gt; <a class="type" 
href="type.SchemaId.html" title="type 
iceberg::spec::SchemaId">SchemaId</a></h4></section></summary><div 
class="docblock"><p>Returns [<code>schema_id</code>].</p>
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.as_struct" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#325-327">source</a><h4 
class="code-header">pub fn <a href="#method.as_struct" 
class="fn">as_struct</a>(&amp;self) -&gt; &amp;<a class="struct" 
href="struct.StructType.html" title="struct 
iceberg::spec::StructType">StructType</a></h4></section></summary><div 
class="docblock"><p>Returns [<code>r#struct</code>].</p>
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.identifier_field_ids" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#331-333">source</a><h4 
class="code-header">pub fn <a href="#method.identifier_field_ids" 
class="fn">identifier_field_ids</a>(&amp;self) -&gt; impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html";
 title="trait core::iter::traits::iterator::Iter [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.field_id_by_name" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#336-338">source</a><h4 
class="code-header">pub fn <a href="#method.field_id_by_name" 
class="fn">field_id_by_name</a>(&amp;self, name: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.str.html";>str</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/op [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.name_by_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#341-343">source</a><h4 
class="code-header">pub fn <a href="#method.name_by_field_id" 
class="fn">name_by_field_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nightly/core/opt [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.accessor_by_field_id" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#346-348">source</a><h4 
class="code-header">pub fn <a href="#method.accessor_by_field_id" 
class="fn">accessor_by_field_id</a>(&amp;self, field_id: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>) -&gt; 
<a class="enum" href="https://doc.rust-lang.org/nigh [...]
 </div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Clone-for-Schema" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a 
href="#impl-Clone-for-Schema" class="anchor">§</a><h3 class="code-header">impl 
<a class="tr [...]
-    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
+    __D: <a class="trait" 
href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserializer.html"; 
title="trait 
serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div
 class='docblock'>Deserialize this value from the given Serde deserializer. <a 
href="https://docs.rs/serde/1.0.210/serde/de/trait.Deserialize.html#tymethod.deserialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Displ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" 
open><summary><section id="method.ne" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="src" 
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263";>source</a></span><a
 href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a 
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne";
 class= [...]
 sufficient, and should not be overridden without very good 
reason.</div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section id="impl-Serialize-for-Schema" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#45">source</a><a 
href="#impl-Serialize-for-Schema" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" 
href="https://docs.rs/serde/1.0.210/serde/ser/trait.Serialize.html"; 
title="trait serde::ser::Seri [...]
     __S: <a class="trait" 
href="https://docs.rs/serde/1.0.210/serde/ser/trait.Serializer.html"; 
title="trait 
serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div 
class='docblock'>Serialize this value into the given Serde serializer. <a 
href="https://docs.rs/serde/1.0.210/serde/ser/trait.Serialize.html#tymethod.serialize";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle" open><summary><section 
id="impl-TryFrom%3C%26Schema%3E-for- [...]
diff --git a/api/iceberg/spec/struct.SchemaBuilder.html 
b/api/iceberg/spec/struct.SchemaBuilder.html
index 330acc21..f3677162 100644
--- a/api/iceberg/spec/struct.SchemaBuilder.html
+++ b/api/iceberg/spec/struct.SchemaBuilder.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Schema 
builder."><title>SchemaBuilder in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,
 [...]
-</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-SchemaBuilder" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#82-259">source</a><a 
href="#impl-SchemaBuilder" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.SchemaBuilder.html" title="st [...]
+</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-SchemaBuilder" 
class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#82-258">source</a><a 
href="#impl-SchemaBuilder" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.SchemaBuilder.html" title="st [...]
     self,
     fields: impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html";
 title="trait 
core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a 
class="type" href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>&gt;,
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Add fields to 
schema builder.</p>
@@ -9,7 +9,7 @@
     ids: impl <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html";
 title="trait 
core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>&gt;,
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Set identifier 
field ids.</p>
 </div></details><details class="toggle method-toggle" open><summary><section 
id="method.with_alias" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#102-105">source</a><h4 
class="code-header">pub fn <a href="#method.with_alias" 
class="fn">with_alias</a>(self, alias_to_id: BiHashMap&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>, <a class="primitive" 
href="http [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.build" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#108-148">source</a><h4 
class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) 
-&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;<a class="struct" href="struct.Schema.html" 
title="struct iceberg::spec::Schema">Schema</a>&gt;</h4></section></summary> 
[...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.build" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#108-147">source</a><h4 
class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) 
-&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;<a class="struct" href="struct.Schema.html" 
title="struct iceberg::spec::Schema">Schema</a>&gt;</h4></section></summary> 
[...]
 </div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Debug-for-SchemaBuilder" class="impl"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#74">source</a><a 
href="#impl-Debug-for-SchemaBuilder" class="anchor">§</a><h3 
class="code-header">imp [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210";>source</a><a
 href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a 
href="https:/ [...]
diff --git a/api/iceberg/spec/trait.SchemaVisitor.html 
b/api/iceberg/spec/trait.SchemaVisitor.html
index 6d01a889..985759c2 100644
--- a/api/iceberg/spec/trait.SchemaVisitor.html
+++ b/api/iceberg/spec/trait.SchemaVisitor.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="A post 
order schema visitor."><title>SchemaVisitor in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e49
 [...]
+<!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="A post 
order schema visitor."><title>SchemaVisitor in iceberg::spec - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e49
 [...]
     type <a href="#associatedtype.T" class="associatedtype">T</a>;
 
 <details class="toggle type-contents-toggle"><summary 
class="hideme"><span>Show 14 methods</span></summary>    // Required methods
@@ -33,28 +33,28 @@
 <span class="item-spacer"></span>    fn <a href="#method.after_map_value" 
class="fn">after_map_value</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">Result</a>&lt;<a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.unit.html";>()</a>&gt; { 
... }
 </details>}</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>A post order schema visitor.</p>
 <p>For order of methods called, please refer to <a href="fn.visit_schema.html" 
title="fn iceberg::spec::visit_schema"><code>visit_schema</code></a>.</p>
-</div></details><h2 id="required-associated-types" 
class="section-header">Required Associated Types<a 
href="#required-associated-types" class="anchor">§</a></h2><div 
class="methods"><details class="toggle" open><summary><section 
id="associatedtype.T" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#367">source</a><h4 
class="code-header">type <a href="#associatedtype.T" 
class="associatedtype">T</a></h4></section></summary><div 
class="docblock"><p>Return  [...]
-</div></details></div><h2 id="required-methods" 
class="section-header">Required Methods<a href="#required-methods" 
class="anchor">§</a></h2><div class="methods"><details class="toggle 
method-toggle" open><summary><section id="tymethod.schema" class="method"><a 
class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#403">source</a><h4 
class="code-header">fn <a href="#tymethod.schema" 
class="fn">schema</a>(&amp;mut self, schema: &amp;<a class="struct" 
href="struct.Schema.html" ti [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.field" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#405">source</a><h4 
class="code-header">fn <a href="#tymethod.field" class="fn">field</a>(&amp;mut 
self, field: &amp;<a class="type" href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>, value: Self::<a 
class="associatedtype" href="trait.SchemaVisitor.html#associatedtype [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.struct" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#407">source</a><h4 
class="code-header">fn <a href="#tymethod.struct" class="fn">struct</a>(
+</div></details><h2 id="required-associated-types" 
class="section-header">Required Associated Types<a 
href="#required-associated-types" class="anchor">§</a></h2><div 
class="methods"><details class="toggle" open><summary><section 
id="associatedtype.T" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#366">source</a><h4 
class="code-header">type <a href="#associatedtype.T" 
class="associatedtype">T</a></h4></section></summary><div 
class="docblock"><p>Return  [...]
+</div></details></div><h2 id="required-methods" 
class="section-header">Required Methods<a href="#required-methods" 
class="anchor">§</a></h2><div class="methods"><details class="toggle 
method-toggle" open><summary><section id="tymethod.schema" class="method"><a 
class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#402">source</a><h4 
class="code-header">fn <a href="#tymethod.schema" 
class="fn">schema</a>(&amp;mut self, schema: &amp;<a class="struct" 
href="struct.Schema.html" ti [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.field" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#404">source</a><h4 
class="code-header">fn <a href="#tymethod.field" class="fn">field</a>(&amp;mut 
self, field: &amp;<a class="type" href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>, value: Self::<a 
class="associatedtype" href="trait.SchemaVisitor.html#associatedtype [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.struct" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#406">source</a><h4 
class="code-header">fn <a href="#tymethod.struct" class="fn">struct</a>(
     &amp;mut self,
     struct: &amp;<a class="struct" href="struct.StructType.html" title="struct 
iceberg::spec::StructType">StructType</a>,
     results: <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"; 
title="struct alloc::vec::Vec">Vec</a>&lt;Self::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>&gt;,
 ) -&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;Self::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>&gt;</h4></section></summary><div 
class="docblock"><p>Called after struct’s fields visited.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.list" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#409">source</a><h4 
class="code-header">fn <a href="#tymethod.list" class="fn">list</a>(&amp;mut 
self, list: &amp;<a class="struct" href="struct.ListType.html" title="struct 
iceberg::spec::ListType">ListType</a>, value: Self::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type  [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.map" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#411">source</a><h4 
class="code-header">fn <a href="#tymethod.map" class="fn">map</a>(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.list" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#408">source</a><h4 
class="code-header">fn <a href="#tymethod.list" class="fn">list</a>(&amp;mut 
self, list: &amp;<a class="struct" href="struct.ListType.html" title="struct 
iceberg::spec::ListType">ListType</a>, value: Self::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type  [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.map" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#410">source</a><h4 
class="code-header">fn <a href="#tymethod.map" class="fn">map</a>(
     &amp;mut self,
     map: &amp;<a class="struct" href="struct.MapType.html" title="struct 
iceberg::spec::MapType">MapType</a>,
     key_value: Self::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>,
     value: Self::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>,
 ) -&gt; <a class="type" href="../type.Result.html" title="type 
iceberg::Result">Result</a>&lt;Self::<a class="associatedtype" 
href="trait.SchemaVisitor.html#associatedtype.T" title="type 
iceberg::spec::SchemaVisitor::T">T</a>&gt;</h4></section></summary><div 
class="docblock"><p>Called after map’s key and value fields visited.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.primitive" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#413">source</a><h4 
class="code-header">fn <a href="#tymethod.primitive" 
class="fn">primitive</a>(&amp;mut self, p: &amp;<a class="enum" 
href="enum.PrimitiveType.html" title="enum 
iceberg::spec::PrimitiveType">PrimitiveType</a>) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">R [...]
-</div></details></div><h2 id="provided-methods" 
class="section-header">Provided Methods<a href="#provided-methods" 
class="anchor">§</a></h2><div class="methods"><details class="toggle 
method-toggle" open><summary><section id="method.before_struct_field" 
class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#370-372">source</a><h4 
class="code-header">fn <a href="#method.before_struct_field" 
class="fn">before_struct_field</a>(&amp;mut self, _field: &amp;<a clas [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_struct_field" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#374-376">source</a><h4 
class="code-header">fn <a href="#method.after_struct_field" 
class="fn">after_struct_field</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.h [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.before_list_element" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#378-380">source</a><h4 
class="code-header">fn <a href="#method.before_list_element" 
class="fn">before_list_element</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Resul [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_list_element" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#382-384">source</a><h4 
class="code-header">fn <a href="#method.after_list_element" 
class="fn">after_list_element</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.h [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.before_map_key" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#386-388">source</a><h4 
class="code-header">fn <a href="#method.before_map_key" 
class="fn">before_map_key</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" title=" [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_map_key" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#390-392">source</a><h4 
class="code-header">fn <a href="#method.after_map_key" 
class="fn">after_map_key</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" title="typ [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.before_map_value" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#394-396">source</a><h4 
class="code-header">fn <a href="#method.before_map_value" 
class="fn">before_map_value</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" t [...]
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_map_value" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#398-400">source</a><h4 
class="code-header">fn <a href="#method.after_map_value" 
class="fn">after_map_value</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" titl [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="tymethod.primitive" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#412">source</a><h4 
class="code-header">fn <a href="#tymethod.primitive" 
class="fn">primitive</a>(&amp;mut self, p: &amp;<a class="enum" 
href="enum.PrimitiveType.html" title="enum 
iceberg::spec::PrimitiveType">PrimitiveType</a>) -&gt; <a class="type" 
href="../type.Result.html" title="type iceberg::Result">R [...]
+</div></details></div><h2 id="provided-methods" 
class="section-header">Provided Methods<a href="#provided-methods" 
class="anchor">§</a></h2><div class="methods"><details class="toggle 
method-toggle" open><summary><section id="method.before_struct_field" 
class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#369-371">source</a><h4 
class="code-header">fn <a href="#method.before_struct_field" 
class="fn">before_struct_field</a>(&amp;mut self, _field: &amp;<a clas [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_struct_field" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#373-375">source</a><h4 
class="code-header">fn <a href="#method.after_struct_field" 
class="fn">after_struct_field</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.h [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.before_list_element" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#377-379">source</a><h4 
class="code-header">fn <a href="#method.before_list_element" 
class="fn">before_list_element</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Resul [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_list_element" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#381-383">source</a><h4 
class="code-header">fn <a href="#method.after_list_element" 
class="fn">after_list_element</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.h [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.before_map_key" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#385-387">source</a><h4 
class="code-header">fn <a href="#method.before_map_key" 
class="fn">before_map_key</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" title=" [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_map_key" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#389-391">source</a><h4 
class="code-header">fn <a href="#method.after_map_key" 
class="fn">after_map_key</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" title="typ [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.before_map_value" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#393-395">source</a><h4 
class="code-header">fn <a href="#method.before_map_value" 
class="fn">before_map_value</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" t [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.after_map_value" class="method"><a class="src rightside" 
href="../../src/iceberg/spec/schema.rs.html#397-399">source</a><h4 
class="code-header">fn <a href="#method.after_map_value" 
class="fn">after_map_value</a>(&amp;mut self, _field: &amp;<a class="type" 
href="type.NestedFieldRef.html" title="type 
iceberg::spec::NestedFieldRef">NestedFieldRef</a>) -&gt; <a class="type" 
href="../type.Result.html" titl [...]
 </div></details></div><h2 id="implementors" 
class="section-header">Implementors<a href="#implementors" 
class="anchor">§</a></h2><div id="implementors-list"></div><script 
src="../../trait.impl/iceberg/spec/schema/trait.SchemaVisitor.js" 
async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/api/src/iceberg/spec/schema.rs.html 
b/api/src/iceberg/spec/schema.rs.html
index 298696d5..c2fcec06 100644
--- a/api/src/iceberg/spec/schema.rs.html
+++ b/api/src/iceberg/spec/schema.rs.html
@@ -2230,6 +2230,14 @@
 <a href="#2230" id="2230">2230</a>
 <a href="#2231" id="2231">2231</a>
 <a href="#2232" id="2232">2232</a>
+<a href="#2233" id="2233">2233</a>
+<a href="#2234" id="2234">2234</a>
+<a href="#2235" id="2235">2235</a>
+<a href="#2236" id="2236">2236</a>
+<a href="#2237" id="2237">2237</a>
+<a href="#2238" id="2238">2238</a>
+<a href="#2239" id="2239">2239</a>
+<a href="#2240" id="2240">2240</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the 
Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -2338,8 +2346,6 @@
 
     <span class="doccomment">/// Builds the schema.
     </span><span class="kw">pub fn </span>build(<span 
class="self">self</span>) -&gt; <span 
class="prelude-ty">Result</span>&lt;Schema&gt; {
-        <span class="kw">let </span>highest_field_id = <span 
class="self">self</span>.fields.iter().map(|f| f.id).max().unwrap_or(<span 
class="number">0</span>);
-
         <span class="kw">let </span>field_id_to_accessor = <span 
class="self">self</span>.build_accessors();
 
         <span class="kw">let </span>r#struct = StructType::new(<span 
class="self">self</span>.fields);
@@ -2362,12 +2368,13 @@
             .map(|(k, v)| (k.to_lowercase(), <span class="kw-2">*</span>v))
             .collect();
 
+        <span class="kw">let </span>highest_field_id = 
id_to_field.keys().max().cloned().unwrap_or(<span class="number">0</span>);
+
         <span class="prelude-val">Ok</span>(Schema {
             r#struct,
             schema_id: <span class="self">self</span>.schema_id,
             highest_field_id,
             identifier_field_ids: <span 
class="self">self</span>.identifier_field_ids,
-
             alias_to_id: <span class="self">self</span>.alias_to_id,
             id_to_field,
 
@@ -4461,5 +4468,14 @@ table {
         <span class="macro">assert!</span>(result.is_ok());
         <span class="macro">assert_eq!</span>(result.unwrap(), 
Type::Struct(schema.as_struct().clone()));
     }
+
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_highest_field_id() {
+        <span class="kw">let </span>schema = table_schema_nested();
+        <span class="macro">assert_eq!</span>(<span class="number">17</span>, 
schema.highest_field_id());
+
+        <span class="kw">let </span>schema = table_schema_simple().<span 
class="number">0</span>;
+        <span class="macro">assert_eq!</span>(<span class="number">3</span>, 
schema.highest_field_id());
+    }
 }
 </code></pre></div></section></main></body></html>
\ No newline at end of file

Reply via email to