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 3383567b83 Publish built docs triggered by 
14a85fa3838951f957f81a6a2936694a1bfeeef1
3383567b83 is described below

commit 3383567b83efdafabbfcf31a01dd5c69bedd906f
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Mar 30 20:22:07 2026 +0000

    Publish built docs triggered by 14a85fa3838951f957f81a6a2936694a1bfeeef1
---
 .../library-user-guide/upgrading/54.0.0.md.txt     | 45 +++++++++++++++++++---
 library-user-guide/upgrading/54.0.0.html           | 44 +++++++++++++++++----
 searchindex.js                                     |  2 +-
 3 files changed, 78 insertions(+), 13 deletions(-)

diff --git a/_sources/library-user-guide/upgrading/54.0.0.md.txt 
b/_sources/library-user-guide/upgrading/54.0.0.md.txt
index 454a8de3d1..d8758e1342 100644
--- a/_sources/library-user-guide/upgrading/54.0.0.md.txt
+++ b/_sources/library-user-guide/upgrading/54.0.0.md.txt
@@ -124,12 +124,15 @@ let mut stats = 
Arc::unwrap_or_clone(plan.partition_statistics(None)?);
 stats.column_statistics[0].min_value = ...;
 ```
 
-### Remove `as_any` from `ScalarUDFImpl`
+### Remove `as_any` from `ScalarUDFImpl`, `AggregateUDFImpl`, and 
`WindowUDFImpl`
 
 Now that we have a more recent minimum version of Rust, we can take advantage 
of
-trait upcasting for Scalar UDFs. This reduces the amount of boilerplate code 
that
-users need to do to create a UDF. In your implementations, you can simply 
remove
-this function. The below diff is an example from the associated PR
+trait upcasting for UDFs. This reduces the amount of boilerplate code that
+users need to do to create a UDF. In your implementations of `ScalarUDFImpl`,
+`AggregateUDFImpl`, and `WindowUDFImpl`, you can simply remove the `as_any`
+function. The below diffs are examples from the associated PRs.
+
+**Scalar UDFs:**
 
 ```diff
  impl ScalarUDFImpl for MyEq {
@@ -145,7 +148,39 @@ this function. The below diff is an example from the 
associated PR
  }
 ```
 
-If you have a function that is downcasting a scalar function, you can replace
+**Aggregate UDFs:**
+
+```diff
+ impl AggregateUDFImpl for GeoMeanUdf {
+-    fn as_any(&self) -> &dyn Any {
+-        self
+-    }
+-
+     fn name(&self) -> &str {
+         "geo_mean"
+     }
+
+     ...
+ }
+```
+
+**Window UDFs:**
+
+```diff
+ impl WindowUDFImpl for SmoothIt {
+-    fn as_any(&self) -> &dyn Any {
+-        self
+-    }
+-
+     fn name(&self) -> &str {
+         "smooth_it"
+     }
+
+     ...
+ }
+```
+
+If you have a function that is downcasting a UDF, you can replace
 the call to `.as_any()` with `.as_ref() as &dyn Any`. For example
 
 **Before:**
diff --git a/library-user-guide/upgrading/54.0.0.html 
b/library-user-guide/upgrading/54.0.0.html
index ec14828ff6..953614d90b 100644
--- a/library-user-guide/upgrading/54.0.0.html
+++ b/library-user-guide/upgrading/54.0.0.html
@@ -510,12 +510,14 @@ to the main branch and are awaiting release in this 
version.</p>
 </pre></div>
 </div>
 </section>
-<section id="remove-as-any-from-scalarudfimpl">
-<h3>Remove <code class="docutils literal notranslate"><span 
class="pre">as_any</span></code> from <code class="docutils literal 
notranslate"><span class="pre">ScalarUDFImpl</span></code><a class="headerlink" 
href="#remove-as-any-from-scalarudfimpl" title="Link to this heading">#</a></h3>
+<section 
id="remove-as-any-from-scalarudfimpl-aggregateudfimpl-and-windowudfimpl">
+<h3>Remove <code class="docutils literal notranslate"><span 
class="pre">as_any</span></code> from <code class="docutils literal 
notranslate"><span class="pre">ScalarUDFImpl</span></code>, <code 
class="docutils literal notranslate"><span 
class="pre">AggregateUDFImpl</span></code>, and <code class="docutils literal 
notranslate"><span class="pre">WindowUDFImpl</span></code><a class="headerlink" 
href="#remove-as-any-from-scalarudfimpl-aggregateudfimpl-and-windowudfimpl" 
title="Link to this h [...]
 <p>Now that we have a more recent minimum version of Rust, we can take 
advantage of
-trait upcasting for Scalar UDFs. This reduces the amount of boilerplate code 
that
-users need to do to create a UDF. In your implementations, you can simply 
remove
-this function. The below diff is an example from the associated PR</p>
+trait upcasting for UDFs. This reduces the amount of boilerplate code that
+users need to do to create a UDF. In your implementations of <code 
class="docutils literal notranslate"><span 
class="pre">ScalarUDFImpl</span></code>,
+<code class="docutils literal notranslate"><span 
class="pre">AggregateUDFImpl</span></code>, and <code class="docutils literal 
notranslate"><span class="pre">WindowUDFImpl</span></code>, you can simply 
remove the <code class="docutils literal notranslate"><span 
class="pre">as_any</span></code>
+function. The below diffs are examples from the associated PRs.</p>
+<p><strong>Scalar UDFs:</strong></p>
 <div class="highlight-diff notranslate"><div 
class="highlight"><pre><span></span><span class="w"> </span>impl ScalarUDFImpl 
for MyEq {
 <span class="gd">-    fn as_any(&amp;self) -&gt; &amp;dyn Any {</span>
 <span class="gd">-        self</span>
@@ -529,7 +531,35 @@ this function. The below diff is an example from the 
associated PR</p>
 <span class="w"> </span>}
 </pre></div>
 </div>
-<p>If you have a function that is downcasting a scalar function, you can 
replace
+<p><strong>Aggregate UDFs:</strong></p>
+<div class="highlight-diff notranslate"><div 
class="highlight"><pre><span></span><span class="w"> </span>impl 
AggregateUDFImpl for GeoMeanUdf {
+<span class="gd">-    fn as_any(&amp;self) -&gt; &amp;dyn Any {</span>
+<span class="gd">-        self</span>
+<span class="gd">-    }</span>
+<span class="gd">-</span>
+<span class="w"> </span>    fn name(&amp;self) -&gt; &amp;str {
+<span class="w"> </span>        &quot;geo_mean&quot;
+<span class="w"> </span>    }
+
+<span class="w"> </span>    ...
+<span class="w"> </span>}
+</pre></div>
+</div>
+<p><strong>Window UDFs:</strong></p>
+<div class="highlight-diff notranslate"><div 
class="highlight"><pre><span></span><span class="w"> </span>impl WindowUDFImpl 
for SmoothIt {
+<span class="gd">-    fn as_any(&amp;self) -&gt; &amp;dyn Any {</span>
+<span class="gd">-        self</span>
+<span class="gd">-    }</span>
+<span class="gd">-</span>
+<span class="w"> </span>    fn name(&amp;self) -&gt; &amp;str {
+<span class="w"> </span>        &quot;smooth_it&quot;
+<span class="w"> </span>    }
+
+<span class="w"> </span>    ...
+<span class="w"> </span>}
+</pre></div>
+</div>
+<p>If you have a function that is downcasting a UDF, you can replace
 the call to <code class="docutils literal notranslate"><span 
class="pre">.as_any()</span></code> with <code class="docutils literal 
notranslate"><span class="pre">.as_ref()</span> <span class="pre">as</span> 
<span class="pre">&amp;dyn</span> <span class="pre">Any</span></code>. For 
example</p>
 <p><strong>Before:</strong></p>
 <div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="kd">let</span><span class="w"> 
</span><span class="n">is_async</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="n">func</span>
@@ -639,7 +669,7 @@ timezone-naive.</p></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#datafusion-54-0-0">DataFusion 54.0.0</a><ul class="nav section-nav 
flex-column">
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#executionplan-apply-expressions-is-now-a-required-method"><code 
class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::apply_expressions</span></code> is now a required 
method</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#executionplan-partition-statistics-now-returns-arc-statistics"><code 
class="docutils literal notranslate"><span 
class="pre">ExecutionPlan::partition_statistics</span></code> now returns <code 
class="docutils literal notranslate"><span 
class="pre">Arc&lt;Statistics&gt;</span></code></a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#remove-as-any-from-scalarudfimpl">Remove <code class="docutils literal 
notranslate"><span class="pre">as_any</span></code> from <code class="docutils 
literal notranslate"><span class="pre">ScalarUDFImpl</span></code></a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#remove-as-any-from-scalarudfimpl-aggregateudfimpl-and-windowudfimpl">Remove
 <code class="docutils literal notranslate"><span 
class="pre">as_any</span></code> from <code class="docutils literal 
notranslate"><span class="pre">ScalarUDFImpl</span></code>, <code 
class="docutils literal notranslate"><span 
class="pre">AggregateUDFImpl</span></code>, and <code class="docutils literal 
notranslate"><span class="pr [...]
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#avro-api-and-timestamp-decoding-changes">Avro API and timestamp decoding 
changes</a></li>
 </ul>
 </li>
diff --git a/searchindex.js b/searchindex.js
index de6f167cd3..1378713ae8 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[72,"op-neq"]],"!~":[[72,"op-re-not-match"]],"!~*":[[72,"op-re-not-match-i"]],"!~~":[[72,"id19"]],"!~~*":[[72,"id20"]],"#":[[72,"op-bit-xor"]],"%":[[72,"op-modulo"]],"&":[[72,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[14,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[72,"op-multiply"]],"+":[[72,"op-plus"]],"-":[[72,"op-minus"]],"/":[[72,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[72,"op-neq"]],"!~":[[72,"op-re-not-match"]],"!~*":[[72,"op-re-not-match-i"]],"!~~":[[72,"id19"]],"!~~*":[[72,"id20"]],"#":[[72,"op-bit-xor"]],"%":[[72,"op-modulo"]],"&":[[72,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[14,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[72,"op-multiply"]],"+":[[72,"op-plus"]],"-":[[72,"op-minus"]],"/":[[72,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file


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

Reply via email to