You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Dmitry Sysolyatin (Jira)" <ji...@apache.org> on 2025/11/07 10:34:00 UTC
[jira] [Commented] (CALCITE-7277) Improve test coverage for SqlValidator.Config.DEFAULT
[ 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)