You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ag...@apache.org on 2022/08/09 12:23:37 UTC

[arrow-datafusion] branch master updated: impl Debug for ColumnarValue, add some docs (#3076)

This is an automated email from the ASF dual-hosted git repository.

agrove pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/master by this push:
     new 31381bfd9 impl Debug for ColumnarValue, add some docs (#3076)
31381bfd9 is described below

commit 31381bfd96f5a22db27cb28a429d570b509c0542
Author: Andrew Lamb <an...@nerdnetworks.org>
AuthorDate: Tue Aug 9 08:23:31 2022 -0400

    impl Debug for ColumnarValue, add some docs (#3076)
---
 datafusion/expr/src/columnar_value.rs | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/datafusion/expr/src/columnar_value.rs b/datafusion/expr/src/columnar_value.rs
index 4867c0e74..48a29208b 100644
--- a/datafusion/expr/src/columnar_value.rs
+++ b/datafusion/expr/src/columnar_value.rs
@@ -24,8 +24,13 @@ use arrow::record_batch::RecordBatch;
 use datafusion_common::ScalarValue;
 use std::sync::Arc;
 
-/// Represents the result from an expression
-#[derive(Clone)]
+/// Represents the result of evaluating an expression: either a single
+/// `ScalarValue` or an [`ArrayRef`].
+///
+/// While a [`ColumnarValue`] can always be converted into an array
+/// for convenience, it is often much more performant to provide an
+/// optimized path for scalar values.
+#[derive(Clone, Debug)]
 pub enum ColumnarValue {
     /// Array of values
     Array(ArrayRef),
@@ -41,7 +46,8 @@ impl ColumnarValue {
         }
     }
 
-    /// Convert a columnar value into an ArrayRef
+    /// Convert a columnar value into an ArrayRef. [`Self::Scalar`] is
+    /// converted by repeating the same scalar multiple times.
     pub fn into_array(self, num_rows: usize) -> ArrayRef {
         match self {
             ColumnarValue::Array(array) => array,