[
https://issues.apache.org/jira/browse/CAY-1210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dzmitry Kazimirchyk updated CAY-1210:
-------------------------------------
Attachment: case-insensitive-search.patch
Improvement of previous patch. It adds BINARY usage for MySQL CS queries Select
and EJBQL when ci is true.
Also I figured out that not only MySQL may have case insensitive databases:
SQLServer and Derby have such dbs too. So, putting UPPER suppression to generic
QualifierTranslator level probably has sense.
> mysql does not use index for case insensitive searches
> ------------------------------------------------------
>
> Key: CAY-1210
> URL: https://issues.apache.org/jira/browse/CAY-1210
> Project: Cayenne
> Issue Type: Improvement
> Components: Database integration
> Reporter: Ari Maniatis
> Assignee: Ari Maniatis
> Fix For: 3.1 (final)
>
> Attachments: case-insensitive-search.patch,
> case-insensitive-search.patch
>
>
> When performing a case insensitive search Cayenne spits out SQL which looks
> like this
> SELECT .... WHERE upper(name) LIKE upper("fred")
> This prevents any index being used for the search. Since mysql already
> performed case insensitive searches on text fields we need to suppress the
> 'upper' functions being used in these situations. All searches on these
> fields are already case insensitive.
> http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira