[
https://issues.apache.org/jira/browse/CAY-1210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980706#action_12980706
]
Andrus Adamchik commented on CAY-1210:
--------------------------------------
As recap of this thread on the dev list:
http://markmail.org/message/pakh6dyzfsi5d2hr I am documenting a solution that
we'll implement in 3.1:
* LIKE and LIKE IGNORE CASE processing in SelectQuery and EJBQLQuery should be
abstracted in a strategy interface
(org.apache.cayenne.access.jdbc.LikeClauseGeneratorStrategy)
* Such strategy should be provided by DbAdapter.
* A strategy can be overridden via RuntimeProperties service (meaning this can
be done either via DI or from command line).
* A name for the strategy property override is
"cayenne.runtime.likeclausegenerator"
> 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.1M1
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.