[ 
https://issues.apache.org/jira/browse/IGNITE-3999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15632998#comment-15632998
 ] 

Amir Akhmedov commented on IGNITE-3999:
---------------------------------------

[~vkulichenko], I have a concern on this ticket, can you please advise what 
will be the correct way to solve it. As of today, fields are defined as 
{{setFields(LinkedHashMap<String, String> fields)}}, with introduction of case 
insensitive property need to create a new POJO e.g. {{QueryField(String type, 
boolean caseInsensitive)}}. So, to keep backward compatibility we can introduce 
a new method e.g. {{setQueryFields(LinkedHashMap<String, QueryField> fields)}}, 
in my opinion it looks like counter-intuitive with existing {{setFields}} 
method. Another possible way, this change can be done with changing the generic 
type of {{setFields}} (which will not be backward competible)  and released in 
Ignite 2.0.
Please advise on this, or maybe you have an alternative solutions?
Thanks!

> Support case insensitive search in SQL
> --------------------------------------
>
>                 Key: IGNITE-3999
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3999
>             Project: Ignite
>          Issue Type: Improvement
>          Components: cache
>    Affects Versions: 1.7
>            Reporter: Valentin Kulichenko
>            Assignee: Amir Akhmedov
>            Priority: Critical
>             Fix For: 1.8
>
>
> Currently case insensitive search is possible only with the help of 
> {{lower()}} function:
> {code}
> select name from MyValue where lower(name) = 'abc_5'
> {code}
> But this will always be a full scan, even if {{name}} field is indexed.
> We need to correctly support {{VARCHAR_IGNORECASE}} H2 type in Ignite and add 
> a respective property to {{@QuerySqlField}} annotation.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to