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 e01fc415 deploy: 75b41beafd6d2fac4d76d08c740d053d0eb5a0bf
e01fc415 is described below
commit e01fc415218969985d87e13d68a25c5d6359729c
Author: Xuanwo <[email protected]>
AuthorDate: Fri Dec 13 08:38:41 2024 +0000
deploy: 75b41beafd6d2fac4d76d08c740d053d0eb5a0bf
---
api/iceberg/arrow/struct.ArrowReader.html | 2 +-
api/iceberg/spec/enum.Literal.html | 66 ++++++++++++------------
api/iceberg/spec/struct.Datum.html | 10 ++--
api/iceberg/spec/struct.Map.html | 22 ++++----
api/iceberg/spec/struct.RawLiteral.html | 10 ++--
api/iceberg/spec/struct.Struct.html | 16 +++---
api/iceberg/spec/struct.StructValueIntoIter.html | 4 +-
api/src/iceberg/arrow/reader.rs.html | 60 ++++++++++++++++++++-
api/src/iceberg/io/storage.rs.html | 18 ++++++-
api/src/iceberg/spec/values.rs.html | 2 +
10 files changed, 141 insertions(+), 69 deletions(-)
diff --git a/api/iceberg/arrow/struct.ArrowReader.html
b/api/iceberg/arrow/struct.ArrowReader.html
index f6276063..74b1f3dd 100644
--- a/api/iceberg/arrow/struct.ArrowReader.html
+++ b/api/iceberg/arrow/struct.ArrowReader.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="Reads data
from Parquet files"><title>ArrowReader in iceberg::arrow -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e49
[...]
-</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-ArrowReader"
class="impl"><a class="src rightside"
href="../../src/iceberg/arrow/reader.rs.html#128-478">source</a><a
href="#impl-ArrowReader" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.ArrowReader.html" title="struct [...]
+</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-ArrowReader"
class="impl"><a class="src rightside"
href="../../src/iceberg/arrow/reader.rs.html#128-506">source</a><a
href="#impl-ArrowReader" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.ArrowReader.html" title="struct [...]
Returns a stream of Arrow RecordBatches containing the data from the files</p>
</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-ArrowReader" class="impl"><a class="src rightside"
href="../../src/iceberg/arrow/reader.rs.html#116">source</a><a
href="#impl-Clone-for-ArrowReader" class="anchor">§</a><h3
class="code-header">impl [...]
T: 'static + ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.type_id" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href
[...]
diff --git a/api/iceberg/spec/enum.Literal.html
b/api/iceberg/spec/enum.Literal.html
index aca1a337..ebc818d8 100644
--- a/api/iceberg/spec/enum.Literal.html
+++ b/api/iceberg/spec/enum.Literal.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="Values
present in iceberg type"><title>Literal 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-8f9a781e4970d3
[...]
+<!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="Values
present in iceberg type"><title>Literal 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-8f9a781e4970d3
[...]
Primitive(<a class="enum" href="enum.PrimitiveLiteral.html" title="enum
iceberg::spec::PrimitiveLiteral">PrimitiveLiteral</a>),
Struct(<a class="struct" href="struct.Struct.html" title="struct
iceberg::spec::Struct">Struct</a>),
List(<a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"
title="struct alloc::vec::Vec">Vec</a><<a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::option::Option">Option</a><<a class="enum"
href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a>>>),
@@ -14,14 +14,14 @@ Elements can be either optional or required. Element types
may be any type.</p>
</div><section id="variant.Map" class="variant"><a href="#variant.Map"
class="anchor">§</a><h3 class="code-header">Map(<a class="struct"
href="struct.Map.html" title="struct
iceberg::spec::Map">Map</a>)</h3></section><div class="docblock"><p>A map is a
collection of key-value pairs with a key type and a value type.
Both the key field and value field each have an integer id that is unique in
the table schema.
Map keys are required and map values can be either optional or required. Both
map keys and map values may be any type, including nested types.</p>
-</div></div><h2 id="implementations" class="section-header">Implementations<a
href="#implementations" class="anchor">§</a></h2><div
id="implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Literal" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1189-1548">source</a><a
href="#impl-Literal" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Literal.html" title="enum iceberg::spec::Liter [...]
+</div></div><h2 id="implementations" class="section-header">Implementations<a
href="#implementations" class="anchor">§</a></h2><div
id="implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Literal" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1190-1549">source</a><a
href="#impl-Literal" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Literal.html" title="enum iceberg::spec::Liter [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::{Literal, PrimitiveLiteral};
<span class="kw">let </span>t = Literal::bool(<span
class="bool-val">true</span>);
<span
class="macro">assert_eq!</span>(Literal::Primitive(PrimitiveLiteral::Boolean(<span
class="bool-val">true</span>)), t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.bool_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1213-1218">source</a><h4
class="code-header">pub fn <a href="#method.bool_from_str"
class="fn">bool_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.bool_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1214-1219">source</a><h4
class="code-header">pub fn <a href="#method.bool_from_str"
class="fn">bool_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromStr-for-bool">Parse
bool from str</a> for reference.</p>
<p>Example:</p>
@@ -29,21 +29,21 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t = Literal::bool_from_str(<span
class="string">"false"</span>).unwrap();
<span
class="macro">assert_eq!</span>(Literal::Primitive(PrimitiveLiteral::Boolean(<span
class="bool-val">false</span>)), t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.int" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1229-1231">source</a><h4
class="code-header">pub fn <a href="#method.int" class="fn">int</a><T: <a
class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.int" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1230-1232">source</a><h4
class="code-header">pub fn <a href="#method.int" class="fn">int</a><T: <a
class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::{Literal, PrimitiveLiteral};
<span class="kw">let </span>t = Literal::int(<span class="number">23i8</span>);
<span
class="macro">assert_eq!</span>(Literal::Primitive(PrimitiveLiteral::Int(<span
class="number">23</span>)), t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.long" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1242-1244">source</a><h4
class="code-header">pub fn <a href="#method.long" class="fn">long</a><T: <a
class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.h [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.long" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1243-1245">source</a><h4
class="code-header">pub fn <a href="#method.long" class="fn">long</a><T: <a
class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.h [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::{Literal, PrimitiveLiteral};
<span class="kw">let </span>t = Literal::long(<span
class="number">24i8</span>);
<span
class="macro">assert_eq!</span>(Literal::Primitive(PrimitiveLiteral::Long(<span
class="number">24</span>)), t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.float" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1259-1261">source</a><h4
class="code-header">pub fn <a href="#method.float" class="fn">float</a><T:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.f3 [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.float" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1260-1262">source</a><h4
class="code-header">pub fn <a href="#method.float" class="fn">float</a><T:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.f3 [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::{Literal, PrimitiveLiteral};
@@ -54,7 +54,7 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
Literal::Primitive(PrimitiveLiteral::Float(OrderedFloat(<span
class="number">32.1</span>))),
t
);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.double" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1276-1278">source</a><h4
class="code-header">pub fn <a href="#method.double" class="fn">double</a><T:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.double" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1277-1279">source</a><h4
class="code-header">pub fn <a href="#method.double" class="fn">double</a><T:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"
title="trait core::convert::Into">Into</a><<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::{Literal, PrimitiveLiteral};
@@ -65,8 +65,8 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
Literal::Primitive(PrimitiveLiteral::Double(OrderedFloat(<span
class="number">32.1</span>))),
t
);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.date" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1281-1283">source</a><h4
class="code-header">pub fn <a href="#method.date" class="fn">date</a>(days: <a
class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates date literal from
number of days from unix epoch di [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.date_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1296-1306">source</a><h4
class="code-header">pub fn <a href="#method.date_from_str"
class="fn">date_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.date" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1282-1284">source</a><h4
class="code-header">pub fn <a href="#method.date" class="fn">date</a>(days: <a
class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates date literal from
number of days from unix epoch di [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.date_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1297-1307">source</a><h4
class="code-header">pub fn <a href="#method.date_from_str"
class="fn">date_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
<p>See <a
href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html#method.from_str"
title="associated function
chrono::naive::date::NaiveDate::from_str"><code>NaiveDate::from_str</code></a>.</p>
<p>Example</p>
@@ -74,7 +74,7 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t = Literal::date_from_str(<span
class="string">"1970-01-03"</span>).unwrap();
<span class="macro">assert_eq!</span>(Literal::date(<span
class="number">2</span>), t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.date_from_ymd" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1320-1329">source</a><h4
class="code-header">pub fn <a href="#method.date_from_ymd"
class="fn">date_from_ymd</a>(year: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, month:
<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html"> [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.date_from_ymd" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1321-1330">source</a><h4
class="code-header">pub fn <a href="#method.date_from_ymd"
class="fn">date_from_ymd</a>(year: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>, month:
<a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html"> [...]
<p>See <a
href="https://docs.rs/chrono/latest/chrono/naive/date/struct.NaiveDate.html#method.from_ymd_opt"
title="associated function
chrono::naive::date::NaiveDate::from_ymd_opt"><code>NaiveDate::from_ymd_opt</code></a>.</p>
<p>Example:</p>
@@ -82,8 +82,8 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t = Literal::date_from_ymd(<span
class="number">1970</span>, <span class="number">1</span>, <span
class="number">5</span>).unwrap();
<span class="macro">assert_eq!</span>(Literal::date(<span
class="number">4</span>), t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.time" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1332-1334">source</a><h4
class="code-header">pub fn <a href="#method.time" class="fn">time</a>(value: <a
class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates time in
microseconds directly</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.time_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1362-1372">source</a><h4
class="code-header">pub fn <a href="#method.time_from_str"
class="fn">time_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.time" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1333-1335">source</a><h4
class="code-header">pub fn <a href="#method.time" class="fn">time</a>(value: <a
class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates time in
microseconds directly</p>
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.time_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1363-1373">source</a><h4
class="code-header">pub fn <a href="#method.time_from_str"
class="fn">time_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
<p>See <a
href="https://docs.rs/chrono/latest/chrono/naive/time/struct.NaiveTime.html#method.from_str"
title="associated function
chrono::naive::time::NaiveTime::from_str"><code>NaiveTime::from_str</code></a>
for details.</p>
<p>Example:</p>
@@ -97,7 +97,7 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
</span><span class="number">888999 </span><span class="comment">//
microseconds
</span>};
<span class="macro">assert_eq!</span>(Literal::time(micro_secs),
t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.time_from_hms_micro" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1385-1392">source</a><h4
class="code-header">pub fn <a href="#method.time_from_hms_micro"
class="fn">time_from_hms_micro</a>(
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.time_from_hms_micro" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1386-1393">source</a><h4
class="code-header">pub fn <a href="#method.time_from_hms_micro"
class="fn">time_from_hms_micro</a>(
hour: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
min: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
sec: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
@@ -110,11 +110,11 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t = Literal::time_from_hms_micro(<span
class="number">22</span>, <span class="number">15</span>, <span
class="number">33</span>, <span class="number">111</span>).unwrap();
<span class="macro">assert_eq!</span>(Literal::time_from_str(<span
class="string">"22:15:33.000111"</span>).unwrap(), t);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamp" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1395-1397">source</a><h4
class="code-header">pub fn <a href="#method.timestamp"
class="fn">timestamp</a>(value: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates a timestamp from
unix epoch in micr [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamptz" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1400-1402">source</a><h4
class="code-header">pub fn <a href="#method.timestamptz"
class="fn">timestamptz</a>(value: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates a timestamp with
timezone fro [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamp_from_datetime" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1405-1407">source</a><h4
class="code-header">pub fn <a href="#method.timestamp_from_datetime"
class="fn">timestamp_from_datetime</a><T: <a class="trait"
href="https://docs.rs/chrono/latest/chrono/offset/trait.TimeZone.html"
title="trait chrono::offset::TimeZone">TimeZone</a>>(dt: <a class [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamptz_from_datetime" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1410-1412">source</a><h4
class="code-header">pub fn <a href="#method.timestamptz_from_datetime"
class="fn">timestamptz_from_datetime</a><T: <a class="trait"
href="https://docs.rs/chrono/latest/chrono/offset/trait.TimeZone.html"
title="trait chrono::offset::TimeZone">TimeZone</a>>(dt: <a [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamp_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1437-1443">source</a><h4
class="code-header">pub fn <a href="#method.timestamp_from_str"
class="fn">timestamp_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https:// [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamp" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1396-1398">source</a><h4
class="code-header">pub fn <a href="#method.timestamp"
class="fn">timestamp</a>(value: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates a timestamp from
unix epoch in micr [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamptz" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1401-1403">source</a><h4
class="code-header">pub fn <a href="#method.timestamptz"
class="fn">timestamptz</a>(value: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>) ->
Self</h4></section></summary><div class="docblock"><p>Creates a timestamp with
timezone fro [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamp_from_datetime" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1406-1408">source</a><h4
class="code-header">pub fn <a href="#method.timestamp_from_datetime"
class="fn">timestamp_from_datetime</a><T: <a class="trait"
href="https://docs.rs/chrono/latest/chrono/offset/trait.TimeZone.html"
title="trait chrono::offset::TimeZone">TimeZone</a>>(dt: <a class [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamptz_from_datetime" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1411-1413">source</a><h4
class="code-header">pub fn <a href="#method.timestamptz_from_datetime"
class="fn">timestamptz_from_datetime</a><T: <a class="trait"
href="https://docs.rs/chrono/latest/chrono/offset/trait.TimeZone.html"
title="trait chrono::offset::TimeZone">TimeZone</a>>(dt: <a [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamp_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1438-1444">source</a><h4
class="code-header">pub fn <a href="#method.timestamp_from_str"
class="fn">timestamp_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https:// [...]
<p>See <a
href="https://docs.rs/chrono/latest/chrono/datetime/struct.DateTime.html#method.from_str"
title="associated function
chrono::datetime::DateTime::from_str"><code>DateTime<Utc>::from_str</code></a>.</p>
<p>Example:</p>
@@ -133,10 +133,10 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
};
<span class="macro">assert_eq!</span>(t, t2);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamptz_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1446-1452">source</a><h4
class="code-header">pub fn <a href="#method.timestamptz_from_str"
class="fn">timestamptz_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="ht
[...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.string" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1455-1457">source</a><h4
class="code-header">pub fn <a href="#method.string" class="fn">string</a><S:
<a class="trait"
href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html"
title="trait alloc::string::ToString">ToString</a>>(s: S) ->
Self</h4></section></summary><div class="docblock [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.uuid" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1460-1462">source</a><h4
class="code-header">pub fn <a href="#method.uuid" class="fn">uuid</a>(uuid: <a
class="struct" href="https://docs.rs/uuid/1.11.0/uuid/struct.Uuid.html"
title="struct uuid::Uuid">Uuid</a>) -> Self</h4></section></summary><div
class="docblock"><p>Creates uuid literal.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.uuid_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1476-1485">source</a><h4
class="code-header">pub fn <a href="#method.uuid_from_str"
class="fn">uuid_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.timestamptz_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1447-1453">source</a><h4
class="code-header">pub fn <a href="#method.timestamptz_from_str"
class="fn">timestamptz_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="ht
[...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.string" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1456-1458">source</a><h4
class="code-header">pub fn <a href="#method.string" class="fn">string</a><S:
<a class="trait"
href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html"
title="trait alloc::string::ToString">ToString</a>>(s: S) ->
Self</h4></section></summary><div class="docblock [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.uuid" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1461-1463">source</a><h4
class="code-header">pub fn <a href="#method.uuid" class="fn">uuid</a>(uuid: <a
class="struct" href="https://docs.rs/uuid/1.11.0/uuid/struct.Uuid.html"
title="struct uuid::Uuid">Uuid</a>) -> Self</h4></section></summary><div
class="docblock"><p>Creates uuid literal.</p>
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.uuid_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1477-1486">source</a><h4
class="code-header">pub fn <a href="#method.uuid_from_str"
class="fn">uuid_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.rust-lang.o [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::Literal;
@@ -145,7 +145,7 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t2 = Literal::uuid(Uuid::from_u128_le(<span
class="number">0xd8d7d6d5d4d3d2d1c2c1b2b1a4a3a2a1</span>));
<span class="macro">assert_eq!</span>(t1, t2);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.fixed" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1498-1500">source</a><h4
class="code-header">pub fn <a href="#method.fixed" class="fn">fixed</a><I:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"
title="trait
core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a
class="primitive" [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.fixed" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1499-1501">source</a><h4
class="code-header">pub fn <a href="#method.fixed" class="fn">fixed</a><I:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"
title="trait
core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a
class="primitive" [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::{Literal, PrimitiveLiteral};
@@ -153,7 +153,7 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t2 =
Literal::Primitive(PrimitiveLiteral::Binary(<span
class="macro">vec!</span>[<span class="number">1u8</span>, <span
class="number">2u8</span>]));
<span class="macro">assert_eq!</span>(t1, t2);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.binary" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1513-1515">source</a><h4
class="code-header">pub fn <a href="#method.binary" class="fn">binary</a><I:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"
title="trait
core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a
class="primiti [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.binary" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1514-1516">source</a><h4
class="code-header">pub fn <a href="#method.binary" class="fn">binary</a><I:
<a class="trait"
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"
title="trait
core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a
class="primiti [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::{Literal, PrimitiveLiteral};
@@ -161,8 +161,8 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t2 =
Literal::Primitive(PrimitiveLiteral::Binary(<span
class="macro">vec!</span>[<span class="number">1u8</span>, <span
class="number">2u8</span>]));
<span class="macro">assert_eq!</span>(t1, t2);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.decimal" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1518-1520">source</a><h4
class="code-header">pub fn <a href="#method.decimal"
class="fn">decimal</a>(decimal: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>)
-> Self</h4></section></summary><div class="docblock"><p>Creates a decimal
literal.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.decimal_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1534-1539">source</a><h4
class="code-header">pub fn <a href="#method.decimal_from_str"
class="fn">decimal_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.ru [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.decimal" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1519-1521">source</a><h4
class="code-header">pub fn <a href="#method.decimal"
class="fn">decimal</a>(decimal: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.i128.html">i128</a>)
-> Self</h4></section></summary><div class="docblock"><p>Creates a decimal
literal.</p>
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.decimal_from_str" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1535-1540">source</a><h4
class="code-header">pub fn <a href="#method.decimal_from_str"
class="fn">decimal_from_str</a><S: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"
title="trait core::convert::AsRef">AsRef</a><<a class="primitive"
href="https://doc.ru [...]
<p>Example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span
class="kw">use </span>iceberg::spec::Literal;
@@ -171,17 +171,17 @@ See <a
href="https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-FromS
<span class="kw">let </span>t2 = Literal::decimal_from_str(<span
class="string">"123.45"</span>).unwrap();
<span class="macro">assert_eq!</span>(t1, t2);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.as_primitive_literal" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1542-1547">source</a><h4
class="code-header">pub fn <a href="#method.as_primitive_literal"
class="fn">as_primitive_literal</a>(&self) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::option::Option">Option</a><<a class="enum" href [...]
-</div></details></div></details><details class="toggle implementors-toggle"
open><summary><section id="impl-Literal-1" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/values.rs.html#1656-1972">source</a><a
href="#impl-Literal-1" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><secti
[...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.as_primitive_literal" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1543-1548">source</a><h4
class="code-header">pub fn <a href="#method.as_primitive_literal"
class="fn">as_primitive_literal</a>(&self) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::option::Option">Option</a><<a class="enum" href [...]
+</div></details></div></details><details class="toggle implementors-toggle"
open><summary><section id="impl-Literal-1" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/values.rs.html#1657-1973">source</a><a
href="#impl-Literal-1" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><secti
[...]
<p>See <a
href="https://iceberg.apache.org/spec/#json-single-value-serialization">this
spec</a> for reference.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.try_into_json" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1828-1953">source</a><h4
class="code-header">pub fn <a href="#method.try_into_json"
class="fn">try_into_json</a>(self, type: &<a class="enum"
href="enum.Type.html" title="enum iceberg::spec::Type">Type</a>) -> <a
class="type" href="../type.Result.html" title="type
iceberg::Result">Result</a><<a [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.try_into_json" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1829-1954">source</a><h4
class="code-header">pub fn <a href="#method.try_into_json"
class="fn">try_into_json</a>(self, type: &<a class="enum"
href="enum.Type.html" title="enum iceberg::spec::Type">Type</a>) -> <a
class="type" href="../type.Result.html" title="type
iceberg::Result">Result</a><<a [...]
<p>See <a
href="https://iceberg.apache.org/spec/#json-single-value-serialization">this
spec</a> for reference.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.into_any" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1956-1971">source</a><h4
class="code-header">pub fn <a href="#method.into_any"
class="fn">into_any</a>(self) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/cor [...]
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Literal" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1171">source</a><a
href="#impl-Clone-for-Literal" class="anchor">§</a><h3 class="code-header">impl
<a class [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.into_any" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1957-1972">source</a><h4
class="code-header">pub fn <a href="#method.into_any"
class="fn">into_any</a>(self) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html"
title="struct alloc::boxed::Box">Box</a><dyn <a class="trait"
href="https://doc.rust-lang.org/nightly/cor [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Literal" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1172">source</a><a
href="#impl-Clone-for-Literal" class="anchor">§</a><h3 class="code-header">impl
<a class [...]
H: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher">Hasher</a>,
- Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Feeds a slice of this type into the given <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read
more</a></div></details></div></d [...]
+ Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Feeds a slice of this type into the given <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read
more</a></div></details></div></d [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
-sufficient, and should not be overridden without very good
reason.</div></details></div></details><section id="impl-Eq-for-Literal"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1171">source</a><a
href="#impl-Eq-for-Literal" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html"
title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Literal.html"
title="enum iceberg:: [...]
+sufficient, and should not be overridden without very good
reason.</div></details></div></details><section id="impl-Eq-for-Literal"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1172">source</a><a
href="#impl-Eq-for-Literal" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html"
title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Literal.html"
title="enum iceberg:: [...]
T: 'static + ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.type_id" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href
[...]
T: ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.borrow" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a
href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a
href="https:/ [...]
T: ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.borrow_mut" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a
href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a
href= [...]
diff --git a/api/iceberg/spec/struct.Datum.html
b/api/iceberg/spec/struct.Datum.html
index b26d82af..ffc8fee1 100644
--- a/api/iceberg/spec/struct.Datum.html
+++ b/api/iceberg/spec/struct.Datum.html
@@ -2,7 +2,7 @@
guaranteed to be correct when used.</p>
<p>By default, we decouple the type and value of a literal, so we can use
avoid the cost of storing extra type info
for each literal. But associate type with literal can be useful in some cases,
for example, in unbound expression.</p>
-</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-Datum" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/values.rs.html#377-1062">source</a><a
href="#impl-Datum" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.Datum.html" title="struct iceberg::spec::Da [...]
+</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-Datum" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/values.rs.html#377-1063">source</a><a
href="#impl-Datum" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.Datum.html" title="struct iceberg::spec::Da [...]
<p>See <a
href="https://iceberg.apache.org/spec/#binary-single-value-serialization">this
spec</a> for reference.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.to_bytes" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#436-454">source</a><h4
class="code-header">pub fn <a href="#method.to_bytes"
class="fn">to_bytes</a>(&self) -> <a class="struct"
href="https://docs.rs/serde_bytes/0.11.15/serde_bytes/bytebuf/struct.ByteBuf.html"
title="struct
serde_bytes::bytebuf::ByteBuf">ByteBuf</a></h4></section></summary><div class
[...]
<p>See <a
href="https://iceberg.apache.org/spec/#binary-single-value-serialization">this
spec</a> for reference.</p>
@@ -260,10 +260,10 @@ Example:</p>
<span class="kw">let </span>t = Datum::decimal(Decimal::new(<span
class="number">123</span>, <span class="number">2</span>)).unwrap();
<span class="macro">assert_eq!</span>(<span class="kw-2">&</span><span
class="macro">format!</span>(<span class="string">"{t}"</span>), <span
class="string">"1.23"</span>);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.to" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1016-1041">source</a><h4
class="code-header">pub fn <a href="#method.to" class="fn">to</a>(self,
target_type: &<a class="enum" href="enum.Type.html" title="enum
iceberg::spec::Type">Type</a>) -> <a class="type" href="../type.Result.html"
title="type iceberg::Result">Result</a><<a class="struct" href="stru [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.literal" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1044-1046">source</a><h4
class="code-header">pub fn <a href="#method.literal"
class="fn">literal</a>(&self) -> &<a class="enum"
href="enum.PrimitiveLiteral.html" title="enum
iceberg::spec::PrimitiveLiteral">PrimitiveLiteral</a></h4></section></summary><div
class="docblock"><p>Get the primitive liter [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.data_type" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1049-1051">source</a><h4
class="code-header">pub fn <a href="#method.data_type"
class="fn">data_type</a>(&self) -> &<a class="enum"
href="enum.PrimitiveType.html" title="enum
iceberg::spec::PrimitiveType">PrimitiveType</a></h4></section></summary><div
class="docblock"><p>Get the primitive type fro [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.is_nan" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1055-1061">source</a><h4
class="code-header">pub fn <a href="#method.is_nan"
class="fn">is_nan</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div
class="docblock"><p>Returns true if the Literal represents a primitive type
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.to" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1016-1042">source</a><h4
class="code-header">pub fn <a href="#method.to" class="fn">to</a>(self,
target_type: &<a class="enum" href="enum.Type.html" title="enum
iceberg::spec::Type">Type</a>) -> <a class="type" href="../type.Result.html"
title="type iceberg::Result">Result</a><<a class="struct" href="stru [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.literal" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1045-1047">source</a><h4
class="code-header">pub fn <a href="#method.literal"
class="fn">literal</a>(&self) -> &<a class="enum"
href="enum.PrimitiveLiteral.html" title="enum
iceberg::spec::PrimitiveLiteral">PrimitiveLiteral</a></h4></section></summary><div
class="docblock"><p>Get the primitive liter [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.data_type" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1050-1052">source</a><h4
class="code-header">pub fn <a href="#method.data_type"
class="fn">data_type</a>(&self) -> &<a class="enum"
href="enum.PrimitiveType.html" title="enum
iceberg::spec::PrimitiveType">PrimitiveType</a></h4></section></summary><div
class="docblock"><p>Get the primitive type fro [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.is_nan" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1056-1062">source</a><h4
class="code-header">pub fn <a href="#method.is_nan"
class="fn">is_nan</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div
class="docblock"><p>Returns true if the Literal represents a primitive type
that can be a NaN, and that it’s value is NaN</p>
</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Datum" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#96">source</a><a
href="#impl-Clone-for-Datum" class="anchor">§</a><h3 class="code-header">impl
<a class="trai [...]
H: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher">Hasher</a>,
diff --git a/api/iceberg/spec/struct.Map.html b/api/iceberg/spec/struct.Map.html
index 7989343d..7bd1db56 100644
--- a/api/iceberg/spec/struct.Map.html
+++ b/api/iceberg/spec/struct.Map.html
@@ -1,27 +1,27 @@
-<!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="Map is a
collection of key-value pairs with a key type and a value type. It used in
Literal::Map, to make it hashable, the order of key-value pairs is stored in a
separate vector so that we can hash the map in a deterministic way. But it also
means that the order of key-value pairs is ma [...]
+<!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="Map is a
collection of key-value pairs with a key type and a value type. It used in
Literal::Map, to make it hashable, the order of key-value pairs is stored in a
separate vector so that we can hash the map in a deterministic way. But it also
means that the order of key-value pairs is ma [...]
It used in Literal::Map, to make it hashable, the order of key-value pairs is
stored in a separate vector
so that we can hash the map in a deterministic way. But it also means that the
order of key-value pairs is matter
for the hash value.</p>
-</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-Map" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1074-1128">source</a><a
href="#impl-Map" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.Map.html" title="struct iceberg::spec::Map">Ma [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.len" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1084-1086">source</a><h4
class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&self)
-> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div
class="docblock"><p>Return the number of key-value pairs in the map.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.is_empty" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1089-1091">source</a><h4
class="code-header">pub fn <a href="#method.is_empty"
class="fn">is_empty</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div
class="docblock"><p>Returns true if the map contains no elements.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.insert" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1096-1105">source</a><h4
class="code-header">pub fn <a href="#method.insert" class="fn">insert</a>(
+</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-Map" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1075-1129">source</a><a
href="#impl-Map" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.Map.html" title="struct iceberg::spec::Map">Ma [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.len" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1085-1087">source</a><h4
class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&self)
-> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div
class="docblock"><p>Return the number of key-value pairs in the map.</p>
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.is_empty" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1090-1092">source</a><h4
class="code-header">pub fn <a href="#method.is_empty"
class="fn">is_empty</a>(&self) -> <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div
class="docblock"><p>Returns true if the map contains no elements.</p>
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.insert" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1097-1106">source</a><h4
class="code-header">pub fn <a href="#method.insert" class="fn">insert</a>(
&mut self,
key: <a class="enum" href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a>,
value: <a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::option::Option">Option</a><<a class="enum"
href="enum.Literal.html" title="enum iceberg::spec::Literal">Literal</a>>,
) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::option::Option">Option</a><<a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::option::Option">Option</a><<a class="enum"
href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a>>></h4></section></summary><div
class="docblock"><p>Inserts a key-value pair into the map.
If the map did not have this key present, None is returned.
If the map did have this key present, the value is updated, and the old value
is returned.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.get" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1109-1111">source</a><h4
class="code-header">pub fn <a href="#method.get" class="fn">get</a>(&self,
key: &<a class="enum" href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a>) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::o [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.get" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1110-1112">source</a><h4
class="code-header">pub fn <a href="#method.get" class="fn">get</a>(&self,
key: &<a class="enum" href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a>) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"
title="enum core::o [...]
If the key is not present in the map, None is returned.</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.has_same_content" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1114-1127">source</a><h4
class="code-header">pub fn <a href="#method.has_same_content"
class="fn">has_same_content</a>(&self, other: &<a class="struct"
href="struct.Map.html" title="struct iceberg::spec::Map">Map</a>) -> <a
class="primitive" href="https://doc.rust-lang.org/nightly/std/primi [...]
-</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-Map" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1068">source</a><a
href="#impl-Clone-for-Map" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.has_same_content" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1115-1128">source</a><h4
class="code-header">pub fn <a href="#method.has_same_content"
class="fn">has_same_content</a>(&self, other: &<a class="struct"
href="struct.Map.html" title="struct iceberg::spec::Map">Map</a>) -> <a
class="primitive" href="https://doc.rust-lang.org/nightly/std/primi [...]
+</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-Map" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1069">source</a><a
href="#impl-Clone-for-Map" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" [...]
iter: T,
-) -> Self</h4></section></summary><div class='docblock'>Creates a value
from an iterator. <a
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Hash-for-Map"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1136-1143">source</a><a
href="#impl-Hash-for-Map" class="anchor">§</a> [...]
+) -> Self</h4></section></summary><div class='docblock'>Creates a value
from an iterator. <a
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Hash-for-Map"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1137-1144">source</a><a
href="#impl-Hash-for-Map" class="anchor">§</a> [...]
H: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher">Hasher</a>,
- Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Feeds a slice of this type into the given <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read
more</a></div></details></div></d [...]
+ Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Feeds a slice of this type into the given <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read
more</a></div></details></div></d [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
-sufficient, and should not be overridden without very good
reason.</div></details></div></details><section id="impl-Eq-for-Map"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1068">source</a><a
href="#impl-Eq-for-Map" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html"
title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Map.html"
title="struct iceberg::spec:: [...]
+sufficient, and should not be overridden without very good
reason.</div></details></div></details><section id="impl-Eq-for-Map"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1069">source</a><a
href="#impl-Eq-for-Map" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html"
title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Map.html"
title="struct iceberg::spec:: [...]
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
[...]
I: <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>,
<I as <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>>::<a
class="associatedtype"
href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter"
title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>:
<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/d
[...]
diff --git a/api/iceberg/spec/struct.RawLiteral.html
b/api/iceberg/spec/struct.RawLiteral.html
index 8be47b65..a61a7e37 100644
--- a/api/iceberg/spec/struct.RawLiteral.html
+++ b/api/iceberg/spec/struct.RawLiteral.html
@@ -1,8 +1,8 @@
-<!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="Raw
literal representation used for serde. The serialize way is used for Avro
serializer."><title>RawLiteral in iceberg::spec -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans
[...]
-</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-RawLiteral"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#2075-2085">source</a><a
href="#impl-RawLiteral" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.RawLiteral.html" title="struct i [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.try_into" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#2082-2084">source</a><h4
class="code-header">pub fn <a href="#method.try_into"
class="fn">try_into</a>(self, ty: &<a class="enum" href="enum.Type.html"
title="enum iceberg::spec::Type">Type</a>) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"
title="enum core::r [...]
-</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-RawLiteral" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#2070">source</a><a
href="#impl-Debug-for-RawLiteral" class="anchor">§</a><h3
class="code-header">impl <a [...]
- __D: <a class="trait"
href="https://docs.rs/serde/1.0.216/serde/de/trait.Deserializer.html"
title="trait
serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div
class='docblock'>Deserialize this value from the given Serde deserializer. <a
href="https://docs.rs/serde/1.0.216/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Seria [...]
+<!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="Raw
literal representation used for serde. The serialize way is used for Avro
serializer."><title>RawLiteral in iceberg::spec -
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans
[...]
+</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-RawLiteral"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#2076-2086">source</a><a
href="#impl-RawLiteral" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.RawLiteral.html" title="struct i [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.try_into" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#2083-2085">source</a><h4
class="code-header">pub fn <a href="#method.try_into"
class="fn">try_into</a>(self, ty: &<a class="enum" href="enum.Type.html"
title="enum iceberg::spec::Type">Type</a>) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"
title="enum core::r [...]
+</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-RawLiteral" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#2071">source</a><a
href="#impl-Debug-for-RawLiteral" class="anchor">§</a><h3
class="code-header">impl <a [...]
+ __D: <a class="trait"
href="https://docs.rs/serde/1.0.216/serde/de/trait.Deserializer.html"
title="trait
serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div
class='docblock'>Deserialize this value from the given Serde deserializer. <a
href="https://docs.rs/serde/1.0.216/serde/de/trait.Deserialize.html#tymethod.deserialize">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Seria [...]
__S: <a class="trait"
href="https://docs.rs/serde/1.0.216/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.216/serde/ser/trait.Serialize.html#tymethod.serialize">Read
more</a></div></details></div></details></div><h2
id="synthetic-implementations" class="section-header">Auto Trait
Implementations<a href="#syn [...]
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/struct.Struct.html
b/api/iceberg/spec/struct.Struct.html
index eb118b7f..88a7f662 100644
--- a/api/iceberg/spec/struct.Struct.html
+++ b/api/iceberg/spec/struct.Struct.html
@@ -1,15 +1,15 @@
-<!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="The
partition struct stores the tuple of partition values for each file. Its type
is derived from the partition fields of the partition spec used to write the
manifest file. In v2, the partition struct’s field ids must match the ids from
the partition spec."><title>Struct in iceberg::spe [...]
+<!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="The
partition struct stores the tuple of partition values for each file. Its type
is derived from the partition fields of the partition spec used to write the
manifest file. In v2, the partition struct’s field ids must match the ids from
the partition spec."><title>Struct in iceberg::spe [...]
Its type is derived from the partition fields of the partition spec used to
write the manifest file.
In v2, the partition struct’s field ids must match the ids from the partition
spec.</p>
-</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-Struct" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1561-1592">source</a><a
href="#impl-Struct" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.Struct.html" title="struct iceberg::spec [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.iter" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1571-1581">source</a><h4
class="code-header">pub fn <a href="#method.iter"
class="fn">iter</a>(&self) -> impl <a class="trait"
href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html"
title="trait
core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator< [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.is_null_at_index" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1584-1586">source</a><h4
class="code-header">pub fn <a href="#method.is_null_at_index"
class="fn">is_null_at_index</a>(&self, index: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)
-> <a class="primitive" href="https://doc.rust-lang.org/nightly/ [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.fields" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1589-1591">source</a><h4
class="code-header">pub fn <a href="#method.fields"
class="fn">fields</a>(&self) -> &[<a class="enum"
href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a>]</h4></section></summary><div
class="docblock"><p>Return fields in the struct.</p>
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Struct" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1553">source</a><a
href="#impl-Clone-for-Struct" class="anchor">§</a><h3 class="code-header">impl
<a class=" [...]
+</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-Struct" class="impl"><a
class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1562-1593">source</a><a
href="#impl-Struct" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="struct.Struct.html" title="struct iceberg::spec [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.iter" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1572-1582">source</a><h4
class="code-header">pub fn <a href="#method.iter"
class="fn">iter</a>(&self) -> impl <a class="trait"
href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html"
title="trait
core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator< [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.is_null_at_index" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1585-1587">source</a><h4
class="code-header">pub fn <a href="#method.is_null_at_index"
class="fn">is_null_at_index</a>(&self, index: <a class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)
-> <a class="primitive" href="https://doc.rust-lang.org/nightly/ [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.fields" class="method"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1590-1592">source</a><h4
class="code-header">pub fn <a href="#method.fields"
class="fn">fields</a>(&self) -> &[<a class="enum"
href="enum.Literal.html" title="enum
iceberg::spec::Literal">Literal</a>]</h4></section></summary><div
class="docblock"><p>Return fields in the struct.</p>
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Struct" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1554">source</a><a
href="#impl-Clone-for-Struct" class="anchor">§</a><h3 class="code-header">impl
<a class=" [...]
H: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher">Hasher</a>,
- Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Feeds a slice of this type into the given <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read
more</a></div></details></div></d [...]
+ Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div
class='docblock'>Feeds a slice of this type into the given <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html"
title="trait core::hash::Hasher"><code>Hasher</code></a>. <a
href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read
more</a></div></details></div></d [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
-sufficient, and should not be overridden without very good
reason.</div></details></div></details><section id="impl-Eq-for-Struct"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1553">source</a><a
href="#impl-Eq-for-Struct" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html"
title="trait core::cmp::Eq">Eq</a> for <a class="struct"
href="struct.Struct.html" title="struct iceber [...]
+sufficient, and should not be overridden without very good
reason.</div></details></div></details><section id="impl-Eq-for-Struct"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1554">source</a><a
href="#impl-Eq-for-Struct" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html"
title="trait core::cmp::Eq">Eq</a> for <a class="struct"
href="struct.Struct.html" title="struct iceber [...]
T: 'static + ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.type_id" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href
[...]
T: ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.borrow" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a
href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a
href="https:/ [...]
T: ?<a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div
class="impl-items"><details class="toggle method-toggle" open><summary><section
id="method.borrow_mut" class="method trait-impl"><a class="src rightside"
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a
href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a
href= [...]
diff --git a/api/iceberg/spec/struct.StructValueIntoIter.html
b/api/iceberg/spec/struct.StructValueIntoIter.html
index 5da7172b..97b075ab 100644
--- a/api/iceberg/spec/struct.StructValueIntoIter.html
+++ b/api/iceberg/spec/struct.StructValueIntoIter.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="An
iterator that moves out of a struct."><title>StructValueIntoIter 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-
[...]
-</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-Iterator-for-StructValueIntoIter"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1608-1617">source</a><a
href="#impl-Iterator-for-StructValueIntoIter" class="anchor">§</a><h3
class="code-header"> [...]
+<!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="An
iterator that moves out of a struct."><title>StructValueIntoIter 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-
[...]
+</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-Iterator-for-StructValueIntoIter"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/values.rs.html#1609-1618">source</a><a
href="#impl-Iterator-for-StructValueIntoIter" class="anchor">§</a><h3
class="code-header"> [...]
&mut self,
) -> <a class="enum"
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"
title="enum core::result::Result">Result</a><[Self::<a
class="associatedtype"
href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item"
title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a
class="primitive"
href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a
class="struct" href="https://doc.rust-lang.o [...]
Self: <a class="trait"
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"
title="trait
core::marker::Sized">Sized</a>,</div></h4></section></summary><span
class="item-info"><div class="stab unstable"><span
class="emoji">🔬</span><span>This is a nightly-only experimental API.
(<code>iter_next_chunk</code>)</span></div></span><div
class='docblock'>Advances the iterator and returns an array containing the next
<code>N</code> values. <a href="https://doc.rust-lang.org/n [...]
diff --git a/api/src/iceberg/arrow/reader.rs.html
b/api/src/iceberg/arrow/reader.rs.html
index 33769b57..d51cf8fa 100644
--- a/api/src/iceberg/arrow/reader.rs.html
+++ b/api/src/iceberg/arrow/reader.rs.html
@@ -1181,6 +1181,34 @@
<a href="#1181" id="1181">1181</a>
<a href="#1182" id="1182">1182</a>
<a href="#1183" id="1183">1183</a>
+<a href="#1184" id="1184">1184</a>
+<a href="#1185" id="1185">1185</a>
+<a href="#1186" id="1186">1186</a>
+<a href="#1187" id="1187">1187</a>
+<a href="#1188" id="1188">1188</a>
+<a href="#1189" id="1189">1189</a>
+<a href="#1190" id="1190">1190</a>
+<a href="#1191" id="1191">1191</a>
+<a href="#1192" id="1192">1192</a>
+<a href="#1193" id="1193">1193</a>
+<a href="#1194" id="1194">1194</a>
+<a href="#1195" id="1195">1195</a>
+<a href="#1196" id="1196">1196</a>
+<a href="#1197" id="1197">1197</a>
+<a href="#1198" id="1198">1198</a>
+<a href="#1199" id="1199">1199</a>
+<a href="#1200" id="1200">1200</a>
+<a href="#1201" id="1201">1201</a>
+<a href="#1202" id="1202">1202</a>
+<a href="#1203" id="1203">1203</a>
+<a href="#1204" id="1204">1204</a>
+<a href="#1205" id="1205">1205</a>
+<a href="#1206" id="1206">1206</a>
+<a href="#1207" id="1207">1207</a>
+<a href="#1208" id="1208">1208</a>
+<a href="#1209" id="1209">1209</a>
+<a href="#1210" id="1210">1210</a>
+<a href="#1211" id="1211">1211</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
@@ -1231,7 +1259,7 @@
<span class="kw">use </span><span class="kw">crate</span>::io::{FileIO,
FileMetadata, FileRead};
<span class="kw">use </span><span class="kw">crate</span>::runtime::spawn;
<span class="kw">use </span><span
class="kw">crate</span>::scan::{ArrowRecordBatchStream, FileScanTask,
FileScanTaskStream};
-<span class="kw">use </span><span class="kw">crate</span>::spec::{Datum,
Schema};
+<span class="kw">use </span><span class="kw">crate</span>::spec::{Datum,
PrimitiveType, Schema};
<span class="kw">use </span><span
class="kw">crate</span>::utils::available_parallelism;
<span class="kw">use crate</span>::{Error, ErrorKind};
@@ -1482,6 +1510,28 @@
parquet_schema: <span class="kw-2">&</span>SchemaDescriptor,
arrow_schema: <span class="kw-2">&</span>ArrowSchemaRef,
) -> <span class="prelude-ty">Result</span><ProjectionMask> {
+ <span class="kw">fn </span>type_promotion_is_valid(
+ file_type: <span class="prelude-ty">Option</span><<span
class="kw-2">&</span>PrimitiveType>,
+ projected_type: <span class="prelude-ty">Option</span><<span
class="kw-2">&</span>PrimitiveType>,
+ ) -> bool {
+ <span class="kw">match </span>(file_type, projected_type) {
+ (<span class="prelude-val">Some</span>(lhs), <span
class="prelude-val">Some</span>(rhs)) <span class="kw">if </span>lhs == rhs
=> <span class="bool-val">true</span>,
+ (<span class="prelude-val">Some</span>(PrimitiveType::Int),
<span class="prelude-val">Some</span>(PrimitiveType::Long)) => <span
class="bool-val">true</span>,
+ (<span class="prelude-val">Some</span>(PrimitiveType::Float),
<span class="prelude-val">Some</span>(PrimitiveType::Double)) => <span
class="bool-val">true</span>,
+ (
+ <span
class="prelude-val">Some</span>(PrimitiveType::Decimal {
+ precision: file_precision,
+ scale: file_scale,
+ }),
+ <span
class="prelude-val">Some</span>(PrimitiveType::Decimal {
+ precision: requested_precision,
+ scale: requested_scale,
+ }),
+ ) <span class="kw">if </span>requested_precision >=
file_precision && file_scale == requested_scale => <span
class="bool-val">true</span>,
+ <span class="kw">_ </span>=> <span
class="bool-val">false</span>,
+ }
+ }
+
<span class="kw">if </span>field_ids.is_empty() {
<span class="prelude-val">Ok</span>(ProjectionMask::all())
} <span class="kw">else </span>{
@@ -1513,7 +1563,13 @@
<span class="kw">return </span><span
class="bool-val">false</span>;
}
- <span class="kw">if </span>iceberg_field.unwrap().field_type
!= parquet_iceberg_field.unwrap().field_type {
+ <span class="kw">if </span>!type_promotion_is_valid(
+ parquet_iceberg_field
+ .unwrap()
+ .field_type
+ .as_primitive_type(),
+ iceberg_field.unwrap().field_type.as_primitive_type(),
+ ) {
<span class="kw">return </span><span
class="bool-val">false</span>;
}
diff --git a/api/src/iceberg/io/storage.rs.html
b/api/src/iceberg/io/storage.rs.html
index 7666ce54..9cdb12e3 100644
--- a/api/src/iceberg/io/storage.rs.html
+++ b/api/src/iceberg/io/storage.rs.html
@@ -169,6 +169,13 @@
<a href="#169" id="169">169</a>
<a href="#170" id="170">170</a>
<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</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
@@ -188,6 +195,7 @@
</span><span class="kw">use </span>std::sync::Arc;
+<span class="kw">use </span>opendal::layers::RetryLayer;
<span class="attr">#[cfg(feature = <span class="string">"storage-gcs"</span>)]
</span><span class="kw">use </span>opendal::services::GcsConfig;
<span class="attr">#[cfg(feature = <span class="string">"storage-s3"</span>)]
@@ -265,7 +273,7 @@
path: <span class="kw-2">&</span><span class="lifetime">'a
</span><span class="kw">impl </span>AsRef<str>,
) -> <span class="kw">crate</span>::Result<(Operator, <span
class="kw-2">&</span><span class="lifetime">'a </span>str)> {
<span class="kw">let </span>path = path.as_ref();
- <span class="kw">match </span><span class="self">self </span>{
+ <span class="kw">let </span>(operator, relative_path): (Operator,
<span class="kw-2">&</span>str) = <span class="kw">match </span><span
class="self">self </span>{
<span class="attr">#[cfg(feature = <span
class="string">"storage-memory"</span>)]
</span>Storage::Memory(op) => {
<span class="kw">if let </span><span
class="prelude-val">Some</span>(stripped) = path.strip_prefix(<span
class="string">"memory:/"</span>) {
@@ -326,7 +334,13 @@
ErrorKind::FeatureUnsupported,
<span class="string">"No storage service has been
enabled"</span>,
)),
- }
+ }<span class="question-mark">?</span>;
+
+ <span class="comment">// Transient errors are common for object
stores; however there's no
+ // harm in retrying temporary failures for other storage backends as
well.
+ </span><span class="kw">let </span>operator =
operator.layer(RetryLayer::new());
+
+ <span class="prelude-val">Ok</span>((operator, relative_path))
}
<span class="doccomment">/// Parse scheme.
diff --git a/api/src/iceberg/spec/values.rs.html
b/api/src/iceberg/spec/values.rs.html
index a977c463..e66a610a 100644
--- a/api/src/iceberg/spec/values.rs.html
+++ b/api/src/iceberg/spec/values.rs.html
@@ -3476,6 +3476,7 @@
<a href="#3476" id="3476">3476</a>
<a href="#3477" id="3477">3477</a>
<a href="#3478" id="3478">3478</a>
+<a href="#3479" id="3479">3479</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
@@ -4497,6 +4498,7 @@
<span class="kw">match </span>(<span
class="kw-2">&</span><span class="self">self</span>.literal, <span
class="kw-2">&</span><span class="self">self</span>.r#type,
target_primitive_type) {
(PrimitiveLiteral::Int(val), <span class="kw">_</span>,
PrimitiveType::Int) => <span class="prelude-val">Ok</span>(Datum::int(<span
class="kw-2">*</span>val)),
(PrimitiveLiteral::Int(val), <span class="kw">_</span>,
PrimitiveType::Date) => <span
class="prelude-val">Ok</span>(Datum::date(<span class="kw-2">*</span>val)),
+ (PrimitiveLiteral::Int(val), <span class="kw">_</span>,
PrimitiveType::Long) => <span
class="prelude-val">Ok</span>(Datum::long(<span class="kw-2">*</span>val)),
<span class="comment">// TODO: implement more type
conversions
</span>(<span class="kw">_</span>, self_type, target_type)
<span class="kw">if </span>self_type == target_type => <span
class="prelude-val">Ok</span>(<span class="self">self</span>),
<span class="kw">_ </span>=> <span
class="prelude-val">Err</span>(Error::new(