@Override
      public void run2() throws CacheException {
        configAndStartBridgeServer();
        getCache().createRegionFactory(RegionShortcut.REPLICATE).create("testJson");
        // Execute query with different type of Results.
        QueryService qs = getCache().getQueryService();
        try {
          SelectResults result = (SelectResults) qs
              .newQuery(
                  "select r from " + SEPARATOR + "testJson r, r.Address a where a.Line1 = 'NYC'")
              .execute();
          assertEquals(1, result.size());
          result = (SelectResults) qs
              .newQuery(
                  "select r from " + SEPARATOR + "testJson r, r.Address a where a = 'my address'")
              .execute();
          assertEquals(1, result.size());
        } catch (Exception e) {
          e.printStackTrace();
          throw new CacheException(e) {};
        }
      }
Tests client-server query on PdxInstance. The client receives projected value.
geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PdxQueryDUnitTest.java