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

github-bot pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/datafusion-site.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new 7e13cd4  Commit build products
7e13cd4 is described below

commit 7e13cd45a26f8f33cbc37179a147f9d9323b29e7
Author: Build Pelican (action) <[email protected]>
AuthorDate: Sat Jan 24 12:54:04 2026 +0000

    Commit build products
---
 blog/2026/01/08/datafusion-52.0.0/index.html | 19 +++++++++++++++++++
 blog/feeds/all-en.atom.xml                   | 17 +++++++++++++++++
 blog/feeds/blog.atom.xml                     | 17 +++++++++++++++++
 blog/feeds/pmc.atom.xml                      | 17 +++++++++++++++++
 4 files changed, 70 insertions(+)

diff --git a/blog/2026/01/08/datafusion-52.0.0/index.html 
b/blog/2026/01/08/datafusion-52.0.0/index.html
index bca7f3c..cd2715f 100644
--- a/blog/2026/01/08/datafusion-52.0.0/index.html
+++ b/blog/2026/01/08/datafusion-52.0.0/index.html
@@ -48,6 +48,7 @@
           <div class="toc"><span class="toctitle">Contents</span><ul>
 <li><a href="#performance-improvements">Performance Improvements 🚀</a><ul>
 <li><a href="#faster-case-expressions">Faster CASE Expressions</a></li>
+<li><a href="#minmax-aggregate-dynamic-filters">MIN/MAX Aggregate Dynamic 
Filters</a></li>
 <li><a href="#new-merge-join">New Merge Join</a></li>
 <li><a href="#caching-improvements">Caching Improvements</a></li>
 <li><a href="#improved-hash-join-filter-pushdown">Improved Hash Join Filter 
Pushdown</a></li>
@@ -108,6 +109,23 @@ END
 <p>This is the final work in our <code>CASE</code> performance epic (<a 
href="https://github.com/apache/datafusion/issues/18075";>#18075</a>), which has
 improved <code>CASE</code> evaluation significantly. Related PRs <a 
href="https://github.com/apache/datafusion/pull/18183";>#18183</a>. Thanks to
 <a href="https://github.com/rluvaton";>rluvaton</a> and <a 
href="https://github.com/pepijnve";>pepijnve</a> for the implementation.</p>
+<h3 id="minmax-aggregate-dynamic-filters"><code>MIN</code>/<code>MAX</code> 
Aggregate Dynamic Filters<a class="headerlink" 
href="#minmax-aggregate-dynamic-filters" title="Permanent link">¶</a></h3>
+<p>DataFusion now creates dynamic filters for queries with 
<code>MIN</code>/<code>MAX</code> aggregates
+that have filters, but no <code>GROUP BY</code>. These dynamic filters are 
used during scan
+to prune files and rows as tighter bounds are discovered during execution, as
+explained in the <a 
href="https://datafusion.apache.org/blog/2025/09/10/dynamic-filters/#hash-join-dynamic-filters";>Dynamic
 Filtering blog</a>. For example, the following query:</p>
+<pre><code class="language-sql">SELECT min(l_shipdate)
+FROM lineitem
+WHERE l_returnflag = 'R';
+</code></pre>
+<p>Is now executed like this  </p>
+<pre><code class="language-sql">SELECT min(l_shipdate)
+FROM lineitem
+--  '__current_min' is updated dynamically during execution
+WHERE l_returnflag = 'R' AND l_shipdate &gt; __current_min;
+</code></pre>
+<p>Thanks to <a href="https://github.com/2010YOUY01";>2010YOUY01</a> for 
implementing this feature, with reviews from
+<a href="https://github.com/martin-g";>martin-g</a>, <a 
href="https://github.com/adriangb";>adriangb</a>, and <a 
href="https://github.com/LiaCastaneda";>LiaCastaneda</a>. Related PRs: <a 
href="https://github.com/apache/datafusion/pull/18644";>#18644</a></p>
 <h3 id="new-merge-join">New Merge Join<a class="headerlink" 
href="#new-merge-join" title="Permanent link">¶</a></h3>
 <p>DataFusion 52 includes a rewrite of the sort-merge join (SMJ) operator, with
 speedups of three orders of magnitude in some pathological cases such as the
@@ -296,6 +314,7 @@ can find out how to reach us on the <a 
href="https://datafusion.apache.org/contr
         <div class="toc"><span class="toctitle">Contents</span><ul>
 <li><a href="#performance-improvements">Performance Improvements 🚀</a><ul>
 <li><a href="#faster-case-expressions">Faster CASE Expressions</a></li>
+<li><a href="#minmax-aggregate-dynamic-filters">MIN/MAX Aggregate Dynamic 
Filters</a></li>
 <li><a href="#new-merge-join">New Merge Join</a></li>
 <li><a href="#caching-improvements">Caching Improvements</a></li>
 <li><a href="#improved-hash-join-filter-pushdown">Improved Hash Join Filter 
Pushdown</a></li>
diff --git a/blog/feeds/all-en.atom.xml b/blog/feeds/all-en.atom.xml
index ab1efa7..a776446 100644
--- a/blog/feeds/all-en.atom.xml
+++ b/blog/feeds/all-en.atom.xml
@@ -346,6 +346,23 @@ END
 &lt;p&gt;This is the final work in our &lt;code&gt;CASE&lt;/code&gt; 
performance epic (&lt;a 
href="https://github.com/apache/datafusion/issues/18075"&gt;#18075&lt;/a&gt;), 
which has
 improved &lt;code&gt;CASE&lt;/code&gt; evaluation significantly. Related PRs 
&lt;a 
href="https://github.com/apache/datafusion/pull/18183"&gt;#18183&lt;/a&gt;. 
Thanks to
 &lt;a href="https://github.com/rluvaton"&gt;rluvaton&lt;/a&gt; and &lt;a 
href="https://github.com/pepijnve"&gt;pepijnve&lt;/a&gt; for the 
implementation.&lt;/p&gt;
+&lt;h3 
id="minmax-aggregate-dynamic-filters"&gt;&lt;code&gt;MIN&lt;/code&gt;/&lt;code&gt;MAX&lt;/code&gt;
 Aggregate Dynamic Filters&lt;a class="headerlink" 
href="#minmax-aggregate-dynamic-filters" title="Permanent 
link"&gt;¶&lt;/a&gt;&lt;/h3&gt;
+&lt;p&gt;DataFusion now creates dynamic filters for queries with 
&lt;code&gt;MIN&lt;/code&gt;/&lt;code&gt;MAX&lt;/code&gt; aggregates
+that have filters, but no &lt;code&gt;GROUP BY&lt;/code&gt;. These dynamic 
filters are used during scan
+to prune files and rows as tighter bounds are discovered during execution, as
+explained in the &lt;a 
href="https://datafusion.apache.org/blog/2025/09/10/dynamic-filters/#hash-join-dynamic-filters"&gt;Dynamic
 Filtering blog&lt;/a&gt;. For example, the following query:&lt;/p&gt;
+&lt;pre&gt;&lt;code class="language-sql"&gt;SELECT min(l_shipdate)
+FROM lineitem
+WHERE l_returnflag = 'R';
+&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;Is now executed like this  &lt;/p&gt;
+&lt;pre&gt;&lt;code class="language-sql"&gt;SELECT min(l_shipdate)
+FROM lineitem
+--  '__current_min' is updated dynamically during execution
+WHERE l_returnflag = 'R' AND l_shipdate &amp;gt; __current_min;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;Thanks to &lt;a 
href="https://github.com/2010YOUY01"&gt;2010YOUY01&lt;/a&gt; for implementing 
this feature, with reviews from
+&lt;a href="https://github.com/martin-g"&gt;martin-g&lt;/a&gt;, &lt;a 
href="https://github.com/adriangb"&gt;adriangb&lt;/a&gt;, and &lt;a 
href="https://github.com/LiaCastaneda"&gt;LiaCastaneda&lt;/a&gt;. Related PRs: 
&lt;a 
href="https://github.com/apache/datafusion/pull/18644"&gt;#18644&lt;/a&gt;&lt;/p&gt;
 &lt;h3 id="new-merge-join"&gt;New Merge Join&lt;a class="headerlink" 
href="#new-merge-join" title="Permanent link"&gt;¶&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;DataFusion 52 includes a rewrite of the sort-merge join (SMJ) 
operator, with
 speedups of three orders of magnitude in some pathological cases such as the
diff --git a/blog/feeds/blog.atom.xml b/blog/feeds/blog.atom.xml
index 0254d55..75dec5b 100644
--- a/blog/feeds/blog.atom.xml
+++ b/blog/feeds/blog.atom.xml
@@ -346,6 +346,23 @@ END
 &lt;p&gt;This is the final work in our &lt;code&gt;CASE&lt;/code&gt; 
performance epic (&lt;a 
href="https://github.com/apache/datafusion/issues/18075"&gt;#18075&lt;/a&gt;), 
which has
 improved &lt;code&gt;CASE&lt;/code&gt; evaluation significantly. Related PRs 
&lt;a 
href="https://github.com/apache/datafusion/pull/18183"&gt;#18183&lt;/a&gt;. 
Thanks to
 &lt;a href="https://github.com/rluvaton"&gt;rluvaton&lt;/a&gt; and &lt;a 
href="https://github.com/pepijnve"&gt;pepijnve&lt;/a&gt; for the 
implementation.&lt;/p&gt;
+&lt;h3 
id="minmax-aggregate-dynamic-filters"&gt;&lt;code&gt;MIN&lt;/code&gt;/&lt;code&gt;MAX&lt;/code&gt;
 Aggregate Dynamic Filters&lt;a class="headerlink" 
href="#minmax-aggregate-dynamic-filters" title="Permanent 
link"&gt;¶&lt;/a&gt;&lt;/h3&gt;
+&lt;p&gt;DataFusion now creates dynamic filters for queries with 
&lt;code&gt;MIN&lt;/code&gt;/&lt;code&gt;MAX&lt;/code&gt; aggregates
+that have filters, but no &lt;code&gt;GROUP BY&lt;/code&gt;. These dynamic 
filters are used during scan
+to prune files and rows as tighter bounds are discovered during execution, as
+explained in the &lt;a 
href="https://datafusion.apache.org/blog/2025/09/10/dynamic-filters/#hash-join-dynamic-filters"&gt;Dynamic
 Filtering blog&lt;/a&gt;. For example, the following query:&lt;/p&gt;
+&lt;pre&gt;&lt;code class="language-sql"&gt;SELECT min(l_shipdate)
+FROM lineitem
+WHERE l_returnflag = 'R';
+&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;Is now executed like this  &lt;/p&gt;
+&lt;pre&gt;&lt;code class="language-sql"&gt;SELECT min(l_shipdate)
+FROM lineitem
+--  '__current_min' is updated dynamically during execution
+WHERE l_returnflag = 'R' AND l_shipdate &amp;gt; __current_min;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;Thanks to &lt;a 
href="https://github.com/2010YOUY01"&gt;2010YOUY01&lt;/a&gt; for implementing 
this feature, with reviews from
+&lt;a href="https://github.com/martin-g"&gt;martin-g&lt;/a&gt;, &lt;a 
href="https://github.com/adriangb"&gt;adriangb&lt;/a&gt;, and &lt;a 
href="https://github.com/LiaCastaneda"&gt;LiaCastaneda&lt;/a&gt;. Related PRs: 
&lt;a 
href="https://github.com/apache/datafusion/pull/18644"&gt;#18644&lt;/a&gt;&lt;/p&gt;
 &lt;h3 id="new-merge-join"&gt;New Merge Join&lt;a class="headerlink" 
href="#new-merge-join" title="Permanent link"&gt;¶&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;DataFusion 52 includes a rewrite of the sort-merge join (SMJ) 
operator, with
 speedups of three orders of magnitude in some pathological cases such as the
diff --git a/blog/feeds/pmc.atom.xml b/blog/feeds/pmc.atom.xml
index 9f44274..acb6767 100644
--- a/blog/feeds/pmc.atom.xml
+++ b/blog/feeds/pmc.atom.xml
@@ -62,6 +62,23 @@ END
 &lt;p&gt;This is the final work in our &lt;code&gt;CASE&lt;/code&gt; 
performance epic (&lt;a 
href="https://github.com/apache/datafusion/issues/18075"&gt;#18075&lt;/a&gt;), 
which has
 improved &lt;code&gt;CASE&lt;/code&gt; evaluation significantly. Related PRs 
&lt;a 
href="https://github.com/apache/datafusion/pull/18183"&gt;#18183&lt;/a&gt;. 
Thanks to
 &lt;a href="https://github.com/rluvaton"&gt;rluvaton&lt;/a&gt; and &lt;a 
href="https://github.com/pepijnve"&gt;pepijnve&lt;/a&gt; for the 
implementation.&lt;/p&gt;
+&lt;h3 
id="minmax-aggregate-dynamic-filters"&gt;&lt;code&gt;MIN&lt;/code&gt;/&lt;code&gt;MAX&lt;/code&gt;
 Aggregate Dynamic Filters&lt;a class="headerlink" 
href="#minmax-aggregate-dynamic-filters" title="Permanent 
link"&gt;¶&lt;/a&gt;&lt;/h3&gt;
+&lt;p&gt;DataFusion now creates dynamic filters for queries with 
&lt;code&gt;MIN&lt;/code&gt;/&lt;code&gt;MAX&lt;/code&gt; aggregates
+that have filters, but no &lt;code&gt;GROUP BY&lt;/code&gt;. These dynamic 
filters are used during scan
+to prune files and rows as tighter bounds are discovered during execution, as
+explained in the &lt;a 
href="https://datafusion.apache.org/blog/2025/09/10/dynamic-filters/#hash-join-dynamic-filters"&gt;Dynamic
 Filtering blog&lt;/a&gt;. For example, the following query:&lt;/p&gt;
+&lt;pre&gt;&lt;code class="language-sql"&gt;SELECT min(l_shipdate)
+FROM lineitem
+WHERE l_returnflag = 'R';
+&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;Is now executed like this  &lt;/p&gt;
+&lt;pre&gt;&lt;code class="language-sql"&gt;SELECT min(l_shipdate)
+FROM lineitem
+--  '__current_min' is updated dynamically during execution
+WHERE l_returnflag = 'R' AND l_shipdate &amp;gt; __current_min;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;Thanks to &lt;a 
href="https://github.com/2010YOUY01"&gt;2010YOUY01&lt;/a&gt; for implementing 
this feature, with reviews from
+&lt;a href="https://github.com/martin-g"&gt;martin-g&lt;/a&gt;, &lt;a 
href="https://github.com/adriangb"&gt;adriangb&lt;/a&gt;, and &lt;a 
href="https://github.com/LiaCastaneda"&gt;LiaCastaneda&lt;/a&gt;. Related PRs: 
&lt;a 
href="https://github.com/apache/datafusion/pull/18644"&gt;#18644&lt;/a&gt;&lt;/p&gt;
 &lt;h3 id="new-merge-join"&gt;New Merge Join&lt;a class="headerlink" 
href="#new-merge-join" title="Permanent link"&gt;¶&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;DataFusion 52 includes a rewrite of the sort-merge join (SMJ) 
operator, with
 speedups of three orders of magnitude in some pathological cases such as the


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

Reply via email to