We also set expansion to true in our compiler. The question I have "why would you NOT set expansion?"
In the absence of expansion the meaning of the query remains ambiguous - or maybe there is an expectation that the query will be submitted for further processing to some other stages that will disambiguate names again. Mihai ________________________________ From: Dmitry Sysolyatin <dm.sysolya...@gmail.com> Sent: Friday, August 29, 2025 12:39 AM To: dev@calcite.apache.org <dev@calcite.apache.org> Subject: [Question] Should identifierExpansion be true by default in SqlValidator.Config.DEFAULT? I created a bug related to identifierExpansion [1], and there was another similar bug [2]. But my question is not about the bugs, though it’s related. My question is: should identifierExpansion be true by default instead of false? As a library user, I would expect that using public components with default configs means using the most tested behavior. But currently, that’s not the case. Almost all tests assume identifierExpansion = true. Either the test overrides it, or it uses PlannerImpl, which also sets it to true. Another question: what is the future of identifierExpansion? Should we focus on cases when it is false and eventually make false the default everywhere? [1] https://issues.apache.org/jira/browse/CALCITE-7151 [2] https://issues.apache.org/jira/browse/CALCITE-6853