[ 
https://issues.apache.org/jira/browse/CAY-1210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12979519#action_12979519
 ] 

Ari Maniatis commented on CAY-1210:
-----------------------------------

I'd like to solve this one since it also affects other database types and is a 
bit of a performance issue for us right now. What about this as a solution:

* Add new column to Cayenne modeler in the dbAttribute called "case sensitive". 
It is a checkbox which is ticked by default (to preserve existing behaviour).
* Change the SQL generator to not spit out UPPER for those fields

> 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.

Reply via email to