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

github-actions[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 39ffe09b7e Publish built docs triggered by 
3f816137306112f75b412e2806abd24fed0b916f
39ffe09b7e is described below

commit 39ffe09b7eed5e1c3090459fddddf06798593a0d
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Jul 24 13:24:28 2026 +0000

    Publish built docs triggered by 3f816137306112f75b412e2806abd24fed0b916f
---
 .../library-user-guide/upgrading/55.0.0.md.txt     | 34 ++++++++++++++++++++++
 library-user-guide/upgrading/55.0.0.html           | 29 ++++++++++++++++++
 searchindex.js                                     |  2 +-
 3 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/_sources/library-user-guide/upgrading/55.0.0.md.txt 
b/_sources/library-user-guide/upgrading/55.0.0.md.txt
index 57da7b7dac..5f1609af30 100644
--- a/_sources/library-user-guide/upgrading/55.0.0.md.txt
+++ b/_sources/library-user-guide/upgrading/55.0.0.md.txt
@@ -276,6 +276,40 @@ it was `None`), that code can simply be deleted.
 
 See [issue #22775](https://github.com/apache/datafusion/issues/22775) for 
details.
 
+### `GroupsAccumulator::convert_to_state` is now required
+
+`datafusion_expr_common::groups_accumulator::GroupsAccumulator::convert_to_state`
+no longer provides a default implementation, and the
+`GroupsAccumulator::supports_convert_to_state` capability method has been
+removed. All `GroupsAccumulator` implementations must now support converting
+input batches directly to intermediate aggregate state.
+
+**Who is affected:**
+
+- Users with custom `GroupsAccumulator` implementations.
+- FFI providers and consumers that use `FFI_GroupsAccumulator`.
+
+**Migration guide:**
+
+Custom `GroupsAccumulator` implementations must now provide their own
+`convert_to_state` implementation.
+
+Delete `supports_convert_to_state` implementations because `convert_to_state`
+is now required:
+
+```diff
+- fn supports_convert_to_state(&self) -> bool {
+-     true
+- }
+```
+
+The `supports_convert_to_state` field has also been removed from
+`datafusion_ffi::udaf::groups_accumulator::FFI_GroupsAccumulator`, changing its
+ABI layout. Rebuild both FFI providers and consumers against DataFusion 55, and
+do not exchange this struct with libraries built against older major versions.
+
+See [issue #23081](https://github.com/apache/datafusion/issues/23081) for 
details.
+
 ### `is_dynamic_physical_expr` is deprecated
 
 `datafusion_physical_expr_common::physical_expr::is_dynamic_physical_expr` is
diff --git a/library-user-guide/upgrading/55.0.0.html 
b/library-user-guide/upgrading/55.0.0.html
index 89bbad9fc4..139e680e46 100644
--- a/library-user-guide/upgrading/55.0.0.html
+++ b/library-user-guide/upgrading/55.0.0.html
@@ -661,6 +661,34 @@ call sites:</p>
 it was <code class="docutils literal notranslate"><span 
class="pre">None</span></code>), that code can simply be deleted.</p>
 <p>See <a class="reference external" 
href="https://github.com/apache/datafusion/issues/22775";>issue #22775</a> for 
details.</p>
 </section>
+<section id="groupsaccumulator-convert-to-state-is-now-required">
+<h3><code class="docutils literal notranslate"><span 
class="pre">GroupsAccumulator::convert_to_state</span></code> is now required<a 
class="headerlink" href="#groupsaccumulator-convert-to-state-is-now-required" 
title="Link to this heading">#</a></h3>
+<p><code class="docutils literal notranslate"><span 
class="pre">datafusion_expr_common::groups_accumulator::GroupsAccumulator::convert_to_state</span></code>
+no longer provides a default implementation, and the
+<code class="docutils literal notranslate"><span 
class="pre">GroupsAccumulator::supports_convert_to_state</span></code> 
capability method has been
+removed. All <code class="docutils literal notranslate"><span 
class="pre">GroupsAccumulator</span></code> implementations must now support 
converting
+input batches directly to intermediate aggregate state.</p>
+<p><strong>Who is affected:</strong></p>
+<ul class="simple">
+<li><p>Users with custom <code class="docutils literal notranslate"><span 
class="pre">GroupsAccumulator</span></code> implementations.</p></li>
+<li><p>FFI providers and consumers that use <code class="docutils literal 
notranslate"><span class="pre">FFI_GroupsAccumulator</span></code>.</p></li>
+</ul>
+<p><strong>Migration guide:</strong></p>
+<p>Custom <code class="docutils literal notranslate"><span 
class="pre">GroupsAccumulator</span></code> implementations must now provide 
their own
+<code class="docutils literal notranslate"><span 
class="pre">convert_to_state</span></code> implementation.</p>
+<p>Delete <code class="docutils literal notranslate"><span 
class="pre">supports_convert_to_state</span></code> implementations because 
<code class="docutils literal notranslate"><span 
class="pre">convert_to_state</span></code>
+is now required:</p>
+<div class="highlight-diff notranslate"><div 
class="highlight"><pre><span></span><span class="gd">- fn 
supports_convert_to_state(&amp;self) -&gt; bool {</span>
+<span class="gd">-     true</span>
+<span class="gd">- }</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">supports_convert_to_state</span></code> field has also been removed 
from
+<code class="docutils literal notranslate"><span 
class="pre">datafusion_ffi::udaf::groups_accumulator::FFI_GroupsAccumulator</span></code>,
 changing its
+ABI layout. Rebuild both FFI providers and consumers against DataFusion 55, and
+do not exchange this struct with libraries built against older major 
versions.</p>
+<p>See <a class="reference external" 
href="https://github.com/apache/datafusion/issues/23081";>issue #23081</a> for 
details.</p>
+</section>
 <section id="is-dynamic-physical-expr-is-deprecated">
 <h3><code class="docutils literal notranslate"><span 
class="pre">is_dynamic_physical_expr</span></code> is deprecated<a 
class="headerlink" href="#is-dynamic-physical-expr-is-deprecated" title="Link 
to this heading">#</a></h3>
 <p><code class="docutils literal notranslate"><span 
class="pre">datafusion_physical_expr_common::physical_expr::is_dynamic_physical_expr</span></code>
 is
@@ -1209,6 +1237,7 @@ not expose a catalog can return the new <code 
class="docutils literal notranslat
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#decimal-scalar-formatting-uses-human-readable-values">Decimal scalar 
formatting uses human-readable values</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#coercion-supports-dictionary-encoding-preservation"><code 
class="docutils literal notranslate"><span class="pre">Coercion</span></code> 
supports dictionary encoding preservation</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#groupsaccumulator-merge-batch-no-longer-takes-opt-filter"><code 
class="docutils literal notranslate"><span 
class="pre">GroupsAccumulator::merge_batch</span></code> no longer takes <code 
class="docutils literal notranslate"><span 
class="pre">opt_filter</span></code></a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#groupsaccumulator-convert-to-state-is-now-required"><code 
class="docutils literal notranslate"><span 
class="pre">GroupsAccumulator::convert_to_state</span></code> is now 
required</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#is-dynamic-physical-expr-is-deprecated"><code class="docutils literal 
notranslate"><span class="pre">is_dynamic_physical_expr</span></code> is 
deprecated</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#filepruner-try-new-no-longer-builds-a-pruner-for-static-predicates-without-statistics"><code
 class="docutils literal notranslate"><span 
class="pre">FilePruner::try_new</span></code> no longer builds a pruner for 
static predicates without statistics</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#queryplanner-adds-any-as-a-supertrait"><code class="docutils literal 
notranslate"><span class="pre">QueryPlanner</span></code> adds <code 
class="docutils literal notranslate"><span class="pre">Any</span></code> as a 
supertrait</a></li>
diff --git a/searchindex.js b/searchindex.js
index 952003ba86..0faa35fb90 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[74,"op-neq"]],"!~":[[74,"op-re-not-match"]],"!~*":[[74,"op-re-not-match-i"]],"!~~":[[74,"id19"]],"!~~*":[[74,"id20"]],"#":[[74,"op-bit-xor"]],"%":[[74,"op-modulo"]],"&":[[74,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[15,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[74,"op-multiply"]],"+":[[74,"op-plus"]],"-":[[74,"op-minus"]],"/":[[74,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[74,"op-neq"]],"!~":[[74,"op-re-not-match"]],"!~*":[[74,"op-re-not-match-i"]],"!~~":[[74,"id19"]],"!~~*":[[74,"id20"]],"#":[[74,"op-bit-xor"]],"%":[[74,"op-modulo"]],"&":[[74,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[15,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[74,"op-multiply"]],"+":[[74,"op-plus"]],"-":[[74,"op-minus"]],"/":[[74,"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