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 >> >> >> > >