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<WindowFunction></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">=></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">=></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">=></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">=></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