[ 
https://issues.apache.org/jira/browse/CALCITE-7243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18032813#comment-18032813
 ] 

Mihai Budiu commented on CALCITE-7243:
--------------------------------------

There are many data structures used in manipulating programs, and indeed 
sometimes one can reach a data structure through different paths. This can be a 
problem is the structures reached through these paths are actually different.

There are no clear rules which one of the data structures (e.g., config) will 
be used. There is really an implicit assumption that all these pointers lead to 
the same object.

So I think the solution is to strive to make sure there is exactly one 
constructor invoked for each one of these objects in your code.

> Rules in RelDecorrelator not using config of RelBuilder passed in
> -----------------------------------------------------------------
>
>                 Key: CALCITE-7243
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7243
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Steve Carlin
>            Priority: Major
>
> So I think this is a bug, but I'm not sure I have a complete understanding of 
> the code.
> One rule used in RelDecorrelator is on this line:
> [https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java#L296]
> Here, it uses the rule with what seemingly is the RelBuilder that is passed 
> into the RelDecorrelator as shown in this line:
> [https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java#L281]
> I think the problem is that the RelBuilder needs a Context or a Factory 
> passed in.  It doesn't seem meant to handle a RelBuilder itself?  
> Not sure how to fix this, but I hit this problem when I needed to use my own 
> RelBuilder containing a value within my RelBuilder.Config, and it was not 
> using my RelBuilder in this rule.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to