Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pageable sort ignoreCase and derived query feature ignoreCase are not in sync #3540

Open
gbrehmer opened this issue Jul 14, 2024 · 0 comments
Assignees
Labels
type: enhancement A general enhancement

Comments

@gbrehmer
Copy link

gbrehmer commented Jul 14, 2024

Pageable sort is using lower sql function (the variable name is misleading here):

Expression<String> upper = cb.lower((Expression<String>) expression);

Derived method functionality is using upper.

|`IgnoreCase`|`findByFirstnameIgnoreCase`|`… where UPPER(x.firstname) = UPPER(?1)`

So if you use both features, you have to create two db indexes :(
I know that there are several different features which are related to ignoreCase and it seems its hard to sync them all. What about make it configurable on all different places? Because a lot of projects are already using different parts of the features and already have created db indexes. Changes w/o backwards compatibility could produce high load on db servers in production.

the issue report is also related to the latest comments in #2420 which has made the latest changes in the QueryUtils handling and there its also mentioned, that the handling is still not in sync. But like stated above I would not prefer to sync all places now. Instead make it configurable and implement a migration path with next major version e.g. (but still with full control via configuration)

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Jul 14, 2024
@gbrehmer gbrehmer changed the title pageable sort ignore case and derived query feature ignoreCase are not in sync pageable sort ignoreCase and derived query feature ignoreCase are not in sync Jul 14, 2024
@christophstrobl christophstrobl added type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged labels Jul 15, 2024
@christophstrobl christophstrobl self-assigned this Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

3 participants