You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by al...@apache.org on 2023/06/21 20:36:05 UTC
[arrow-datafusion] branch main updated: Minor: remove some unwrap (#6738)
This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new b275e1df43 Minor: remove some unwrap (#6738)
b275e1df43 is described below
commit b275e1df43589f181a038a268f0fa4c2d47fb8db
Author: Andrew Lamb <an...@nerdnetworks.org>
AuthorDate: Wed Jun 21 16:35:59 2023 -0400
Minor: remove some unwrap (#6738)
---
datafusion/physical-expr/src/datetime_expressions.rs | 20 +++++---------------
1 file changed, 5 insertions(+), 15 deletions(-)
diff --git a/datafusion/physical-expr/src/datetime_expressions.rs b/datafusion/physical-expr/src/datetime_expressions.rs
index 349ed76fe9..443514063f 100644
--- a/datafusion/physical-expr/src/datetime_expressions.rs
+++ b/datafusion/physical-expr/src/datetime_expressions.rs
@@ -258,7 +258,7 @@ fn date_trunc_single(granularity: &str, value: i64) -> Result<i64> {
)));
}
};
- // `with_x(0)` are infalible because `0` are always a valid
+ // `with_x(0)` are infallible because `0` are always a valid
Ok(value.unwrap().timestamp_nanos())
}
@@ -284,18 +284,11 @@ pub fn date_trunc(args: &[ColumnarValue]) -> Result<ColumnarValue> {
ColumnarValue::Scalar(ScalarValue::TimestampNanosecond(v, tz_opt)) => {
let nano = (f)(*v)?;
- if nano.is_none() {
- return Ok(ColumnarValue::Scalar(ScalarValue::TimestampNanosecond(
- None,
- tz_opt.clone(),
- )));
- }
-
match granularity.as_str() {
"minute" => {
// trunc to minute
let second = ScalarValue::TimestampNanosecond(
- Some(nano.unwrap() / 1_000_000_000 * 1_000_000_000),
+ nano.map(|nano| nano / 1_000_000_000 * 1_000_000_000),
tz_opt.clone(),
);
ColumnarValue::Scalar(second)
@@ -303,7 +296,7 @@ pub fn date_trunc(args: &[ColumnarValue]) -> Result<ColumnarValue> {
"second" => {
// trunc to second
let mill = ScalarValue::TimestampNanosecond(
- Some(nano.unwrap() / 1_000_000 * 1_000_000),
+ nano.map(|nano| nano / 1_000_000 * 1_000_000),
tz_opt.clone(),
);
ColumnarValue::Scalar(mill)
@@ -311,17 +304,14 @@ pub fn date_trunc(args: &[ColumnarValue]) -> Result<ColumnarValue> {
"millisecond" => {
// trunc to microsecond
let micro = ScalarValue::TimestampNanosecond(
- Some(nano.unwrap() / 1_000 * 1_000),
+ nano.map(|nano| nano / 1_000 * 1_000),
tz_opt.clone(),
);
ColumnarValue::Scalar(micro)
}
_ => {
// trunc to nanosecond
- let nano = ScalarValue::TimestampNanosecond(
- Some(nano.unwrap()),
- tz_opt.clone(),
- );
+ let nano = ScalarValue::TimestampNanosecond(nano, tz_opt.clone());
ColumnarValue::Scalar(nano)
}
}