geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Huynh (JIRA)" <>
Subject [jira] [Created] (GEODE-90) IN SET Query using Index throws IllegalArgumentException
Date Thu, 09 Jul 2015 21:57:04 GMT
Jason Huynh created GEODE-90:

             Summary: IN SET Query using Index throws IllegalArgumentException
                 Key: GEODE-90
             Project: Geode
          Issue Type: Bug
            Reporter: Jason Huynh
            Assignee: Jason Huynh

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("", "", "/TEST_REGION, nested IN
      Query queryInSet = queryService.newQuery("SELECT DISTINCT FROM /TEST_REGION tr,
tr.nested_values nested WHERE IN SET ('1')");
      Query queryEquals = queryService.newQuery("SELECT DISTINCT FROM /TEST_REGION tr,
nested IN nested_values WHERE'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",

      cache.getRegion("TEST_REGION").put("100", record);
      Index index = cache.getQueryService().getIndex(cache.getRegion("TEST_REGION"), "");
      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

View raw message