[ 
https://issues.apache.org/jira/browse/IGNITE-14914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17580197#comment-17580197
 ] 

Taras Ledkov commented on IGNITE-14914:
---------------------------------------

[~timonin.maksim] , please file tickets for .NET, c++, python thin client to 
support new feature.

> Support in() clause in IndexQuery.
> ----------------------------------
>
>                 Key: IGNITE-14914
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14914
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Maksim Timonin
>            Assignee: Maksim Timonin
>            Priority: Major
>              Labels: IEP-71, ise
>             Fix For: 2.14
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> IndexQuery should support IN criterion:
> {{IndexQuery.setCriteria(in("A", Arrays.asList(1, 2 ,3)));}}
>  # IN criterion accepts collection of values to find. This collections is 
> transformed to {{SortedSet(1, 2, 3)}} because IndexQuery provides to user 
> sorted result.
>  # When IN applies on first indexed field - IN(A0, A1) for index (A, B) - it 
> converts to multiple {{eq}} operations are joint with OR operation: 
> {{{}EQ(A0) or EQ(A1){}}}.
>  # Other range criteria for other fields are applied to every such separate 
> operation:
> {{IN(A0, A1) and GT(B)}} converts to {{{}(EQ(A0) and GT(B)) or (EQ(A1) and 
> GT(B)){}}}.
>  # When IN applies to non-leading indexed field - IN(B0, B1) for index (A, B) 
> - it works like a filter for prepared range:
> {{GTE(A) and IN(B0, B1)}} converts to range {{[[A, B0]; [A, B1]]}} and every 
> cache entry within this range is checked for being included to SortedSet(B0, 
> B1).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to