ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@apache.org>
Subject Re: Example of SQL query
Date Thu, 10 May 2018 14:53:27 GMT
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.kasnacheev@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 <aealexsandrov@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/
>> StartServerNode.java>
>> StartClientNode.java
>> <http://apache-ignite-users.70518.x6.nabble.com/file/t1704/
>> StartClientNode.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%
>> 20Person%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":"ja
>> va.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,"
>> sessionToken":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/
>>
>
>

Mime
View raw message