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

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 9f129bdfb8 Publish built docs triggered by 
d5428b21d6486e5b7db525d314ee9119a512c397
9f129bdfb8 is described below

commit 9f129bdfb876e73310549b2f64964439e9b9be5c
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Sun Feb 2 18:44:25 2025 +0000

    Publish built docs triggered by d5428b21d6486e5b7db525d314ee9119a512c397
---
 _sources/library-user-guide/adding-udfs.md.txt | 27 +++++++++++++-------------
 library-user-guide/adding-udfs.html            | 27 +++++++++++++-------------
 searchindex.js                                 |  2 +-
 3 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/_sources/library-user-guide/adding-udfs.md.txt 
b/_sources/library-user-guide/adding-udfs.md.txt
index 2044cfaa70..a920297697 100644
--- a/_sources/library-user-guide/adding-udfs.md.txt
+++ b/_sources/library-user-guide/adding-udfs.md.txt
@@ -123,13 +123,13 @@ There is a an older, more concise, but also more limited 
API [`create_udf`] avai
 use std::sync::Arc;
 
 use datafusion::arrow::array::{ArrayRef, Int64Array};
-use datafusion::common::Result;
 use datafusion::common::cast::as_int64_array;
-use datafusion::physical_plan::functions::columnar_values_to_array;
+use datafusion::common::Result;
+use datafusion::logical_expr::ColumnarValue;
 
-pub fn add_one(args: &[ColumnarValue]) -> Result<ArrayRef> {
+pub fn add_one(args: &[ColumnarValue]) -> Result<ColumnarValue> {
     // Error handling omitted for brevity
-    let args = columnar_values_to_array(args)?;
+    let args = ColumnarValue::values_to_arrays(args)?;
     let i64s = as_int64_array(&args[0])?;
 
     let new_array = i64s
@@ -137,7 +137,7 @@ pub fn add_one(args: &[ColumnarValue]) -> Result<ArrayRef> {
         .map(|array_elem| array_elem.map(|value| value + 1))
         .collect::<Int64Array>();
 
-    Ok(Arc::new(new_array))
+    Ok(ColumnarValue::from(Arc::new(new_array) as ArrayRef))
 }
 ```
 
@@ -146,10 +146,11 @@ This "works" in isolation, i.e. if you have a slice of 
`ArrayRef`s, you can call
 
 ```rust
 let input = vec![Some(1), None, Some(3)];
-let input = Arc::new(Int64Array::from(input)) as ArrayRef;
+let input = ColumnarValue::from(Arc::new(Int64Array::from(input)) as ArrayRef);
 
-let result = add_one( & [input]).unwrap();
-let result = result.as_any().downcast_ref::<Int64Array>().unwrap();
+let result = add_one(&[input]).unwrap();
+let binding = result.into_array(1).unwrap();
+let result = binding.as_any().downcast_ref::<Int64Array>().unwrap();
 
 assert_eq!(result, &Int64Array::from(vec![Some(2), None, Some(4)]));
 ```
@@ -169,11 +170,11 @@ use datafusion::arrow::datatypes::DataType;
 use std::sync::Arc;
 
 let udf = create_udf(
-"add_one",
-vec![DataType::Int64],
-Arc::new(DataType::Int64),
-Volatility::Immutable,
-Arc::new(add_one),
+    "add_one",
+    vec![DataType::Int64],
+    DataType::Int64,
+    Volatility::Immutable,
+    Arc::new(add_one),
 );
 ```
 
diff --git a/library-user-guide/adding-udfs.html 
b/library-user-guide/adding-udfs.html
index 53907b60e4..f3d0824a75 100644
--- a/library-user-guide/adding-udfs.html
+++ b/library-user-guide/adding-udfs.html
@@ -746,13 +746,13 @@ of arguments.</p>
 <div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">use</span><span class="w"> 
</span><span class="n">std</span><span class="p">::</span><span 
class="n">sync</span><span class="p">::</span><span class="n">Arc</span><span 
class="p">;</span>
 
 <span class="k">use</span><span class="w"> </span><span 
class="n">datafusion</span><span class="p">::</span><span 
class="n">arrow</span><span class="p">::</span><span 
class="n">array</span><span class="p">::{</span><span 
class="n">ArrayRef</span><span class="p">,</span><span class="w"> </span><span 
class="n">Int64Array</span><span class="p">};</span>
-<span class="k">use</span><span class="w"> </span><span 
class="n">datafusion</span><span class="p">::</span><span 
class="n">common</span><span class="p">::</span><span 
class="nb">Result</span><span class="p">;</span>
 <span class="k">use</span><span class="w"> </span><span 
class="n">datafusion</span><span class="p">::</span><span 
class="n">common</span><span class="p">::</span><span 
class="n">cast</span><span class="p">::</span><span 
class="n">as_int64_array</span><span class="p">;</span>
-<span class="k">use</span><span class="w"> </span><span 
class="n">datafusion</span><span class="p">::</span><span 
class="n">physical_plan</span><span class="p">::</span><span 
class="n">functions</span><span class="p">::</span><span 
class="n">columnar_values_to_array</span><span class="p">;</span>
+<span class="k">use</span><span class="w"> </span><span 
class="n">datafusion</span><span class="p">::</span><span 
class="n">common</span><span class="p">::</span><span 
class="nb">Result</span><span class="p">;</span>
+<span class="k">use</span><span class="w"> </span><span 
class="n">datafusion</span><span class="p">::</span><span 
class="n">logical_expr</span><span class="p">::</span><span 
class="n">ColumnarValue</span><span class="p">;</span>
 
-<span class="k">pub</span><span class="w"> </span><span 
class="k">fn</span><span class="w"> </span><span class="nf">add_one</span><span 
class="p">(</span><span class="n">args</span><span class="p">:</span><span 
class="w"> </span><span class="kp">&amp;</span><span class="p">[</span><span 
class="n">ColumnarValue</span><span class="p">])</span><span class="w"> 
</span><span class="p">-&gt;</span><span class="w"> </span><span 
class="nb">Result</span><span class="o">&lt;</span><span class="n"> [...]
+<span class="k">pub</span><span class="w"> </span><span 
class="k">fn</span><span class="w"> </span><span class="nf">add_one</span><span 
class="p">(</span><span class="n">args</span><span class="p">:</span><span 
class="w"> </span><span class="kp">&amp;</span><span class="p">[</span><span 
class="n">ColumnarValue</span><span class="p">])</span><span class="w"> 
</span><span class="p">-&gt;</span><span class="w"> </span><span 
class="nb">Result</span><span class="o">&lt;</span><span class="n"> [...]
 <span class="w">    </span><span class="c1">// Error handling omitted for 
brevity</span>
-<span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">args</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span 
class="n">columnar_values_to_array</span><span class="p">(</span><span 
class="n">args</span><span class="p">)</span><span class="o">?</span><span 
class="p">;</span>
+<span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">args</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span 
class="n">ColumnarValue</span><span class="p">::</span><span 
class="n">values_to_arrays</span><span class="p">(</span><span 
class="n">args</span><span class="p">)</span><span class="o">?</span><span 
class="p">;</span>
 <span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">i64s</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span 
class="n">as_int64_array</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">args</span><span class="p">[</span><span 
class="mi">0</span><span class="p">])</span><span class="o">?</span><span 
class="p">;</span>
 
 <span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">new_array</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">i64s</span>
@@ -760,17 +760,18 @@ of arguments.</p>
 <span class="w">        </span><span class="p">.</span><span 
class="n">map</span><span class="p">(</span><span class="o">|</span><span 
class="n">array_elem</span><span class="o">|</span><span class="w"> 
</span><span class="n">array_elem</span><span class="p">.</span><span 
class="n">map</span><span class="p">(</span><span class="o">|</span><span 
class="n">value</span><span class="o">|</span><span class="w"> </span><span 
class="n">value</span><span class="w"> </span><span class="o">+</span [...]
 <span class="w">        </span><span class="p">.</span><span 
class="n">collect</span><span class="p">::</span><span 
class="o">&lt;</span><span class="n">Int64Array</span><span 
class="o">&gt;</span><span class="p">();</span>
 
-<span class="w">    </span><span class="nb">Ok</span><span 
class="p">(</span><span class="n">Arc</span><span class="p">::</span><span 
class="n">new</span><span class="p">(</span><span 
class="n">new_array</span><span class="p">))</span>
+<span class="w">    </span><span class="nb">Ok</span><span 
class="p">(</span><span class="n">ColumnarValue</span><span 
class="p">::</span><span class="n">from</span><span class="p">(</span><span 
class="n">Arc</span><span class="p">::</span><span class="n">new</span><span 
class="p">(</span><span class="n">new_array</span><span class="p">)</span><span 
class="w"> </span><span class="k">as</span><span class="w"> </span><span 
class="n">ArrayRef</span><span class="p">))</span>
 <span class="p">}</span>
 </pre></div>
 </div>
 <p>This “works” in isolation, i.e. if you have a slice of <code 
class="docutils literal notranslate"><span class="pre">ArrayRef</span></code>s, 
you can call <code class="docutils literal notranslate"><span 
class="pre">add_one</span></code> and it will return a new
 <code class="docutils literal notranslate"><span 
class="pre">ArrayRef</span></code> with 1 added to each value.</p>
 <div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="kd">let</span><span class="w"> 
</span><span class="n">input</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="fm">vec!</span><span 
class="p">[</span><span class="nb">Some</span><span class="p">(</span><span 
class="mi">1</span><span class="p">),</span><span class="w"> </span><span 
class="nb">None</span><span class="p">,</span><span class="w"> </span><span  
[...]
-<span class="kd">let</span><span class="w"> </span><span 
class="n">input</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">Arc</span><span class="p">::</span><span 
class="n">new</span><span class="p">(</span><span 
class="n">Int64Array</span><span class="p">::</span><span 
class="n">from</span><span class="p">(</span><span class="n">input</span><span 
class="p">))</span><span class="w"> </span><span class="k">as</span><span 
class="w"> </span><span [...]
+<span class="kd">let</span><span class="w"> </span><span 
class="n">input</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">ColumnarValue</span><span 
class="p">::</span><span class="n">from</span><span class="p">(</span><span 
class="n">Arc</span><span class="p">::</span><span class="n">new</span><span 
class="p">(</span><span class="n">Int64Array</span><span 
class="p">::</span><span class="n">from</span><span class="p">(</span><span 
class="n">inp [...]
 
-<span class="kd">let</span><span class="w"> </span><span 
class="n">result</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">add_one</span><span class="p">(</span><span 
class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span 
class="p">[</span><span class="n">input</span><span class="p">]).</span><span 
class="n">unwrap</span><span class="p">();</span>
-<span class="kd">let</span><span class="w"> </span><span 
class="n">result</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">result</span><span class="p">.</span><span 
class="n">as_any</span><span class="p">().</span><span 
class="n">downcast_ref</span><span class="p">::</span><span 
class="o">&lt;</span><span class="n">Int64Array</span><span 
class="o">&gt;</span><span class="p">().</span><span 
class="n">unwrap</span><span class="p">();</span>
+<span class="kd">let</span><span class="w"> </span><span 
class="n">result</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">add_one</span><span class="p">(</span><span 
class="o">&amp;</span><span class="p">[</span><span class="n">input</span><span 
class="p">]).</span><span class="n">unwrap</span><span class="p">();</span>
+<span class="kd">let</span><span class="w"> </span><span 
class="n">binding</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">result</span><span class="p">.</span><span 
class="n">into_array</span><span class="p">(</span><span 
class="mi">1</span><span class="p">).</span><span class="n">unwrap</span><span 
class="p">();</span>
+<span class="kd">let</span><span class="w"> </span><span 
class="n">result</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">binding</span><span class="p">.</span><span 
class="n">as_any</span><span class="p">().</span><span 
class="n">downcast_ref</span><span class="p">::</span><span 
class="o">&lt;</span><span class="n">Int64Array</span><span 
class="o">&gt;</span><span class="p">().</span><span 
class="n">unwrap</span><span class="p">();</span>
 
 <span class="fm">assert_eq!</span><span class="p">(</span><span 
class="n">result</span><span class="p">,</span><span class="w"> </span><span 
class="o">&amp;</span><span class="n">Int64Array</span><span 
class="p">::</span><span class="n">from</span><span class="p">(</span><span 
class="fm">vec!</span><span class="p">[</span><span class="nb">Some</span><span 
class="p">(</span><span class="mi">2</span><span class="p">),</span><span 
class="w"> </span><span class="nb">None</span><span class="p [...]
 </pre></div>
@@ -788,11 +789,11 @@ DataFusion provides the <a class="reference external" 
href="https://docs.rs/data
 <span class="k">use</span><span class="w"> </span><span 
class="n">std</span><span class="p">::</span><span class="n">sync</span><span 
class="p">::</span><span class="n">Arc</span><span class="p">;</span>
 
 <span class="kd">let</span><span class="w"> </span><span 
class="n">udf</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">create_udf</span><span class="p">(</span>
-<span class="s">&quot;add_one&quot;</span><span class="p">,</span>
-<span class="fm">vec!</span><span class="p">[</span><span 
class="n">DataType</span><span class="p">::</span><span 
class="n">Int64</span><span class="p">],</span>
-<span class="n">Arc</span><span class="p">::</span><span 
class="n">new</span><span class="p">(</span><span 
class="n">DataType</span><span class="p">::</span><span 
class="n">Int64</span><span class="p">),</span>
-<span class="n">Volatility</span><span class="p">::</span><span 
class="n">Immutable</span><span class="p">,</span>
-<span class="n">Arc</span><span class="p">::</span><span 
class="n">new</span><span class="p">(</span><span class="n">add_one</span><span 
class="p">),</span>
+<span class="w">    </span><span class="s">&quot;add_one&quot;</span><span 
class="p">,</span>
+<span class="w">    </span><span class="fm">vec!</span><span 
class="p">[</span><span class="n">DataType</span><span class="p">::</span><span 
class="n">Int64</span><span class="p">],</span>
+<span class="w">    </span><span class="n">DataType</span><span 
class="p">::</span><span class="n">Int64</span><span class="p">,</span>
+<span class="w">    </span><span class="n">Volatility</span><span 
class="p">::</span><span class="n">Immutable</span><span class="p">,</span>
+<span class="w">    </span><span class="n">Arc</span><span 
class="p">::</span><span class="n">new</span><span class="p">(</span><span 
class="n">add_one</span><span class="p">),</span>
 <span class="p">);</span>
 </pre></div>
 </div>
diff --git a/searchindex.js b/searchindex.js
index e9d57d8fe3..855f454cb0 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!=": [[48, "op-neq"]], "!~": [[48, 
"op-re-not-match"]], "!~*": [[48, "op-re-not-match-i"]], "!~~": [[48, "id19"]], 
"!~~*": [[48, "id20"]], "#": [[48, "op-bit-xor"]], "%": [[48, "op-modulo"]], 
"&": [[48, "op-bit-and"]], "(relation, name) tuples in logical fields and 
logical columns are unique": [[9, 
"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]], "*": 
[[48, "op-multiply"]], "+": [[48, "op-plus"]], "-": [[48, "op-minus"]], "/": 
[[4 [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!=": [[48, "op-neq"]], "!~": [[48, 
"op-re-not-match"]], "!~*": [[48, "op-re-not-match-i"]], "!~~": [[48, "id19"]], 
"!~~*": [[48, "id20"]], "#": [[48, "op-bit-xor"]], "%": [[48, "op-modulo"]], 
"&": [[48, "op-bit-and"]], "(relation, name) tuples in logical fields and 
logical columns are unique": [[9, 
"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]], "*": 
[[48, "op-multiply"]], "+": [[48, "op-plus"]], "-": [[48, "op-minus"]], "/": 
[[4 [...]
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to