Nick Riasanovsky created CALCITE-4642:
-----------------------------------------

             Summary: PlannerImpl ignores TypeSystems provided by 
FrameworkConfig
                 Key: CALCITE-4642
                 URL: https://issues.apache.org/jira/browse/CALCITE-4642
             Project: Calcite
          Issue Type: Bug
    Affects Versions: 1.27.0
            Reporter: Nick Riasanovsky


Hi I'm relatively new to calcite, so my apologies if anything here isn't 
helpful.

FrameworkConfig provides the options to set your own typeSystem via 
`Frameworks.newConfigBuilder().typeSystem(myTypeSystem)`. However, when later 
using this in a planner via `Frameworks.getPlanner(config)`, this new 
TypeSystem is always ignored in the implementation.

Looking into the source code, it appears to me that there are two main issues. 
First, the PlannerImpl doesn't extract the typeSystem from the config 
[https://github.com/apache/calcite/blob/4bc916619fd286b2c0cc4d5c653c96a68801d74e/core/src/main/java/org/apache/calcite/prepare/PlannerImpl.java#L108]
 and then when generating the typeFactory it always uses the default 
[https://github.com/apache/calcite/blob/4bc916619fd286b2c0cc4d5c653c96a68801d74e/core/src/main/java/org/apache/calcite/prepare/PlannerImpl.java#L179.]

 

I think this should be a relatively simple change and I'm happy to provide a 
PR, but since I'm new to calcite I will need some input on how to properly 
provide tests for this. I tested this issue with an example with a class that 
copies `RelDataTypeSystem.DEFAULT` except, for setting 
`shouldConvertRaggedUnionTypesToVarying`, but there is probably an easier way 
to test this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to