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

Dmitry Sysolyatin commented on CALCITE-7277:
--------------------------------------------

I’m not planning to work on this soon, but hopefully someone else will take it

> Improve test coverage for SqlValidator.Config.DEFAULT
> -----------------------------------------------------
>
>                 Key: CALCITE-7277
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7277
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.41.0
>            Reporter: Dmitry Sysolyatin
>            Priority: Major
>
> Currently, almost all of the Calcite codebase and its tests use an overridden 
> version of SqlValidator.Config.DEFAULT. Example from PlannerImpl:
> {code}
>  sqlValidatorConfig
>             .withDefaultNullCollation(connectionConfig.defaultNullCollation())
>             
> .withLenientOperatorLookup(connectionConfig.lenientOperatorLookup())
>             .withConformance(connectionConfig.conformance())
>             .withIdentifierExpansion(true));
> {code}
> Because of this, the actual {{SqlValidator.Config.DEFAULT}} (which uses 
> withIdentifierExpansion(false)) is mostly untested. When people integrate 
> Calcite components into their products using the default configuration, they 
> often encounter the same issues, we still have several bugs related to 
> withIdentifierExpansion(false). As a result, users simply change their code 
> to use {{SqlValidator.Config.DEFAULT.withIdentifierExpansion(true)}} or 
> something similar, and the underlying issues remain unfixed.
> There are two ways to fix this (probably more):
> 1. Change the default setting. Use the same overrides that we already apply 
> in tests and in most Calcite components (like PlannerImpl). I already sent an 
> email about setting withIdentifierExpansion(true) as the default [1], but 
> there weren’t many replies. If user override DEFAULT, then it is on their own 
> risk to do it
> 2. Improve test coverage for SqlValidator.Config.DEFAULT. Make sure the 
> default configuration is well tested. We could do this by running tests like 
> SqlToRelConverter and others with multiple configurations instead of just 
> one. However, this is not as easy as it sounds, because it may reveal many 
> existing issues.
> [1] https://lists.apache.org/thread/h5f83zc7y7dpr28tm7wthy2jgbhzbhjx



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

Reply via email to