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
>

Reply via email to