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

asf-ci-deploy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 90063b799 Website deployed from 
calcite@3b9d9f0acd076410e8acfb6b9fa72ce42de41e10
90063b799 is described below

commit 90063b7994a837da707828e33a08d0b8aad60f47
Author: mihaibudiu <[email protected]>
AuthorDate: Sun Jun 7 00:10:53 2026 +0000

    Website deployed from calcite@3b9d9f0acd076410e8acfb6b9fa72ce42de41e10
---
 docs/history.html | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/docs/history.html b/docs/history.html
index a6254a7df..28c1f155a 100644
--- a/docs/history.html
+++ b/docs/history.html
@@ -216,6 +216,24 @@ Changes the type of the <code class="language-plaintext 
highlighter-rouge">WINDO
 the table functions <code class="language-plaintext 
highlighter-rouge">HOP</code>, <code class="language-plaintext 
highlighter-rouge">TUMBLE</code>, <code class="language-plaintext 
highlighter-rouge">SESSION</code> to match the original
 type of the timestamp column.  These types used to be hardwired to
 <code class="language-plaintext highlighter-rouge">TIMESTAMP(3)</code>.</li>
+  <li>[<a 
href="https://issues.apache.org/jira/browse/CALCITE-7511";>CALCITE-7511</a>]
+This change adds new <code class="language-plaintext 
highlighter-rouge">visit(X)</code> overloads on <code class="language-plaintext 
highlighter-rouge">RelShuttle</code> for <code class="language-plaintext 
highlighter-rouge">TableFunctionScan</code>,
+<code class="language-plaintext highlighter-rouge">Window</code>, <code 
class="language-plaintext highlighter-rouge">Snapshot</code>, <code 
class="language-plaintext highlighter-rouge">Collect</code>, <code 
class="language-plaintext highlighter-rouge">Sample</code>, <code 
class="language-plaintext highlighter-rouge">Uncollect</code>, <code 
class="language-plaintext highlighter-rouge">Combine</code>, <code 
class="language-plaintext highlighter-rouge">ConditionalCorrelate</code>,
+<code class="language-plaintext highlighter-rouge">SortExchange</code>, and 
<code class="language-plaintext highlighter-rouge">TableSpool</code>. The 
corresponding rel class (or its abstract parent)
+now overrides <code class="language-plaintext 
highlighter-rouge">accept(RelShuttle)</code> so dispatch routes through the 
type-specific overload
+instead of <code class="language-plaintext highlighter-rouge">visit(RelNode 
other)</code>. Default implementations are provided in <code 
class="language-plaintext highlighter-rouge">RelShuttleImpl</code>
+and <code class="language-plaintext 
highlighter-rouge">RelHomogeneousShuttle</code>. Callers that implement <code 
class="language-plaintext highlighter-rouge">RelShuttle</code> directly must 
add the
+new <code class="language-plaintext highlighter-rouge">visit(X)</code> 
methods; the compiler will flag missing overrides. Callers that subclassed
+<code class="language-plaintext highlighter-rouge">RelShuttleImpl</code> (or 
<code class="language-plaintext 
highlighter-rouge">RelHomogeneousShuttle</code>) and handled any of these types 
via <code class="language-plaintext highlighter-rouge">instanceof</code>
+checks inside <code class="language-plaintext 
highlighter-rouge">visit(RelNode)</code> should migrate that logic to the 
matching <code class="language-plaintext highlighter-rouge">visit(X)</code> 
override —
+those <code class="language-plaintext highlighter-rouge">instanceof</code> 
branches will silently stop firing for the affected types. Because the
+<code class="language-plaintext highlighter-rouge">accept(RelShuttle)</code> 
override is placed on the abstract parent where one exists, <strong>all</strong>
+subclasses now dispatch through the type-specific overload, including <code 
class="language-plaintext highlighter-rouge">Enumerable*</code> and
+engine-specific variants; for example, <code class="language-plaintext 
highlighter-rouge">EnumerableTableFunctionScan</code> now also routes through
+<code class="language-plaintext 
highlighter-rouge">visit(TableFunctionScan)</code>. This change also adds the 
previously-missing
+<code class="language-plaintext 
highlighter-rouge">RelHomogeneousShuttle.visit(LogicalAsofJoin)</code> 
forwarding override; subclasses that relied
+on <code class="language-plaintext highlighter-rouge">LogicalAsofJoin</code> 
not being routed through their <code class="language-plaintext 
highlighter-rouge">visit(RelNode)</code> override will now see
+it routed there, matching every other rel type in the homogeneous shuttle.</li>
 </ul>
 
 <h4 id="new-features-1-42-0">New features</h4>

Reply via email to