finding turkish characters in like expression

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

finding turkish characters in like expression

lantis system

hello all...
 
i use memory expression and filter.  FilterObjects returns an empty list if the expression to be filtered has Turkish characters.

For example
Expression exp = XXX.yyy.likeIgnoreCase('%turkish characters(ğüşiöçĞÜŞİÖÇ)%')

and

List list = exp.filterObjects(mylist) ;

Unfortunately list result  is empty.  


Thank you in advance

Reply | Threaded
Open this post in threaded view
|

Re: finding turkish characters in like expression

Andrus Adamchik
Hi there,

I suspect there may be a bug in Cayenne. When building a match Pattern we are using Pattern.CASE_INSENSITIVE flag, while we should probably be using (Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE). We'll investigate.

In the meantime can you please confirm that "match(..)" and "like(..)" expressions work for you? This will narrow the problem to just case-insensitive like.

Thanks,
Andrus



> On Apr 23, 2017, at 11:10 PM, lantis system <[hidden email]> wrote:
>
>
> hello all...
>
> i use memory expression and filter.  FilterObjects returns an empty list if the expression to be filtered has Turkish characters.
>
> For example
> Expression exp = XXX.yyy.likeIgnoreCase('%turkish characters(ğüşiöçĞÜŞİÖÇ)%')
>
> and
>
> List list = exp.filterObjects(mylist) ;
>
> Unfortunately list result  is empty.  
>
>
> Thank you in advance
>