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/arrow-datafusion.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 07ddc07c45 Publish built docs triggered by
d6ab343791bfc37030bc02e70b5ff9a8e773e72e
07ddc07c45 is described below
commit 07ddc07c45ec65a02ed355b7f28a9a7eac4d8d47
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Jan 24 21:53:54 2024 +0000
Publish built docs triggered by d6ab343791bfc37030bc02e70b5ff9a8e773e72e
---
_sources/library-user-guide/adding-udfs.md.txt | 11 +++++------
library-user-guide/adding-udfs.html | 9 ++++-----
searchindex.js | 2 +-
3 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/_sources/library-user-guide/adding-udfs.md.txt
b/_sources/library-user-guide/adding-udfs.md.txt
index 64dc25411d..1824b23f9f 100644
--- a/_sources/library-user-guide/adding-udfs.md.txt
+++ b/_sources/library-user-guide/adding-udfs.md.txt
@@ -41,12 +41,12 @@ 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;
-pub fn add_one(args: &[ArrayRef]) -> Result<ArrayRef> {
+pub fn add_one(args: &[ColumnarValue]) -> Result<ArrayRef> {
// Error handling omitted for brevity
-
+ let args = columnar_values_to_array(args)?;
let i64s = as_int64_array(&args[0])?;
let new_array = i64s
@@ -82,7 +82,6 @@ There is a lower level API with more functionality but is
more complex, that is
```rust
use datafusion::logical_expr::{Volatility, create_udf};
-use datafusion::physical_plan::functions::make_scalar_function;
use datafusion::arrow::datatypes::DataType;
use std::sync::Arc;
@@ -91,13 +90,13 @@ let udf = create_udf(
vec![DataType::Int64],
Arc::new(DataType::Int64),
Volatility::Immutable,
- make_scalar_function(add_one),
+ Arc::new(add_one),
);
```
[`scalarudf`]:
https://docs.rs/datafusion/latest/datafusion/logical_expr/struct.ScalarUDF.html
[`create_udf`]:
https://docs.rs/datafusion/latest/datafusion/logical_expr/fn.create_udf.html
-[`make_scalar_function`]:
https://docs.rs/datafusion/latest/datafusion/physical_expr/functions/fn.make_scalar_function.html
+[`process_scalar_func_inputs`]:
https://docs.rs/datafusion/latest/datafusion/physical_expr/functions/fn.process_scalar_func_inputs.html
[`advanced_udf.rs`]:
https://github.com/apache/arrow-datafusion/blob/main/datafusion-examples/examples/advanced_udf.rs
A few things to note:
diff --git a/library-user-guide/adding-udfs.html
b/library-user-guide/adding-udfs.html
index abe035b546..ebb086caae 100644
--- a/library-user-guide/adding-udfs.html
+++ b/library-user-guide/adding-udfs.html
@@ -489,12 +489,12 @@
<span class="k">use</span><span class="w"> </span><span
class="n">datafusion</span>::<span class="n">arrow</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="n">common</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="n">common</span>::<span
class="n">cast</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="n">physical_plan</span>::<span
class="n">functions</span>::<span
class="n">columnar_values_to_array</span><span class="p">;</span>
-<span class="k">pub</span><span class="w"> </span><span class="k">fn</span>
<span class="nf">add_one</span><span class="p">(</span><span
class="n">args</span>: <span class="kp">&</span><span
class="p">[</span><span class="n">ArrayRef</span><span class="p">])</span><span
class="w"> </span>-> <span class="nb">Result</span><span
class="o"><</span><span class="n">ArrayRef</span><span
class="o">></span><span class="w"> </span><span class="p">{</span>
+<span class="k">pub</span><span class="w"> </span><span class="k">fn</span>
<span class="nf">add_one</span><span class="p">(</span><span
class="n">args</span>: <span class="kp">&</span><span
class="p">[</span><span class="n">ColumnarValue</span><span
class="p">])</span><span class="w"> </span>-> <span
class="nb">Result</span><span class="o"><</span><span
class="n">ArrayRef</span><span class="o">></span><span class="w">
</span><span class="p">{</span>
<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">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">&</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>
@@ -524,7 +524,6 @@
DataFusion provides the <a class="reference external"
href="https://docs.rs/datafusion/latest/datafusion/logical_expr/fn.create_udf.html"><code
class="docutils literal notranslate"><span
class="pre">create_udf</span></code></a> and helper functions to make this
easier.
There is a lower level API with more functionality but is more complex, that
is documented in <a class="reference external"
href="https://github.com/apache/arrow-datafusion/blob/main/datafusion-examples/examples/advanced_udf.rs"><code
class="docutils literal notranslate"><span
class="pre">advanced_udf.rs</span></code></a>.</p>
<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="k">use</span><span class="w">
</span><span class="n">datafusion</span>::<span
class="n">logical_expr</span>::<span class="p">{</span><span
class="n">Volatility</span><span class="p">,</span><span class="w">
</span><span class="n">create_udf</span><span class="p">};</span>
-<span class="k">use</span><span class="w"> </span><span
class="n">datafusion</span>::<span class="n">physical_plan</span>::<span
class="n">functions</span>::<span class="n">make_scalar_function</span><span
class="p">;</span>
<span class="k">use</span><span class="w"> </span><span
class="n">datafusion</span>::<span class="n">arrow</span>::<span
class="n">datatypes</span>::<span class="n">DataType</span><span
class="p">;</span>
<span class="k">use</span><span class="w"> </span><span
class="n">std</span>::<span class="n">sync</span>::<span
class="n">Arc</span><span class="p">;</span>
@@ -533,7 +532,7 @@ There is a lower level API with more functionality but is
more complex, that is
<span class="w"> </span><span class="fm">vec!</span><span
class="p">[</span><span class="n">DataType</span>::<span
class="n">Int64</span><span class="p">],</span>
<span class="w"> </span><span class="n">Arc</span>::<span
class="n">new</span><span class="p">(</span><span
class="n">DataType</span>::<span class="n">Int64</span><span class="p">),</span>
<span class="w"> </span><span class="n">Volatility</span>::<span
class="n">Immutable</span><span class="p">,</span>
-<span class="w"> </span><span class="n">make_scalar_function</span><span
class="p">(</span><span class="n">add_one</span><span class="p">),</span>
+<span class="w"> </span><span class="n">Arc</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 417f6b1be9..a1c5cd2238 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["contributor-guide/architecture",
"contributor-guide/communication", "contributor-guide/index",
"contributor-guide/quarterly_roadmap", "contributor-guide/roadmap",
"contributor-guide/specification/index",
"contributor-guide/specification/invariants",
"contributor-guide/specification/output-field-name-semantic", "index",
"library-user-guide/adding-udfs", "library-user-guide/building-logical-plans",
"library-user-guide/catalogs", "library-user-guide/custom-tab [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["contributor-guide/architecture",
"contributor-guide/communication", "contributor-guide/index",
"contributor-guide/quarterly_roadmap", "contributor-guide/roadmap",
"contributor-guide/specification/index",
"contributor-guide/specification/invariants",
"contributor-guide/specification/output-field-name-semantic", "index",
"library-user-guide/adding-udfs", "library-user-guide/building-logical-plans",
"library-user-guide/catalogs", "library-user-guide/custom-tab [...]
\ No newline at end of file