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 36e3813a deploy: dff4e5a1c6a45d86d5f3ee1173763b8508b7bd41
36e3813a is described below
commit 36e3813a856fc86bb3f333c99e74a6e83a9cc780
Author: Fokko <[email protected]>
AuthorDate: Mon Dec 16 11:46:12 2024 +0000
deploy: dff4e5a1c6a45d86d5f3ee1173763b8508b7bd41
---
api/iceberg/spec/enum.Transform.html | 8 +-
.../expr/visitors/inclusive_projection.rs.html | 2 +-
api/src/iceberg/spec/transform.rs.html | 36 ++++++-
api/src/iceberg/transform/temporal.rs.html | 108 ++++++++++-----------
4 files changed, 93 insertions(+), 61 deletions(-)
diff --git a/api/iceberg/spec/enum.Transform.html
b/api/iceberg/spec/enum.Transform.html
index a9ed78f0..a357d625 100644
--- a/api/iceberg/spec/enum.Transform.html
+++ b/api/iceberg/spec/enum.Transform.html
@@ -102,7 +102,7 @@ v1 tables.</p>
<li>Return type is Source type.</li>
</ul>
</div><section id="variant.Unknown" class="variant"><a href="#variant.Unknown"
class="anchor">§</a><h3 class="code-header">Unknown</h3></section><div
class="docblock"><p>Used to represent some customized transform that can’t be
recognized or supported now.</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-Transform" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/transform.rs.html#135-621">source</a><a
href="#impl-Transform" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Transform.html" title="enum iceberg::spec [...]
+</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-Transform" class="impl"><a class="src
rightside" href="../../src/iceberg/spec/transform.rs.html#135-637">source</a><a
href="#impl-Transform" class="anchor">§</a><h3 class="code-header">impl <a
class="enum" href="enum.Transform.html" title="enum iceberg::spec [...]
Returns <code>None</code> if it can’t be transformed.</p>
</div></details><details class="toggle method-toggle" open><summary><section
id="method.preserves_order" class="method"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#263-268">source</a><h4
class="code-header">pub fn <a href="#method.preserves_order"
class="fn">preserves_order</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>Whether the transform pr [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.dedup_name" class="method"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#272-279">source</a><h4
class="code-header">pub fn <a href="#method.dedup_name"
class="fn">dedup_name</a>(&self) -> <a class="struct"
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"
title="struct alloc::string::String">String</a></h4></section></summary><div
class="docblock [...]
@@ -125,10 +125,10 @@ and filtering based on the original, untransformed
data.</p>
<code>bucket(a, 37) as bs</code>, if one row matches <code>a = 10</code>, then
its partition
value should match <code>bucket(10, 37) as bs</code>, and we project <code>a =
10</code> to
<code>bs = bucket(10, 37)</code></p>
-</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Transform" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#48">source</a><a
href="#impl-Clone-for-Transform" class="anchor">§</a><h3
class="code-header">impl <a [...]
- D: <a class="trait"
href="https://docs.rs/serde/1.0.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-Display [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="section-header">Trait Implementations<a href="#trait-implementations"
class="anchor">§</a></h2><div id="trait-implementations-list"><details
class="toggle implementors-toggle" open><summary><section
id="impl-Clone-for-Transform" class="impl"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#48">source</a><a
href="#impl-Clone-for-Transform" class="anchor">§</a><h3
class="code-header">impl <a [...]
+ D: <a class="trait"
href="https://docs.rs/serde/1.0.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-Display [...]
by <code>==</code>.</div></details><details class="toggle method-toggle"
open><summary><section id="method.ne" class="method trait-impl"><span
class="rightside"><span class="since" title="Stable since Rust version
1.0.0">1.0.0</span> · <a class="src"
href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a
href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a
href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"
class= [...]
-sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Serialize-for-Transform"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#697-702">source</a><a
href="#impl-Serialize-for-Transform" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.216/serde/ser/trait.Serialize.html"
title="trait se [...]
+sufficient, and should not be overridden without very good
reason.</div></details></div></details><details class="toggle
implementors-toggle" open><summary><section id="impl-Serialize-for-Transform"
class="impl"><a class="src rightside"
href="../../src/iceberg/spec/transform.rs.html#713-718">source</a><a
href="#impl-Serialize-for-Transform" class="anchor">§</a><h3
class="code-header">impl <a class="trait"
href="https://docs.rs/serde/1.0.216/serde/ser/trait.Serialize.html"
title="trait se [...]
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><section id="impl-Copy-for-Transform"
class="impl"><a class="src rightside" href="../../src/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
[...]
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/src/iceberg/expr/visitors/inclusive_projection.rs.html
b/api/src/iceberg/expr/visitors/inclusive_projection.rs.html
index 3da5b48b..bc076a14 100644
--- a/api/src/iceberg/expr/visitors/inclusive_projection.rs.html
+++ b/api/src/iceberg/expr/visitors/inclusive_projection.rs.html
@@ -942,7 +942,7 @@
</span><span class="kw">let </span><span class="kw-2">mut
</span>inclusive_projection = InclusiveProjection::new(arc_partition_spec);
<span class="kw">let </span>result =
inclusive_projection.project(<span
class="kw-2">&</span>bound_predicate).unwrap();
- <span class="kw">let </span>expected = <span class="string">"day <=
19722"</span>.to_string();
+ <span class="kw">let </span>expected = <span class="string">"day <=
2023-12-31"</span>.to_string();
<span class="macro">assert_eq!</span>(result.to_string(), expected);
}
diff --git a/api/src/iceberg/spec/transform.rs.html
b/api/src/iceberg/spec/transform.rs.html
index 9d651412..32a00d60 100644
--- a/api/src/iceberg/spec/transform.rs.html
+++ b/api/src/iceberg/spec/transform.rs.html
@@ -716,6 +716,22 @@
<a href="#716" id="716">716</a>
<a href="#717" id="717">717</a>
<a href="#718" id="718">718</a>
+<a href="#719" id="719">719</a>
+<a href="#720" id="720">720</a>
+<a href="#721" id="721">721</a>
+<a href="#722" id="722">722</a>
+<a href="#723" id="723">723</a>
+<a href="#724" id="724">724</a>
+<a href="#725" id="725">725</a>
+<a href="#726" id="726">726</a>
+<a href="#727" id="727">727</a>
+<a href="#728" id="728">728</a>
+<a href="#729" id="729">729</a>
+<a href="#730" id="730">730</a>
+<a href="#731" id="731">731</a>
+<a href="#732" id="732">732</a>
+<a href="#733" id="733">733</a>
+<a href="#734" id="734">734</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
@@ -1316,14 +1332,30 @@
| PredicateOperator::LessThanOrEq
| PredicateOperator::In => {
<span class="kw">if </span>v < <span
class="number">0 </span>{
- <span class="kw">return </span><span
class="prelude-val">Some</span>(AdjustedProjection::Single(Datum::int(v + <span
class="number">1</span>)));
+ <span class="comment">// # TODO
+ // An ugly hack to fix. Refine the increment and
decrement logic later.
+ </span><span class="kw">match </span><span
class="self">self </span>{
+ Transform::Day => {
+ <span class="kw">return </span><span
class="prelude-val">Some</span>(AdjustedProjection::Single(Datum::date(v +
<span class="number">1</span>)))
+ }
+ <span class="kw">_ </span>=> {
+ <span class="kw">return </span><span
class="prelude-val">Some</span>(AdjustedProjection::Single(Datum::int(v + <span
class="number">1</span>)));
+ }
+ }
};
}
PredicateOperator::Eq => {
<span class="kw">if </span>v < <span
class="number">0 </span>{
<span class="kw">let </span>new_set =
FnvHashSet::from_iter(<span class="macro">vec!</span>[
transformed.to_owned(),
- Datum::int(v + <span class="number">1</span>),
+ <span class="comment">// # TODO
+ // An ugly hack to fix. Refine the increment
and decrement logic later.
+ </span>{
+ <span class="kw">match </span><span
class="self">self </span>{
+ Transform::Day => Datum::date(v +
<span class="number">1</span>),
+ <span class="kw">_ </span>=>
Datum::int(v + <span class="number">1</span>),
+ }
+ },
]);
<span class="kw">return </span><span
class="prelude-val">Some</span>(AdjustedProjection::Set(new_set));
}
diff --git a/api/src/iceberg/transform/temporal.rs.html
b/api/src/iceberg/transform/temporal.rs.html
index 5ee45b60..f775b673 100644
--- a/api/src/iceberg/transform/temporal.rs.html
+++ b/api/src/iceberg/transform/temporal.rs.html
@@ -3041,7 +3041,7 @@
<span class="kw">impl </span>TransformFunction <span class="kw">for </span>Day
{
<span class="kw">fn </span>transform(<span class="kw-2">&</span><span
class="self">self</span>, input: ArrayRef) -> <span
class="prelude-ty">Result</span><ArrayRef> {
- <span class="kw">let </span>res: Int32Array = <span class="kw">match
</span>input.data_type() {
+ <span class="kw">let </span>res: Date32Array = <span class="kw">match
</span>input.data_type() {
DataType::Timestamp(TimeUnit::Microsecond, <span
class="kw">_</span>) => input
.as_any()
.downcast_ref::<TimestampMicrosecondArray>()
@@ -3093,7 +3093,7 @@
))
}
};
- <span class="prelude-val">Ok</span>(<span
class="prelude-val">Some</span>(Datum::int(val)))
+ <span class="prelude-val">Ok</span>(<span
class="prelude-val">Some</span>(Datum::date(val)))
}
}
@@ -3983,7 +3983,7 @@
PredicateOperator::LessThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -3991,7 +3991,7 @@
PredicateOperator::LessThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -3999,7 +3999,7 @@
PredicateOperator::GreaterThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4007,12 +4007,12 @@
PredicateOperator::GreaterThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= -1"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1969-12-31"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::Eq,
Datum::timestamp_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (-1, 0)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (1969-12-31, 1970-01-01)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4025,7 +4025,7 @@
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
Datum::timestamp_from_str(another)<span
class="question-mark">?</span>,
]),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (0, -1)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (1970-01-01, 1969-12-31)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4057,7 +4057,7 @@
PredicateOperator::LessThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4065,7 +4065,7 @@
PredicateOperator::LessThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4073,7 +4073,7 @@
PredicateOperator::GreaterThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 17502"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 2017-12-02"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4081,12 +4081,12 @@
PredicateOperator::GreaterThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::Eq,
Datum::timestamp_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name =
17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name =
2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4099,7 +4099,7 @@
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
Datum::timestamp_from_str(another)<span
class="question-mark">?</span>,
]),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (17501, 17502)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (2017-12-02, 2017-12-01)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4131,7 +4131,7 @@
PredicateOperator::LessThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= -365"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1969-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4139,7 +4139,7 @@
PredicateOperator::LessThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= -364"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1969-01-02"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4147,7 +4147,7 @@
PredicateOperator::GreaterThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= -365"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1969-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4155,12 +4155,12 @@
PredicateOperator::GreaterThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= -365"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1969-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::Eq,
Datum::timestamp_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (-364, -365)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (1969-01-01, 1969-01-02)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4173,7 +4173,7 @@
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
Datum::timestamp_from_str(another)<span
class="question-mark">?</span>,
]),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (-363, -365, -364)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (1969-01-02, 1969-01-01, 1969-01-03)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4205,7 +4205,7 @@
PredicateOperator::LessThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 17500"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 2017-11-30"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4213,7 +4213,7 @@
PredicateOperator::LessThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4221,7 +4221,7 @@
PredicateOperator::GreaterThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4229,12 +4229,12 @@
PredicateOperator::GreaterThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::Eq,
Datum::timestamp_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name =
17501"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name =
2017-12-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4247,7 +4247,7 @@
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
Datum::timestamp_from_str(another)<span
class="question-mark">?</span>,
]),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (17501, 17502)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (2017-12-02, 2017-12-01)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4279,7 +4279,7 @@
PredicateOperator::LessThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4287,7 +4287,7 @@
PredicateOperator::LessThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4295,7 +4295,7 @@
PredicateOperator::GreaterThan,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4303,12 +4303,12 @@
PredicateOperator::GreaterThanOrEq,
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::Eq,
Datum::timestamp_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name =
0"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name =
1970-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4321,7 +4321,7 @@
Datum::timestamp_from_str(value)<span
class="question-mark">?</span>,
Datum::timestamp_from_str(another)<span
class="question-mark">?</span>,
]),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (1, 0)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (1970-01-01, 1970-01-02)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4350,7 +4350,7 @@
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::LessThan,
Datum::date_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= -3"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1969-12-29"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4358,12 +4358,12 @@
PredicateOperator::LessThanOrEq,
Datum::date_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= -2"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 1969-12-30"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::GreaterThan,
Datum::date_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= -1"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1969-12-31"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4371,12 +4371,12 @@
PredicateOperator::GreaterThanOrEq,
Datum::date_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= -2"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 1969-12-30"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::Eq,
Datum::date_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name =
-2"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name =
1969-12-30"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4389,7 +4389,7 @@
Datum::date_from_str(value)<span
class="question-mark">?</span>,
Datum::date_from_str(another)<span
class="question-mark">?</span>,
]),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (-2, -4)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (1969-12-28, 1969-12-30)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4418,7 +4418,7 @@
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::LessThan,
Datum::date_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 17166"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 2016-12-31"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4426,12 +4426,12 @@
PredicateOperator::LessThanOrEq,
Datum::date_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
<= 17167"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
<= 2017-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::GreaterThan,
Datum::date_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 17168"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 2017-01-02"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4439,12 +4439,12 @@
PredicateOperator::GreaterThanOrEq,
Datum::date_from_str(value)<span
class="question-mark">?</span>,
),
- <span class="prelude-val">Some</span>(<span class="string">"name
>= 17167"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
>= 2017-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
<span
class="kw-2">&</span>fixture.binary_predicate(PredicateOperator::Eq,
Datum::date_from_str(value)<span class="question-mark">?</span>),
- <span class="prelude-val">Some</span>(<span class="string">"name =
17167"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name =
2017-01-01"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -4457,7 +4457,7 @@
Datum::date_from_str(value)<span
class="question-mark">?</span>,
Datum::date_from_str(another)<span
class="question-mark">?</span>,
]),
- <span class="prelude-val">Some</span>(<span class="string">"name
IN (17531, 17167)"</span>),
+ <span class="prelude-val">Some</span>(<span class="string">"name
IN (2017-01-01, 2017-12-31)"</span>),
)<span class="question-mark">?</span>;
fixture.assert_projection(
@@ -5398,7 +5398,7 @@
.collect::<Vec<i32>>(),
));
<span class="kw">let </span>res = day.transform(date_array).unwrap();
- <span class="kw">let </span>res =
res.as_any().downcast_ref::<Int32Array>().unwrap();
+ <span class="kw">let </span>res =
res.as_any().downcast_ref::<Date32Array>().unwrap();
<span class="macro">assert_eq!</span>(res.len(), <span
class="number">5</span>);
<span class="macro">assert_eq!</span>(res.value(<span
class="number">0</span>), expect_day[<span class="number">0</span>]);
<span class="macro">assert_eq!</span>(res.value(<span
class="number">1</span>), expect_day[<span class="number">1</span>]);
@@ -5437,7 +5437,7 @@
.collect::<Vec<i64>>(),
));
<span class="kw">let </span>res = day.transform(date_array).unwrap();
- <span class="kw">let </span>res =
res.as_any().downcast_ref::<Int32Array>().unwrap();
+ <span class="kw">let </span>res =
res.as_any().downcast_ref::<Date32Array>().unwrap();
<span class="macro">assert_eq!</span>(res.len(), <span
class="number">5</span>);
<span class="macro">assert_eq!</span>(res.value(<span
class="number">0</span>), expect_day[<span class="number">0</span>]);
<span class="macro">assert_eq!</span>(res.value(<span
class="number">1</span>), expect_day[<span class="number">1</span>]);
@@ -5450,18 +5450,18 @@
</span><span class="kw">fn </span>test_transform_days_literal() {
<span class="kw">let </span>day = Box::new(<span
class="kw">super</span>::Day) <span class="kw">as </span>BoxedTransformFunction;
<span class="comment">// Test Date32
- </span>test_date(<span class="number">18628</span>, <span
class="kw-2">&</span>day, Datum::int(<span class="number">18628</span>));
- test_date(-<span class="number">31</span>, <span
class="kw-2">&</span>day, Datum::int(-<span class="number">31</span>));
+ </span>test_date(<span class="number">18628</span>, <span
class="kw-2">&</span>day, Datum::date(<span class="number">18628</span>));
+ test_date(-<span class="number">31</span>, <span
class="kw-2">&</span>day, Datum::date(-<span class="number">31</span>));
<span class="comment">// Test TimestampMicrosecond
- </span>test_timestamp_and_tz_transform_using_i64(<span
class="number">1512151975038194</span>, <span class="kw-2">&</span>day,
Datum::int(<span class="number">17501</span>));
- test_timestamp_and_tz_transform_using_i64(-<span
class="number">115200000000</span>, <span class="kw-2">&</span>day,
Datum::int(-<span class="number">2</span>));
- test_timestamp_and_tz_transform(<span class="string">"2017-12-01
10:30:42.123"</span>, <span class="kw-2">&</span>day, Datum::int(<span
class="number">17501</span>));
+ </span>test_timestamp_and_tz_transform_using_i64(<span
class="number">1512151975038194</span>, <span class="kw-2">&</span>day,
Datum::date(<span class="number">17501</span>));
+ test_timestamp_and_tz_transform_using_i64(-<span
class="number">115200000000</span>, <span class="kw-2">&</span>day,
Datum::date(-<span class="number">2</span>));
+ test_timestamp_and_tz_transform(<span class="string">"2017-12-01
10:30:42.123"</span>, <span class="kw-2">&</span>day, Datum::date(<span
class="number">17501</span>));
<span class="comment">// Test TimestampNanosecond
- </span>test_timestamp_ns_and_tz_transform_using_i64(<span
class="number">1512151975038194</span>, <span class="kw-2">&</span>day,
Datum::int(<span class="number">17</span>));
- test_timestamp_ns_and_tz_transform_using_i64(-<span
class="number">115200000000</span>, <span class="kw-2">&</span>day,
Datum::int(-<span class="number">1</span>));
- test_timestamp_ns_and_tz_transform(<span class="string">"2017-12-01
10:30:42.123"</span>, <span class="kw-2">&</span>day, Datum::int(<span
class="number">17501</span>));
+ </span>test_timestamp_ns_and_tz_transform_using_i64(<span
class="number">1512151975038194</span>, <span class="kw-2">&</span>day,
Datum::date(<span class="number">17</span>));
+ test_timestamp_ns_and_tz_transform_using_i64(-<span
class="number">115200000000</span>, <span class="kw-2">&</span>day,
Datum::date(-<span class="number">1</span>));
+ test_timestamp_ns_and_tz_transform(<span class="string">"2017-12-01
10:30:42.123"</span>, <span class="kw-2">&</span>day, Datum::date(<span
class="number">17501</span>));
}
<span class="attr">#[test]