[
https://issues.apache.org/jira/browse/GEODE-90?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anthony Baker updated GEODE-90:
-------------------------------
Fix Version/s: 1.0.0-alpha1
> IN SET Query using Index throws IllegalArgumentException
> --------------------------------------------------------
>
> Key: GEODE-90
> URL: https://issues.apache.org/jira/browse/GEODE-90
> Project: Geode
> Issue Type: Bug
> Components: querying
> Reporter: Jason Huynh
> Assignee: Jason Huynh
> Fix For: 1.0.0-alpha1
>
>
> The following test will fail:
> public void testQueryRVMapMultipleEntries() throws Exception {
> Cache cache = CacheUtils.getCache();
> QueryService queryService = CacheUtils.getCache().getQueryService();
> CacheUtils.createRegion("TEST_REGION", null);
> queryService.createIndex("tr.nested.id.index", "nested.id",
> "/TEST_REGION, nested IN nested_values");
> Query queryInSet = queryService.newQuery("SELECT DISTINCT tr.id FROM
> /TEST_REGION tr, tr.nested_values nested WHERE nested.id IN SET ('1')");
> Query queryEquals = queryService.newQuery("SELECT DISTINCT tr.id FROM
> /TEST_REGION tr, nested IN nested_values WHERE nested.id='1'");
> Object[] nested = new Object[] {
> cache.createPdxInstanceFactory("nested_1").writeString("id",
> "1").create(),
> cache.createPdxInstanceFactory("nested_2").writeString("id",
> "1").create(),
> cache.createPdxInstanceFactory("nested_3").writeString("id",
> "1").create(),
> cache.createPdxInstanceFactory("nested_4").writeString("id",
> "4").create()
> };
> PdxInstance record =
> cache.createPdxInstanceFactory("root").writeString("id",
> "2").writeObjectArray("nested_values", nested).create();
> cache.getRegion("TEST_REGION").put("100", record);
> Index index =
> cache.getQueryService().getIndex(cache.getRegion("TEST_REGION"),
> "mdf.testRegion.nested.id");
> SelectResults queryResults = (SelectResults) queryEquals.execute();
> SelectResults inSetQueryResults = (SelectResults) queryInSet.execute();
> assertEquals(queryResults.size(), inSetQueryResults.size());
> assertTrue(inSetQueryResults.size() > 0);
> }
> AbstractIndex is adding the whole collection as an object into the result set
> instead of the individual object.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)