I just saw CALCITE-7324 [1] so I assume the question is somewhat
related to that ticket as well. It also seems that the "BTW" part of
my previous answer is covered :)

[1] https://issues.apache.org/jira/browse/CALCITE-7324

On Thu, Dec 11, 2025 at 9:57 AM Stamatis Zampetakis <[email protected]> wrote:
>
> Hey Ian,
>
> It sounds like that in the single join example the
> CorrelateProjectExtractor [1] is kicking in and simplifies the
> decorrelation while in the case of two joins the extractor does not
> kick in so we are passing from the generic decorrelation logic.
>
> BTW, it would be helpful if in the future you send sample queries that
> are human-friendly and the plans closer to the default Calcite
> representation. It takes a bit more effort to prepare the message but
> it is much easier for people contributing to the project to go over
> them (potentially run them) and provide feedback. In fact, you could
> even go one step further and build a test case in Calcite (e.g., in
> RelDecorrelatorTest [2]) that could potentially give you the answer or
> prepare the road for a solid contribution to the project.
>
> Best,
> Stamatis
>
> [1] 
> https://github.com/apache/calcite/blob/e5682547cb07320634f4b1f335b50abb13f30cac/core/src/main/java/org/apache/calcite/sql2rel/CorrelateProjectExtractor.java
> [2] 
> https://github.com/apache/calcite/blob/e5682547cb07320634f4b1f335b50abb13f30cac/core/src/test/java/org/apache/calcite/sql2rel/RelDecorrelatorTest.java
>
> On Wed, Dec 10, 2025 at 10:53 PM Ian Bertolacci via dev
> <[email protected]> wrote:
> >
> > > using some constant reduction rules prior to decorrelation you can 
> > > optimize the constant addition away
> >
> > The constant addition is just a simple demonstration of the issue.
> > We’ve also seen this with other expressions which are not constant-foldable.
> > -Ian
> >

Reply via email to