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]

Reply via email to