Denis,

If this will be awailable in ignite-2.5

Why link is pointing to 2.4 ?

On Thu, May 10, 2018 at 9:53 PM, Denis Magda <dma...@apache.org> wrote:

> Guys,
>
> Starting with Ignite 2.5 it will be possible to use other types of keys in
> addition to String: https://apacheignite.readme.io/v2.4/docs/rest-api-
> 25#section-data-types
>
> --
> Denis
>
> On Thu, May 10, 2018 at 4:39 AM, Ilya Kasnacheev <
> ilya.kasnach...@gmail.com> wrote:
>
>> I didn't exactly get 1), but I'm sure your best bet is to use
>> keyConfiguration (CacheKeyConfiguration) in this case to set affinity key.
>> Otherwise you're at risk of getting "incompatible affinity keys" error.
>>
>> BTW isn't it a better topic for dev@? Care to crosspost?
>>
>> Regards,
>>
>> --
>> Ilya Kasnacheev
>>
>> 2018-05-09 14:46 GMT+03:00 aealexsandrov <aealexsand...@gmail.com>:
>>
>>> Hi again,
>>>
>>> We already discussed about it recently. At the moment some things works
>>> incorrect in 2.4:
>>>
>>> 1)Rest API only support String as key and value. And looks like you can't
>>> use affinity key on strings for the same issue. But if you can setup it
>>> using AffinityKeyMapper anotation:
>>>
>>>     public static class Key {
>>>         @AffinityKeyMapped
>>>         @QuerySqlField(index = true)
>>>         private final Stringkey;
>>>
>>>         public Key(Stringkeykey) {
>>>             this.key = key;
>>>         }
>>>
>>>         public Stringkey getKey() {
>>>             return key;
>>>         }
>>>     }
>>>
>>> And put it:
>>>
>>> CacheConfiguration<Key, Person> cfg = new CacheConfiguration<>("cache");
>>>
>>> It should work like example from here:
>>>
>>> http://apache-ignite-users.70518.x6.nabble.com/Inconsistency
>>> -reading-cache-from-code-and-via-REST-td21228.html#a21293
>>>
>>> 2)qryexe doesn't work correct. At some reason it ignores _key and _value
>>> fields. Looks like it could be solved in future releases.
>>>
>>> How I am going to show you some working examples how you avoid second
>>> problem:
>>>
>>> StartServerNode.java
>>> <http://apache-ignite-users.70518.x6.nabble.com/file/t1704/S
>>> tartServerNode.java>
>>> StartClientNode.java
>>> <http://apache-ignite-users.70518.x6.nabble.com/file/t1704/S
>>> tartClientNode.java>
>>>
>>> 1)qryfldexe - exactly the same that you want but had another syntax:
>>>
>>> Here -
>>> select%20firstName%2C%20lastName%20from%20Person%20where%20_
>>> key%20%3D%201%20or%20_key%20%3D%203
>>> is select firstName, lastName from Person where _key = 1 or _key = 3
>>>
>>> http://127.0.0.1:8080/ignite?cmd=qryfldexe&pageSize=10&cache
>>> Name=Person&qry=select%20firstName%2C%20lastName%20from%20Pe
>>> rson%20where%20_key%20%3D%201%20or%20_key%20%3D%203
>>>
>>> {"successStatus":0,"error":null,"sessionToken":null,"respons
>>> e":{"items":[["John1","Doe1"],["John3","Doe3"]],"last":true,
>>> "fieldsMetadata":[{"schemaName":"Person","typeName":"PERSON"
>>> ,"fieldName":"FIRSTNAME","fieldTypeName":"java.lang.
>>> String"},{"schemaName":"Person","typeName":"PERSON","
>>> fieldName":"LASTNAME","fieldTypeName":"java.lang.String"}],"queryId":4}}
>>>
>>> 2)get command return the value of some key:
>>>
>>> http://127.0.0.1:8080/ignite?cmd=get&cacheName=Person&key=3
>>>
>>> {"successStatus":0,"affinityNodeId":"37f9d00d-8a7a-4db4-a1af
>>> -16471a548ce1","error":null,"sessionToken":null,"response":
>>> {"firstName":"John3","lastName":"Doe3","id":"3"}}
>>>
>>> 3)getall command return several values for some keys
>>>
>>> http://127.0.0.1:8080/ignite?cmd=getall&cacheName=Person&k1=1&k2=2
>>>
>>> {"successStatus":0,"affinityNodeId":null,"error":null,"sessi
>>> onToken":null,"response":{"1":{"firstName":"John1","lastName
>>> ":"Doe1","id":"1"},"2":{"firstName":"John2","lastName":
>>> "Doe2","id":"2"}}}
>>>
>>> Hope that it will help you.
>>>
>>> BR,
>>> Andrei
>>>
>>>
>>>
>>> --
>>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>>
>>
>>
>


-- 
Alexey Kuznetsov

Reply via email to