You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by mn...@apache.org on 2023/09/14 12:00:37 UTC
[arrow-datafusion] branch main updated: Minor: beautify interval display (#7554)
This is an automated email from the ASF dual-hosted git repository.
mneumann 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 c2fb263d7f Minor: beautify interval display (#7554)
c2fb263d7f is described below
commit c2fb263d7f0119b6499cadea5264f45826fc9fa1
Author: Alex Huang <hu...@gmail.com>
AuthorDate: Thu Sep 14 20:00:31 2023 +0800
Minor: beautify interval display (#7554)
* beautify interval display
* add tests
---
.../src/intervals/interval_aritmetic.rs | 36 +++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/datafusion/physical-expr/src/intervals/interval_aritmetic.rs b/datafusion/physical-expr/src/intervals/interval_aritmetic.rs
index 5501c8cae0..3ed228517f 100644
--- a/datafusion/physical-expr/src/intervals/interval_aritmetic.rs
+++ b/datafusion/physical-expr/src/intervals/interval_aritmetic.rs
@@ -195,7 +195,14 @@ impl Default for Interval {
impl Display for Interval {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
- write!(f, "Interval [{}, {}]", self.lower, self.upper)
+ write!(
+ f,
+ "{}{}, {}{}",
+ if self.lower.open { "(" } else { "[" },
+ self.lower.value,
+ self.upper.value,
+ if self.upper.open { ")" } else { "]" }
+ )
}
}
@@ -1785,4 +1792,31 @@ mod tests {
Ok(())
}
+
+ #[test]
+ fn test_interval_display() {
+ let interval = Interval::new(
+ IntervalBound::new(ScalarValue::from(0.25_f32), true),
+ IntervalBound::new(ScalarValue::from(0.50_f32), false),
+ );
+ assert_eq!(format!("{}", interval), "(0.25, 0.5]");
+
+ let interval = Interval::new(
+ IntervalBound::new(ScalarValue::from(0.25_f32), false),
+ IntervalBound::new(ScalarValue::from(0.50_f32), true),
+ );
+ assert_eq!(format!("{}", interval), "[0.25, 0.5)");
+
+ let interval = Interval::new(
+ IntervalBound::new(ScalarValue::from(0.25_f32), true),
+ IntervalBound::new(ScalarValue::from(0.50_f32), true),
+ );
+ assert_eq!(format!("{}", interval), "(0.25, 0.5)");
+
+ let interval = Interval::new(
+ IntervalBound::new(ScalarValue::from(0.25_f32), false),
+ IntervalBound::new(ScalarValue::from(0.50_f32), false),
+ );
+ assert_eq!(format!("{}", interval), "[0.25, 0.5]");
+ }
}