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 a97232f286 Publish built docs triggered by 
95771daa22508974d3709adfa0b57db3e074ce7d
a97232f286 is described below

commit a97232f286ea5bc5294c6b1b4ff316ed1cd3ec4a
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Sun Jun 8 10:57:52 2025 +0000

    Publish built docs triggered by 95771daa22508974d3709adfa0b57db3e074ce7d
---
 _sources/library-user-guide/upgrading.md.txt | 50 +++++++++++++++++++++++
 library-user-guide/upgrading.html            | 60 ++++++++++++++++++++++++++++
 searchindex.js                               |  2 +-
 3 files changed, 111 insertions(+), 1 deletion(-)

diff --git a/_sources/library-user-guide/upgrading.md.txt 
b/_sources/library-user-guide/upgrading.md.txt
index dd02045cf2..73bb526dfb 100644
--- a/_sources/library-user-guide/upgrading.md.txt
+++ b/_sources/library-user-guide/upgrading.md.txt
@@ -21,6 +21,56 @@
 
 ## DataFusion `48.0.0`
 
+### `Expr::WindowFunction` is now `Box`ed
+
+`Expr::WindowFunction` is now a `Box<WindowFunction>` instead of a 
`WindowFunction` directly.
+This change was made to reduce the size of `Expr` and improve performance when
+planning queries (see [details on #16207]).
+
+This is a breaking change, so you will need to update your code if you match
+on `Expr::WindowFunction` directly. For example, if you have code like this:
+
+```rust
+match expr {
+  Expr::WindowFunction(WindowFunction {
+    params:
+      WindowFunctionParams {
+       partition_by,
+       order_by,
+      ..
+    }
+  }) => {
+    // Use partition_by and order_by as needed
+  }
+  _ => {
+    // other expr
+  }
+}
+```
+
+You will need to change it to:
+
+```rust
+match expr {
+  Expr::WindowFunction(window_fun) => {
+    let WindowFunction {
+      fun,
+      params: WindowFunctionParams {
+        args,
+        partition_by,
+        ..
+        },
+    } = window_fun.as_ref();
+    // Use partition_by and order_by as needed
+  }
+  _ => {
+    // other expr
+  }
+}
+```
+
+[details on #16207]: 
https://github.com/apache/datafusion/pull/16207#issuecomment-2922659103
+
 ### The `VARCHAR` SQL type is now represented as `Utf8View` in Arrow.
 
 The mapping of the SQL `VARCHAR` type has been changed from `Utf8` to 
`Utf8View`
diff --git a/library-user-guide/upgrading.html 
b/library-user-guide/upgrading.html
index 605f8d3227..18c803ea48 100644
--- a/library-user-guide/upgrading.html
+++ b/library-user-guide/upgrading.html
@@ -537,6 +537,22 @@
    </code>
   </a>
   <ul class="nav section-nav flex-column">
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#expr-windowfunction-is-now-boxed">
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       Expr::WindowFunction
+      </span>
+     </code>
+     is now
+     <code class="docutils literal notranslate">
+      <span class="pre">
+       Box
+      </span>
+     </code>
+     ed
+    </a>
+   </li>
    <li class="toc-h3 nav-item toc-entry">
     <a class="reference internal nav-link" 
href="#the-varchar-sql-type-is-now-represented-as-utf8view-in-arrow">
      The
@@ -864,6 +880,50 @@
 <h1>Upgrade Guides<a class="headerlink" href="#upgrade-guides" title="Link to 
this heading">¶</a></h1>
 <section id="datafusion-48-0-0">
 <h2>DataFusion <code class="docutils literal notranslate"><span 
class="pre">48.0.0</span></code><a class="headerlink" href="#datafusion-48-0-0" 
title="Link to this heading">¶</a></h2>
+<section id="expr-windowfunction-is-now-boxed">
+<h3><code class="docutils literal notranslate"><span 
class="pre">Expr::WindowFunction</span></code> is now <code class="docutils 
literal notranslate"><span class="pre">Box</span></code>ed<a class="headerlink" 
href="#expr-windowfunction-is-now-boxed" title="Link to this heading">¶</a></h3>
+<p><code class="docutils literal notranslate"><span 
class="pre">Expr::WindowFunction</span></code> is now a <code class="docutils 
literal notranslate"><span class="pre">Box&lt;WindowFunction&gt;</span></code> 
instead of a <code class="docutils literal notranslate"><span 
class="pre">WindowFunction</span></code> directly.
+This change was made to reduce the size of <code class="docutils literal 
notranslate"><span class="pre">Expr</span></code> and improve performance when
+planning queries (see <a class="reference external" 
href="https://github.com/apache/datafusion/pull/16207#issuecomment-2922659103";>details
 on #16207</a>).</p>
+<p>This is a breaking change, so you will need to update your code if you match
+on <code class="docutils literal notranslate"><span 
class="pre">Expr::WindowFunction</span></code> directly. For example, if you 
have code like this:</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">match</span><span 
class="w"> </span><span class="n">expr</span><span class="w"> </span><span 
class="p">{</span>
+<span class="w">  </span><span class="n">Expr</span><span 
class="p">::</span><span class="n">WindowFunction</span><span 
class="p">(</span><span class="n">WindowFunction</span><span class="w"> 
</span><span class="p">{</span>
+<span class="w">    </span><span class="n">params</span><span 
class="p">:</span>
+<span class="w">      </span><span class="nc">WindowFunctionParams</span><span 
class="w"> </span><span class="p">{</span>
+<span class="w">       </span><span class="n">partition_by</span><span 
class="p">,</span>
+<span class="w">       </span><span class="n">order_by</span><span 
class="p">,</span>
+<span class="w">      </span><span class="o">..</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">  </span><span class="p">})</span><span class="w"> 
</span><span class="o">=&gt;</span><span class="w"> </span><span 
class="p">{</span>
+<span class="w">    </span><span class="c1">// Use partition_by and order_by 
as needed</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="w">  </span><span class="n">_</span><span class="w"> </span><span 
class="o">=&gt;</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="c1">// other expr</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>You will need to change it to:</p>
+<div class="highlight-rust notranslate"><div 
class="highlight"><pre><span></span><span class="k">match</span><span 
class="w"> </span><span class="n">expr</span><span class="w"> </span><span 
class="p">{</span>
+<span class="w">  </span><span class="n">Expr</span><span 
class="p">::</span><span class="n">WindowFunction</span><span 
class="p">(</span><span class="n">window_fun</span><span 
class="p">)</span><span class="w"> </span><span class="o">=&gt;</span><span 
class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="kd">let</span><span class="w"> 
</span><span class="n">WindowFunction</span><span class="w"> </span><span 
class="p">{</span>
+<span class="w">      </span><span class="n">fun</span><span class="p">,</span>
+<span class="w">      </span><span class="n">params</span><span 
class="p">:</span><span class="w"> </span><span 
class="nc">WindowFunctionParams</span><span class="w"> </span><span 
class="p">{</span>
+<span class="w">        </span><span class="n">args</span><span 
class="p">,</span>
+<span class="w">        </span><span class="n">partition_by</span><span 
class="p">,</span>
+<span class="w">        </span><span class="o">..</span>
+<span class="w">        </span><span class="p">},</span>
+<span class="w">    </span><span class="p">}</span><span class="w"> 
</span><span class="o">=</span><span class="w"> </span><span 
class="n">window_fun</span><span class="p">.</span><span 
class="n">as_ref</span><span class="p">();</span>
+<span class="w">    </span><span class="c1">// Use partition_by and order_by 
as needed</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="w">  </span><span class="n">_</span><span class="w"> </span><span 
class="o">=&gt;</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="c1">// other expr</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</section>
 <section id="the-varchar-sql-type-is-now-represented-as-utf8view-in-arrow">
 <h3>The <code class="docutils literal notranslate"><span 
class="pre">VARCHAR</span></code> SQL type is now represented as <code 
class="docutils literal notranslate"><span class="pre">Utf8View</span></code> 
in Arrow.<a class="headerlink" 
href="#the-varchar-sql-type-is-now-represented-as-utf8view-in-arrow" 
title="Link to this heading">¶</a></h3>
 <p>The mapping of the SQL <code class="docutils literal notranslate"><span 
class="pre">VARCHAR</span></code> type has been changed from <code 
class="docutils literal notranslate"><span class="pre">Utf8</span></code> to 
<code class="docutils literal notranslate"><span 
class="pre">Utf8View</span></code>
diff --git a/searchindex.js b/searchindex.js
index 1d7a8fe6a9..8633819a09 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[54,"op-neq"]],"!~":[[54,"op-re-not-match"]],"!~*":[[54,"op-re-not-match-i"]],"!~~":[[54,"id19"]],"!~~*":[[54,"id20"]],"#":[[54,"op-bit-xor"]],"%":[[54,"op-modulo"]],"&":[[54,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[12,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[54,"op-multiply"]],"+":[[54,"op-plus"]],"-":[[54,"op-minus"]],"/":[[54,"op-divide"]],"2022
 Q2":[[10,"q2"]] [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[54,"op-neq"]],"!~":[[54,"op-re-not-match"]],"!~*":[[54,"op-re-not-match-i"]],"!~~":[[54,"id19"]],"!~~*":[[54,"id20"]],"#":[[54,"op-bit-xor"]],"%":[[54,"op-modulo"]],"&":[[54,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[12,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[54,"op-multiply"]],"+":[[54,"op-plus"]],"-":[[54,"op-minus"]],"/":[[54,"op-divide"]],"2022
 Q2":[[10,"q2"]] [...]
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@datafusion.apache.org
For additional commands, e-mail: commits-h...@datafusion.apache.org

Reply via email to