[
https://issues.apache.org/jira/browse/IGNITE-14914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17580365#comment-17580365
]
Ignite TC Bot commented on IGNITE-14914:
----------------------------------------
{panel:title=Branch: [pull/10195/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/10195/head] Base: [master] : New Tests
(58)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Index Query API{color} [[tests
58|https://ci.ignite.apache.org/viewLog.html?buildId=6733518]]
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testSingleValueInCriterion - PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testSingleInCriterionOnSecondField - PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testMultipleInWithRangeCrossCriterionOnSecondField
- PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testSingleInWithSingleRangeCriterion -
PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testTwoValuesInCriterion - PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testSingleInWithMultipleRangeCriterion -
PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testMultipleInWithSingleRangeCriterionCrossing -
PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testMultipleInCriteriaAndRangeCriteriaNoCross -
PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionTest.testExplcitiInCriterionWithNullVal - PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionTest.testDuplicatedInCriterionFailure - PASSED{color}
* {color:#013220}IndexQueryTestSuite:
IndexQueryInCriterionDescTest.testMultipleInCriterion - PASSED{color}
... and 47 new tests
{panel}
[TeamCity *--> Run :: All*
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6731947&buildTypeId=IgniteTests24Java8_RunAll]
> 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)