You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Anthony Baker (JIRA)" <ji...@apache.org> on 2016/01/08 05:41:46 UTC

[jira] [Updated] (GEODE-90) IN SET Query using Index throws IllegalArgumentException

     [ 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)