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 9974ba22cc Publish built docs triggered by 
1ed6e5138f6e18f2325739af7f03af6fc9611e53
9974ba22cc is described below

commit 9974ba22cc44c52c15bf2951c7261ce8c5a954b7
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Nov 5 01:47:02 2025 +0000

    Publish built docs triggered by 1ed6e5138f6e18f2325739af7f03af6fc9611e53
---
 .../functions/adding-udfs.md.txt                   | 48 +++++++---------------
 library-user-guide/functions/adding-udfs.html      | 43 +++++++------------
 searchindex.js                                     |  2 +-
 3 files changed, 30 insertions(+), 63 deletions(-)

diff --git a/_sources/library-user-guide/functions/adding-udfs.md.txt 
b/_sources/library-user-guide/functions/adding-udfs.md.txt
index 7581d8b650..e56790a4b7 100644
--- a/_sources/library-user-guide/functions/adding-udfs.md.txt
+++ b/_sources/library-user-guide/functions/adding-udfs.md.txt
@@ -588,10 +588,17 @@ For async UDF implementation details, see 
[`async_udf.rs`](https://github.com/ap
 
 ## Named Arguments
 
-DataFusion supports PostgreSQL-style named arguments for scalar functions, 
allowing you to pass arguments by parameter name:
+DataFusion supports named arguments for Scalar, Window, and Aggregate UDFs, 
allowing you to pass arguments by parameter name:
 
 ```sql
+-- Scalar function
 SELECT substr(str => 'hello', start_pos => 2, length => 3);
+
+-- Window function
+SELECT lead(expr => value, offset => 1) OVER (ORDER BY id) FROM table;
+
+-- Aggregate function
+SELECT corr(y => col1, x => col2) FROM table;
 ```
 
 Named arguments can be mixed with positional arguments, but positional 
arguments must come first:
@@ -602,38 +609,7 @@ SELECT substr('hello', start_pos => 2, length => 3);  -- 
Valid
 
 ### Implementing Functions with Named Arguments
 
-To support named arguments in your UDF, add parameter names to your function's 
signature using `.with_parameter_names()`:
-
-```rust
-# use arrow::datatypes::DataType;
-# use datafusion_expr::{Signature, Volatility};
-#
-# #[derive(Debug)]
-# struct MyFunction {
-#     signature: Signature,
-# }
-#
-impl MyFunction {
-    fn new() -> Self {
-        Self {
-            signature: Signature::uniform(
-                2,
-                vec![DataType::Float64],
-                Volatility::Immutable
-            )
-            .with_parameter_names(vec![
-                "base".to_string(),
-                "exponent".to_string()
-            ])
-            .expect("valid parameter names"),
-        }
-    }
-}
-```
-
-The parameter names should match the order of arguments in your function's 
signature. DataFusion automatically resolves named arguments to the correct 
positional order before invoking your function.
-
-### Example
+To support named arguments in your UDF, add parameter names to your function's 
signature using `.with_parameter_names()`. This works the same way for Scalar, 
Window, and Aggregate UDFs:
 
 ```rust
 # use std::sync::Arc;
@@ -681,10 +657,14 @@ impl ScalarUDFImpl for PowerFunction {
 }
 ```
 
-Once registered, users can call your function with named arguments:
+The parameter names should match the order of arguments in your function's 
signature. DataFusion automatically resolves named arguments to the correct 
positional order before invoking your function.
+
+Once registered, users can call your functions with named arguments in any 
order:
 
 ```sql
+-- All equivalent
 SELECT power(base => 2.0, exponent => 3.0);
+SELECT power(exponent => 3.0, base => 2.0);
 SELECT power(2.0, exponent => 3.0);
 ```
 
diff --git a/library-user-guide/functions/adding-udfs.html 
b/library-user-guide/functions/adding-udfs.html
index d193c30030..44309618c7 100644
--- a/library-user-guide/functions/adding-udfs.html
+++ b/library-user-guide/functions/adding-udfs.html
@@ -744,8 +744,15 @@ UDF.</p>
 </section>
 <section id="named-arguments">
 <h2>Named Arguments<a class="headerlink" href="#named-arguments" title="Link 
to this heading">#</a></h2>
-<p>DataFusion supports PostgreSQL-style named arguments for scalar functions, 
allowing you to pass arguments by parameter name:</p>
-<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="k">SELECT</span><span 
class="w"> </span><span class="n">substr</span><span class="p">(</span><span 
class="n">str</span><span class="w"> </span><span class="o">=&gt;</span><span 
class="w"> </span><span class="s1">&#39;hello&#39;</span><span 
class="p">,</span><span class="w"> </span><span class="n">start_pos</span><span 
class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span cla 
[...]
+<p>DataFusion supports named arguments for Scalar, Window, and Aggregate UDFs, 
allowing you to pass arguments by parameter name:</p>
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="c1">-- Scalar function</span>
+<span class="k">SELECT</span><span class="w"> </span><span 
class="n">substr</span><span class="p">(</span><span class="n">str</span><span 
class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span 
class="s1">&#39;hello&#39;</span><span class="p">,</span><span class="w"> 
</span><span class="n">start_pos</span><span class="w"> </span><span 
class="o">=&gt;</span><span class="w"> </span><span class="mi">2</span><span 
class="p">,</span><span class="w"> </span><span class="k"> [...]
+
+<span class="c1">-- Window function</span>
+<span class="k">SELECT</span><span class="w"> </span><span 
class="n">lead</span><span class="p">(</span><span class="n">expr</span><span 
class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span 
class="n">value</span><span class="p">,</span><span class="w"> </span><span 
class="k">offset</span><span class="w"> </span><span 
class="o">=&gt;</span><span class="w"> </span><span class="mi">1</span><span 
class="p">)</span><span class="w"> </span><span class="n">OVER</span><spa [...]
+
+<span class="c1">-- Aggregate function</span>
+<span class="k">SELECT</span><span class="w"> </span><span 
class="n">corr</span><span class="p">(</span><span class="n">y</span><span 
class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span 
class="n">col1</span><span class="p">,</span><span class="w"> </span><span 
class="n">x</span><span class="w"> </span><span class="o">=&gt;</span><span 
class="w"> </span><span class="n">col2</span><span class="p">)</span><span 
class="w"> </span><span class="k">FROM</span><span class [...]
 </pre></div>
 </div>
 <p>Named arguments can be mixed with positional arguments, but positional 
arguments must come first:</p>
@@ -754,29 +761,7 @@ UDF.</p>
 </div>
 <section id="implementing-functions-with-named-arguments">
 <h3>Implementing Functions with Named Arguments<a class="headerlink" 
href="#implementing-functions-with-named-arguments" title="Link to this 
heading">#</a></h3>
-<p>To support named arguments in your UDF, add parameter names to your 
function’s signature using <code class="docutils literal notranslate"><span 
class="pre">.with_parameter_names()</span></code>:</p>
-<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">impl</span><span class="w"> 
</span><span class="n">MyFunction</span><span class="w"> </span><span 
class="p">{</span>
-<span class="w">    </span><span class="k">fn</span><span class="w"> 
</span><span class="nf">new</span><span class="p">()</span><span class="w"> 
</span><span class="p">-&gt;</span><span class="w"> </span><span 
class="nc">Self</span><span class="w"> </span><span class="p">{</span>
-<span class="w">        </span><span class="bp">Self</span><span class="w"> 
</span><span class="p">{</span>
-<span class="w">            </span><span class="n">signature</span><span 
class="p">:</span><span class="w"> </span><span 
class="nc">Signature</span><span class="p">::</span><span 
class="n">uniform</span><span class="p">(</span>
-<span class="w">                </span><span class="mi">2</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">Float64</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="w">            </span><span class="p">)</span>
-<span class="w">            </span><span class="p">.</span><span 
class="n">with_parameter_names</span><span class="p">(</span><span 
class="fm">vec!</span><span class="p">[</span>
-<span class="w">                </span><span 
class="s">&quot;base&quot;</span><span class="p">.</span><span 
class="n">to_string</span><span class="p">(),</span>
-<span class="w">                </span><span 
class="s">&quot;exponent&quot;</span><span class="p">.</span><span 
class="n">to_string</span><span class="p">()</span>
-<span class="w">            </span><span class="p">])</span>
-<span class="w">            </span><span class="p">.</span><span 
class="n">expect</span><span class="p">(</span><span class="s">&quot;valid 
parameter names&quot;</span><span class="p">),</span>
-<span class="w">        </span><span class="p">}</span>
-<span class="w">    </span><span class="p">}</span>
-<span class="p">}</span>
-</pre></div>
-</div>
-<p>The parameter names should match the order of arguments in your function’s 
signature. DataFusion automatically resolves named arguments to the correct 
positional order before invoking your function.</p>
-</section>
-<section id="example">
-<h3>Example<a class="headerlink" href="#example" title="Link to this 
heading">#</a></h3>
+<p>To support named arguments in your UDF, add parameter names to your 
function’s signature using <code class="docutils literal notranslate"><span 
class="pre">.with_parameter_names()</span></code>. This works the same way for 
Scalar, Window, and Aggregate UDFs:</p>
 <div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="cp">#[derive(Debug, PartialEq, 
Eq, Hash)]</span>
 <span class="k">struct</span><span class="w"> </span><span 
class="nc">PowerFunction</span><span class="w"> </span><span class="p">{</span>
 <span class="w">    </span><span class="n">signature</span><span 
class="p">:</span><span class="w"> </span><span 
class="nc">Signature</span><span class="p">,</span>
@@ -815,8 +800,11 @@ UDF.</p>
 <span class="p">}</span>
 </pre></div>
 </div>
-<p>Once registered, users can call your function with named arguments:</p>
-<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="k">SELECT</span><span 
class="w"> </span><span class="n">power</span><span class="p">(</span><span 
class="n">base</span><span class="w"> </span><span class="o">=&gt;</span><span 
class="w"> </span><span class="mi">2</span><span class="p">.</span><span 
class="mi">0</span><span class="p">,</span><span class="w"> </span><span 
class="n">exponent</span><span class="w"> </span><span class="o">=&gt;</span 
[...]
+<p>The parameter names should match the order of arguments in your function’s 
signature. DataFusion automatically resolves named arguments to the correct 
positional order before invoking your function.</p>
+<p>Once registered, users can call your functions with named arguments in any 
order:</p>
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="c1">-- All equivalent</span>
+<span class="k">SELECT</span><span class="w"> </span><span 
class="n">power</span><span class="p">(</span><span class="n">base</span><span 
class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span 
class="mi">2</span><span class="p">.</span><span class="mi">0</span><span 
class="p">,</span><span class="w"> </span><span class="n">exponent</span><span 
class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span 
class="mi">3</span><span class="p">.</span><span  [...]
+<span class="k">SELECT</span><span class="w"> </span><span 
class="n">power</span><span class="p">(</span><span 
class="n">exponent</span><span class="w"> </span><span 
class="o">=&gt;</span><span class="w"> </span><span class="mi">3</span><span 
class="p">.</span><span class="mi">0</span><span class="p">,</span><span 
class="w"> </span><span class="n">base</span><span class="w"> </span><span 
class="o">=&gt;</span><span class="w"> </span><span class="mi">2</span><span 
class="p">.</span><span  [...]
 <span class="k">SELECT</span><span class="w"> </span><span 
class="n">power</span><span class="p">(</span><span class="mi">2</span><span 
class="p">.</span><span class="mi">0</span><span class="p">,</span><span 
class="w"> </span><span class="n">exponent</span><span class="w"> </span><span 
class="o">=&gt;</span><span class="w"> </span><span class="mi">3</span><span 
class="p">.</span><span class="mi">0</span><span class="p">);</span>
 </pre></div>
 </div>
@@ -1409,7 +1397,6 @@ validation of the input <code class="docutils literal 
notranslate"><span class="
 </li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#named-arguments">Named Arguments</a><ul class="nav section-nav 
flex-column">
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#implementing-functions-with-named-arguments">Implementing Functions with 
Named Arguments</a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#example">Example</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#error-messages">Error Messages</a></li>
 </ul>
 </li>
diff --git a/searchindex.js b/searchindex.js
index 806ddfb557..e012648f02 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[60,"op-neq"]],"!~":[[60,"op-re-not-match"]],"!~*":[[60,"op-re-not-match-i"]],"!~~":[[60,"id19"]],"!~~*":[[60,"id20"]],"#":[[60,"op-bit-xor"]],"%":[[60,"op-modulo"]],"&":[[60,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[13,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[60,"op-multiply"]],"+":[[60,"op-plus"]],"-":[[60,"op-minus"]],"/":[[60,"op-divide"]],"<":[[60,"op-lt"]],"<
 [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[60,"op-neq"]],"!~":[[60,"op-re-not-match"]],"!~*":[[60,"op-re-not-match-i"]],"!~~":[[60,"id19"]],"!~~*":[[60,"id20"]],"#":[[60,"op-bit-xor"]],"%":[[60,"op-modulo"]],"&":[[60,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[13,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[60,"op-multiply"]],"+":[[60,"op-plus"]],"-":[[60,"op-minus"]],"/":[[60,"op-divide"]],"<":[[60,"op-lt"]],"<
 [...]
\ No newline at end of file


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

Reply via email to