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 24624c8174 Publish built docs triggered by 
adddd4c32b504f482d23dd2e0767e65292353f85
24624c8174 is described below

commit 24624c8174c9e615a45f81e15152158ac87f1bb7
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Jan 27 05:23:13 2026 +0000

    Publish built docs triggered by adddd4c32b504f482d23dd2e0767e65292353f85
---
 _sources/library-user-guide/upgrading.md.txt | 33 ++++++++++++++++++++++++++++
 library-user-guide/upgrading.html            | 30 +++++++++++++++++++++++++
 searchindex.js                               |  2 +-
 3 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/_sources/library-user-guide/upgrading.md.txt 
b/_sources/library-user-guide/upgrading.md.txt
index 916ff4a82b..6043c81d14 100644
--- a/_sources/library-user-guide/upgrading.md.txt
+++ b/_sources/library-user-guide/upgrading.md.txt
@@ -154,6 +154,39 @@ The builder pattern is more efficient as it computes 
properties once during `bui
 
 Note: `with_default_selectivity()` is not deprecated as it simply updates a 
field value and does not require the overhead of the builder pattern.
 
+### `generate_series` and `range` table functions changed
+
+The `generate_series` and `range` table functions now return an empty set when 
the interval is invalid, instead of an error.
+This behavior is consistent with systems like PostgreSQL.
+
+Before:
+
+```sql
+> select * from generate_series(0, -1);
+Error during planning: Start is bigger than end, but increment is positive: 
Cannot generate infinite series
+
+> select * from range(0, -1);
+Error during planning: Start is bigger than end, but increment is positive: 
Cannot generate infinite series
+```
+
+Now:
+
+```sql
+> select * from generate_series(0, -1);
++-------+
+| value |
++-------+
++-------+
+0 row(s) fetched.
+
+> select * from range(0, -1);
++-------+
+| value |
++-------+
++-------+
+0 row(s) fetched.
+```
+
 ## DataFusion `52.0.0`
 
 ### Changes to DFSchema API
diff --git a/library-user-guide/upgrading.html 
b/library-user-guide/upgrading.html
index 764e5f265e..ef51785cd4 100644
--- a/library-user-guide/upgrading.html
+++ b/library-user-guide/upgrading.html
@@ -516,6 +516,35 @@
 <p>The builder pattern is more efficient as it computes properties once during 
<code class="docutils literal notranslate"><span 
class="pre">build()</span></code> rather than recomputing them for each method 
call.</p>
 <p>Note: <code class="docutils literal notranslate"><span 
class="pre">with_default_selectivity()</span></code> is not deprecated as it 
simply updates a field value and does not require the overhead of the builder 
pattern.</p>
 </section>
+<section id="generate-series-and-range-table-functions-changed">
+<h3><code class="docutils literal notranslate"><span 
class="pre">generate_series</span></code> and <code class="docutils literal 
notranslate"><span class="pre">range</span></code> table functions changed<a 
class="headerlink" href="#generate-series-and-range-table-functions-changed" 
title="Link to this heading">#</a></h3>
+<p>The <code class="docutils literal notranslate"><span 
class="pre">generate_series</span></code> and <code class="docutils literal 
notranslate"><span class="pre">range</span></code> table functions now return 
an empty set when the interval is invalid, instead of an error.
+This behavior is consistent with systems like PostgreSQL.</p>
+<p>Before:</p>
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">select</span><span class="w"> </span><span 
class="o">*</span><span class="w"> </span><span class="k">from</span><span 
class="w"> </span><span class="n">generate_series</span><span 
class="p">(</span><span class="mi">0</span><span class="p">,</span><span 
class="w"> </span><span class="o">-</span><span class="mi">1</span><span 
class="p">);</span>
+<span class="n">Error</span><span class="w"> </span><span 
class="n">during</span><span class="w"> </span><span 
class="n">planning</span><span class="p">:</span><span class="w"> </span><span 
class="k">Start</span><span class="w"> </span><span class="k">is</span><span 
class="w"> </span><span class="n">bigger</span><span class="w"> </span><span 
class="k">than</span><span class="w"> </span><span class="k">end</span><span 
class="p">,</span><span class="w"> </span><span class="n">but</span><sp [...]
+
+<span class="o">&gt;</span><span class="w"> </span><span 
class="k">select</span><span class="w"> </span><span class="o">*</span><span 
class="w"> </span><span class="k">from</span><span class="w"> </span><span 
class="n">range</span><span class="p">(</span><span class="mi">0</span><span 
class="p">,</span><span class="w"> </span><span class="o">-</span><span 
class="mi">1</span><span class="p">);</span>
+<span class="n">Error</span><span class="w"> </span><span 
class="n">during</span><span class="w"> </span><span 
class="n">planning</span><span class="p">:</span><span class="w"> </span><span 
class="k">Start</span><span class="w"> </span><span class="k">is</span><span 
class="w"> </span><span class="n">bigger</span><span class="w"> </span><span 
class="k">than</span><span class="w"> </span><span class="k">end</span><span 
class="p">,</span><span class="w"> </span><span class="n">but</span><sp [...]
+</pre></div>
+</div>
+<p>Now:</p>
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">select</span><span class="w"> </span><span 
class="o">*</span><span class="w"> </span><span class="k">from</span><span 
class="w"> </span><span class="n">generate_series</span><span 
class="p">(</span><span class="mi">0</span><span class="p">,</span><span 
class="w"> </span><span class="o">-</span><span class="mi">1</span><span 
class="p">);</span>
+<span class="o">+</span><span class="c1">-------+</span>
+<span class="o">|</span><span class="w"> </span><span 
class="n">value</span><span class="w"> </span><span class="o">|</span>
+<span class="o">+</span><span class="c1">-------+</span>
+<span class="o">+</span><span class="c1">-------+</span>
+<span class="mi">0</span><span class="w"> </span><span 
class="k">row</span><span class="p">(</span><span class="n">s</span><span 
class="p">)</span><span class="w"> </span><span class="n">fetched</span><span 
class="p">.</span>
+
+<span class="o">&gt;</span><span class="w"> </span><span 
class="k">select</span><span class="w"> </span><span class="o">*</span><span 
class="w"> </span><span class="k">from</span><span class="w"> </span><span 
class="n">range</span><span class="p">(</span><span class="mi">0</span><span 
class="p">,</span><span class="w"> </span><span class="o">-</span><span 
class="mi">1</span><span class="p">);</span>
+<span class="o">+</span><span class="c1">-------+</span>
+<span class="o">|</span><span class="w"> </span><span 
class="n">value</span><span class="w"> </span><span class="o">|</span>
+<span class="o">+</span><span class="c1">-------+</span>
+<span class="o">+</span><span class="c1">-------+</span>
+<span class="mi">0</span><span class="w"> </span><span 
class="k">row</span><span class="p">(</span><span class="n">s</span><span 
class="p">)</span><span class="w"> </span><span class="n">fetched</span><span 
class="p">.</span>
+</pre></div>
+</div>
+</section>
 </section>
 <section id="datafusion-52-0-0">
 <h2>DataFusion <code class="docutils literal notranslate"><span 
class="pre">52.0.0</span></code><a class="headerlink" href="#datafusion-52-0-0" 
title="Link to this heading">#</a></h2>
@@ -2229,6 +2258,7 @@ take care of constructing the <code class="docutils 
literal notranslate"><span c
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#datafusion-53-0-0">DataFusion <code class="docutils literal 
notranslate"><span class="pre">53.0.0</span></code></a><ul class="nav 
section-nav flex-column">
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#simplifyinfo-trait-removed-simplifycontext-now-uses-builder-style-api"><code
 class="docutils literal notranslate"><span 
class="pre">SimplifyInfo</span></code> trait removed, <code class="docutils 
literal notranslate"><span class="pre">SimplifyContext</span></code> now uses 
builder-style API</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#filterexec-builder-methods-deprecated"><code class="docutils literal 
notranslate"><span class="pre">FilterExec</span></code> builder methods 
deprecated</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#generate-series-and-range-table-functions-changed"><code class="docutils 
literal notranslate"><span class="pre">generate_series</span></code> and <code 
class="docutils literal notranslate"><span class="pre">range</span></code> 
table functions changed</a></li>
 </ul>
 </li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#datafusion-52-0-0">DataFusion <code class="docutils literal 
notranslate"><span class="pre">52.0.0</span></code></a><ul class="nav 
section-nav flex-column">
diff --git a/searchindex.js b/searchindex.js
index 7f05dde194..e8cb443641 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[62,"op-neq"]],"!~":[[62,"op-re-not-match"]],"!~*":[[62,"op-re-not-match-i"]],"!~~":[[62,"id19"]],"!~~*":[[62,"id20"]],"#":[[62,"op-bit-xor"]],"%":[[62,"op-modulo"]],"&":[[62,"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"]],"*":[[62,"op-multiply"]],"+":[[62,"op-plus"]],"-":[[62,"op-minus"]],"/":[[62,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[62,"op-neq"]],"!~":[[62,"op-re-not-match"]],"!~*":[[62,"op-re-not-match-i"]],"!~~":[[62,"id19"]],"!~~*":[[62,"id20"]],"#":[[62,"op-bit-xor"]],"%":[[62,"op-modulo"]],"&":[[62,"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"]],"*":[[62,"op-multiply"]],"+":[[62,"op-plus"]],"-":[[62,"op-minus"]],"/":[[62,"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