darpan-14 opened a new pull request, #5394: URL: https://github.com/apache/calcite/pull/5394
## Jira Link [CALCITE-7918](https://issues.apache.org/jira/browse/CALCITE-7918) ## Changes Proposed **Part 2 of 2: cache case-insensitive field-name lookups in `RelRecordType`. Depends on #5391.** [Review only this layer](https://github.com/darpan-14/calcite/compare/CALCITE-7918...CALCITE-7918-case-insensitive) ยท [Second-layer commit](https://github.com/darpan-14/calcite/commit/b3a8c614b3216c285f2fa1f31c749a256083d363). After the first PR routes ambiguity checks through `SqlNameMatcher`, case-insensitive matching still scans the field list. This change adds an independent lazy case-insensitive index for wide record types, retaining all duplicate matches in field order. Its hash keys preserve the running JDK's `String.equalsIgnoreCase` semantics, including Unicode case variants. The existing exact index remains independent: a lookup initializes only the index for its requested matching policy. Tests cover Unicode, repeated lookups without rescanning field names, and concurrent initialization. ## Dependency and review order GitHub does not support a stack across a fork and upstream. Both PRs therefore target `apache/calcite:main`, and this branch contains #5391 followed by one case-insensitive-index commit. The comparison above shows only the second layer. Merge #5391 first; this branch then needs rebasing onto the merged result before merging this PR. ## Validation 27 focused tests passed: the 21 tests from the first stage plus 6 case-insensitive-index tests covering Unicode, repeated lookup and concurrent initialization. Core Checkstyle (main/test), Autostyle, Javadoc and `git diff --check` also passed. The full Gradle build was not run. Previously posted timings describe the original combined patch, including qualified-column reuse; they are not measurements of this PR in isolation. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
