On Wed, Feb 3, 2016 at 10:28 PM, Valentin Kulichenko < valentin.kuliche...@gmail.com> wrote:
> Dmitry, > > The main difference in my view is that you lose pagination when sending > results from servers to client. What if one wants to iterate through all > entries in cache? > I see. Perhaps we should fix the pagination for compute instead of adding transformers for queries? > > On Wed, Feb 3, 2016 at 9:47 PM, Dmitriy Setrakyan <dsetrak...@apache.org> > wrote: > > > Valentin, > > > > Wouldn’t the same effect be achieved by broadcasting a closure to the > > cluster and executing scan-query on every node locally? > > > > D. > > > > On Wed, Feb 3, 2016 at 9:17 PM, Valentin Kulichenko < > > valentin.kuliche...@gmail.com> wrote: > > > > > Igniters, > > > > > > I keep getting requests from our users to add optional transformers to > > SCAN > > > queries. This will allow to iterate through cache, but do not transfer > > > whole key-value pairs across networks (e.g., get only keys). The > feature > > > looks useful and I created a ticket [1]. > > > > > > I am struggling with the design now. The problem is that I wanted to > > extend > > > existing ScanQuery object for this, but this seems to be impossible > > because > > > it already extends Query<Cache.Entry<K, V>> and thus can iterate only > > > through entries. > > > > > > The only option I see now is to create a separate query type, > copy-paste > > > everything from ScanQuery and add *mandatory* transformer. Something > like > > > this: > > > > > > ScanTransformQuery<K, V, R> extends Query<R> { > > > IgniteBiPredicate<K, V> filter; > > > IgniteClosure<Cache.Entry<K, V>, R> transformer; > > > int part; > > > ... > > > } > > > > > > Thoughts? Does anyone has other ideas? > > > > > > [1] https://issues.apache.org/jira/browse/IGNITE-2546 > > > > > > -Val > > > > > >