@Test
  public void creatingACompiledJunctionWithACompiledInClauseDoesNotThrowException()
      throws Exception {
    Cache cache = CacheUtils.getCache();
    RegionFactory<Integer, Portfolio> rf = cache.createRegionFactory(RegionShortcut.REPLICATE);
    Region regionA = rf.create("regionA");
    Region regionB = rf.create("regionB");

    for (int i = 1; i <= 100; i++) {
      regionA.put(Integer.toString(i), new TestUserObject("" + i, "" + i, "" + i, "" + i));
      regionB.put(Integer.toString(i), new TestUserObject("" + i, "" + i, "" + i, "" + i));
    }
    QueryService qs = CacheUtils.getQueryService();

    Index regionAUserCodeIndex = qs.createIndex("regionAUserCodeIndex",
        IndexType.FUNCTIONAL, "userId", SEPARATOR + "regionA ");
    Index regionBUserCodeIndex = qs.createIndex("regionAUserCodeIndex",
        IndexType.FUNCTIONAL, "userId", SEPARATOR + "regionB ");

    Index regionAUserNameIndex = qs.createIndex("regionAUserNameIndex",
        IndexType.FUNCTIONAL, "userName", SEPARATOR + "regionA ");
    Index regionBUserNameIndex = qs.createIndex("regionBUserNameIndex",
        IndexType.FUNCTIONAL, "userName", SEPARATOR + "regionB ");

    Query query = qs.newQuery(
        "select regionB.userId,regionA.professionCode,regionB.postCode,regionB.userName from "
            + SEPARATOR + "regionA regionA," + SEPARATOR
            + "regionB regionB where regionA.userId = regionB.userId and regionA.professionCode in Set('1','2','3') and regionB.postCode = '1' and regionB.userId='1'");
    SelectResults results = (SelectResults) query.execute();
    assertTrue(results.size() > 0);
  }
***
THIS FILE IS ENCODED IN UTF-8 IN ORDER TO TEST UNICODE IN FIELD NAMES. THE ENCODING MUST BE
SPECIFIED AS UTF-8 WHEN COMPILED
*****
geode-core/src/integrationTest/java/org/apache/geode/cache/query/QueryJUnitTest.java