Hi Evgenii,

Are you saying that if the affinityKey column is present in WHERE clause of
SQL statement, the SQL engine will detect a node where this key is placed
and execute this query only on one node.

I just want to make sure that SQL gets executed only on node where the
affinity key is placed.

Thanks,
Akash

On Wed, Jul 25, 2018 at 3:45 PM, Ilya Kasnacheev <ilya.kasnach...@gmail.com>
wrote:

> Hello!
>
> I hope that Ignite statement planner will make use of affinity key if you
> provide it in the request. I.e. it will not be broadcast if you provide
> affinity key.
>
> Regards,
>
> --
> Ilya Kasnacheev
>
> 2018-07-25 10:58 GMT+03:00 Stanislav Lukyanov <stanlukya...@gmail.com>:
>
>> What do you mean by “execute select query on cache using affinity key”
>>
>> and what is the problem you’re trying to solve?
>>
>>
>>
>> Stan
>>
>>
>>
>> *From: *Prasad Bhalerao <prasadbhalerao1...@gmail.com>
>> *Sent: *25 июля 2018 г. 10:03
>> *To: *user@ignite.apache.org
>> *Subject: ****UNCHECKED*** Executing SQL on cache using affinnity key
>>
>>
>>
>> Hi,
>>
>>
>>
>> Is there any way to execute select query on cache using affinity key?
>>
>>
>>
>> As per this link: https://apacheignite.readme.io/docs/collocate-compute-
>> and-data#section-affinity-call-and-run-methods
>>
>>
>>
>> It can be done as follows:
>>
>>
>>
>> compute.affinityCall(*CACHE_NAME*, *affinityKey*, () -> {
>>
>>   SqlFieldsQuery sqlFieldsQuery = *new 
>> *SqlFieldsQuery(SELECT_STATEMENT).setArgs(args);
>>   sqlFieldsQuery.setDistributedJoins(*false*);
>>   sqlFieldsQuery.setLocal(*true*);
>>   sqlFieldsQuery.setCollocated(*true*);
>>   *return *cache().query(sqlFieldsQuery);
>> });
>>
>> Is there any other way to do it?
>>
>>
>>
>> Thanks,
>>
>> Prasad
>>
>>
>>
>
>

Reply via email to