You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/05/05 05:31:49 UTC

incubator-ignite git commit: IGNITE-844: Refactored for code reuse.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-844 e7f3f96db -> ee6905eff


IGNITE-844: Refactored for code reuse.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ee6905ef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ee6905ef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ee6905ef

Branch: refs/heads/ignite-844
Commit: ee6905eff7c3c6a6ade7b9762535c417302995ea
Parents: e7f3f96
Author: AKuznetsov <ak...@gridgain.com>
Authored: Tue May 5 10:31:48 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Tue May 5 10:31:48 2015 +0700

----------------------------------------------------------------------
 .../IgniteCacheAbstractFieldsQuerySelfTest.java |  12 +-
 ...acheAbstractFieldsQueryTypeMetaSelfTest.java | 896 +------------------
 2 files changed, 9 insertions(+), 899 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee6905ef/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
index c2722fa..cbd3ce7 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
@@ -56,13 +56,13 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA
     private static final String CACHE = "cache";
 
     /** Empty cache name. */
-    private static final String EMPTY_CACHE = "emptyCache";
+    protected static final String EMPTY_CACHE = "emptyCache";
 
     /** Name of the cache that doesn't index primitives. */
-    private static final String CACHE_NO_PRIMITIVES = "cacheNoPrimitives";
+    protected static final String CACHE_NO_PRIMITIVES = "cacheNoPrimitives";
 
     /** Name of the cache that doesn't index primitives. */
-    private static final String CACHE_COMPLEX_KEYS = "cacheComplexKeys";
+    protected static final String CACHE_COMPLEX_KEYS = "cacheComplexKeys";
 
     /** Flag indicating if starting node should have cache. */
     protected boolean hasCache;
@@ -839,7 +839,7 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA
      * Person key.
      */
     @SuppressWarnings("UnusedDeclaration")
-    private static class PersonKey implements Serializable {
+    protected static class PersonKey implements Serializable {
         /** ID. */
         @QuerySqlField
         private final UUID id;
@@ -875,7 +875,7 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA
      * Person.
      */
     @SuppressWarnings("UnusedDeclaration")
-    private static class Person implements Serializable {
+    protected static class Person implements Serializable {
         /** Name. */
         @QuerySqlField(index = false)
         private final String name;
@@ -932,7 +932,7 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA
      * Organization.
      */
     @SuppressWarnings("UnusedDeclaration")
-    private static class Organization implements Serializable {
+    protected static class Organization implements Serializable {
         /** ID. */
         @QuerySqlField
         private final int id;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ee6905ef/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQueryTypeMetaSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQueryTypeMetaSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQueryTypeMetaSelfTest.java
index e332120..eadfe7f 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQueryTypeMetaSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQueryTypeMetaSelfTest.java
@@ -17,80 +17,25 @@
 
 package org.apache.ignite.internal.processors.cache;
 
-import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.affinity.*;
-import org.apache.ignite.cache.query.*;
 import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.cache.query.*;
-import org.apache.ignite.internal.processors.datastructures.*;
-import org.apache.ignite.internal.processors.query.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.marshaller.optimized.*;
-import org.apache.ignite.spi.discovery.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.*;
-import org.apache.ignite.testframework.junits.common.*;
 import org.jetbrains.annotations.*;
 
-import javax.cache.*;
-import java.io.*;
 import java.util.*;
-import java.util.concurrent.*;
 
-import static org.apache.ignite.cache.CacheAtomicityMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 
 /**
- * Tests for fields queries.
+ * Tests for fields queries configured via {@link CacheTypeMetadata}.
  */
-public abstract class IgniteCacheAbstractFieldsQueryTypeMetaSelfTest extends GridCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
-
-    /** Cache name. */
-    private static final String CACHE = "cache";
-
-    /** Empty cache name. */
-    private static final String EMPTY_CACHE = "emptyCache";
-
-    /** Name of the cache that doesn't index primitives. */
-    private static final String CACHE_NO_PRIMITIVES = "cacheNoPrimitives";
-
-    /** Name of the cache that doesn't index primitives. */
-    private static final String CACHE_COMPLEX_KEYS = "cacheComplexKeys";
-
-    /** Flag indicating if starting node should have cache. */
-    protected boolean hasCache;
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        cfg.setPeerClassLoadingEnabled(false);
-
-        cfg.setMarshaller(new OptimizedMarshaller(false));
-
-        if (hasCache)
-            cfg.setCacheConfiguration(cache(null, true), cache(CACHE, true), cache(EMPTY_CACHE, true),
-                cache(CACHE_NO_PRIMITIVES, false), cache(CACHE_COMPLEX_KEYS, false));
-        else
-            cfg.setCacheConfiguration();
-
-        cfg.setDiscoverySpi(discovery());
-
-        return cfg;
-    }
-
+public abstract class IgniteCacheAbstractFieldsQueryTypeMetaSelfTest extends IgniteCacheAbstractFieldsQuerySelfTest {
     /**
      * @param name Cache name.
      * @param primitives Index primitives.
      * @return Cache.
      */
-    protected CacheConfiguration cache(@Nullable String name, boolean primitives) {
+    @Override protected CacheConfiguration cache(@Nullable String name, boolean primitives) {
         CacheConfiguration cache = defaultCacheConfiguration();
 
         cache.setName(name);
@@ -170,839 +115,4 @@ public abstract class IgniteCacheAbstractFieldsQueryTypeMetaSelfTest extends Gri
 
         return cache;
     }
-
-    /** @return Discovery SPI. */
-    private DiscoverySpi discovery() {
-        TcpDiscoverySpi spi = new TcpDiscoverySpi();
-
-        spi.setIpFinder(IP_FINDER);
-
-        return spi;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        hasCache = true;
-
-        startGridsMultiThreaded(gridCount());
-
-        hasCache = false;
-
-        startGrid(gridCount());
-
-        IgniteCache<String, Organization> orgCache = grid(0).cache(null);
-
-        assert orgCache != null;
-
-        orgCache.put("o1", new Organization(1, "A"));
-        orgCache.put("o2", new Organization(2, "B"));
-
-        IgniteCache<AffinityKey<String>, Person> personCache = grid(0).cache(null);
-
-        assert personCache != null;
-
-        personCache.put(new AffinityKey<>("p1", "o1"), new Person("John White", 25, 1));
-        personCache.put(new AffinityKey<>("p2", "o1"), new Person("Joe Black", 35, 1));
-        personCache.put(new AffinityKey<>("p3", "o2"), new Person("Mike Green", 40, 2));
-
-        IgniteCache<String, String> strCache = grid(0).cache(null);
-
-        assert strCache != null;
-
-        strCache.put("key", "val");
-
-        IgniteCache<Integer, Integer> intCache = grid(0).cache(null);
-
-        assert intCache != null;
-
-        for (int i = 0; i < 200; i++)
-            intCache.put(i, i);
-
-        IgniteCache<Integer, Integer> namedCache = grid(0).cache(CACHE);
-
-        for (int i = 0; i < 200; i++)
-            namedCache.put(i, i);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        stopAllGrids();
-    }
-
-    /** @return cache mode. */
-    protected abstract CacheMode cacheMode();
-
-    /** @return Cache atomicity mode. */
-    protected CacheAtomicityMode atomicityMode() {
-        return TRANSACTIONAL;
-    }
-
-    /** @return Number of grids to start. */
-    protected abstract int gridCount();
-
-    /** @throws Exception If failed. */
-    public void testCacheMetaData() throws Exception {
-        // Put internal key to test filtering of internal objects.
-        ((IgniteKernal)grid(0)).getCache(null).getAndPut(new GridCacheInternalKeyImpl("LONG"), new GridCacheAtomicLongValue(0));
-
-        try {
-            Collection<GridCacheSqlMetadata> metas =
-                ((IgniteKernal)grid(0)).getCache(null).context().queries().sqlMetadata();
-
-            assert metas != null;
-
-            assertEquals("Invalid meta: " + metas, 5, metas.size());
-
-            boolean wasNull = false;
-            boolean wasNamed = false;
-            boolean wasEmpty = false;
-
-            for (GridCacheSqlMetadata meta : metas) {
-                if (meta.cacheName() == null) {
-                    Collection<String> types = meta.types();
-
-                    assert types != null;
-                    assert types.size() == 4;
-                    assert types.contains("Person");
-                    assert types.contains("Organization");
-                    assert types.contains("String");
-                    assert types.contains("Integer");
-
-                    assert AffinityKey.class.getName().equals(meta.keyClass("Person"));
-                    assert String.class.getName().equals(meta.keyClass("Organization"));
-                    assert String.class.getName().equals(meta.keyClass("String"));
-
-                    assert Person.class.getName().equals(meta.valueClass("Person"));
-                    assert Organization.class.getName().equals(meta.valueClass("Organization"));
-                    assert String.class.getName().equals(meta.valueClass("String"));
-
-                    Map<String, String> fields = meta.fields("Person");
-
-                    assert fields != null;
-                    assert fields.size() == 5;
-                    assert AffinityKey.class.getName().equals(fields.get("_KEY"));
-                    assert Person.class.getName().equals(fields.get("_VAL"));
-                    assert String.class.getName().equals(fields.get("NAME"));
-                    assert int.class.getName().equals(fields.get("AGE"));
-                    assert int.class.getName().equals(fields.get("ORGID"));
-
-                    fields = meta.fields("Organization");
-
-                    assert fields != null;
-                    assert fields.size() == 4;
-                    assert String.class.getName().equals(fields.get("_KEY"));
-                    assert Organization.class.getName().equals(fields.get("_VAL"));
-                    assert int.class.getName().equals(fields.get("ID"));
-                    assert String.class.getName().equals(fields.get("NAME"));
-
-                    fields = meta.fields("String");
-
-                    assert fields != null;
-                    assert fields.size() == 2;
-                    assert String.class.getName().equals(fields.get("_KEY"));
-                    assert String.class.getName().equals(fields.get("_VAL"));
-
-                    fields = meta.fields("Integer");
-
-                    assert fields != null;
-                    assert fields.size() == 2;
-                    assert Integer.class.getName().equals(fields.get("_KEY"));
-                    assert Integer.class.getName().equals(fields.get("_VAL"));
-
-                    Collection<GridCacheSqlIndexMetadata> indexes = meta.indexes("Person");
-
-                    assertEquals(2, indexes.size());
-
-                    wasNull = true;
-                }
-                else if (CACHE.equals(meta.cacheName()))
-                    wasNamed = true;
-                else if (EMPTY_CACHE.equals(meta.cacheName())) {
-                    assert meta.types().isEmpty();
-
-                    wasEmpty = true;
-                }
-            }
-
-            assert wasNull;
-            assert wasNamed;
-            assert wasEmpty;
-        }
-        finally {
-            ((IgniteKernal)grid(0)).getCache(null).remove(new GridCacheInternalKeyImpl("LONG"));
-        }
-    }
-
-    /** @throws Exception If failed. */
-    public void testExecuteWithMetaData() throws Exception {
-        QueryCursorImpl<List<?>> cursor = (QueryCursorImpl<List<?>>)grid(0).cache(null).query(new SqlFieldsQuery(
-            "select p._KEY, p.name, p.age, o.name " +
-            "from Person p, Organization o where p.orgId = o.id"));
-
-        Collection<GridQueryFieldMetadata> meta = cursor.fieldsMeta();
-
-        assert meta != null;
-        assert meta.size() == 4;
-
-        Iterator<GridQueryFieldMetadata> metaIt = meta.iterator();
-
-        assert metaIt != null;
-        assert metaIt.hasNext();
-
-        GridQueryFieldMetadata field = metaIt.next();
-
-        assert field != null;
-        assert "".equals(field.schemaName());
-        assert "PERSON".equals(field.typeName());
-        assert "_KEY".equals(field.fieldName());
-        assert Object.class.getName().equals(field.fieldTypeName());
-
-        assert metaIt.hasNext();
-
-        field = metaIt.next();
-
-        assert field != null;
-        assert "".equals(field.schemaName());
-        assert "PERSON".equals(field.typeName());
-        assert "NAME".equals(field.fieldName());
-        assert String.class.getName().equals(field.fieldTypeName());
-
-        assert metaIt.hasNext();
-
-        field = metaIt.next();
-
-        assert field != null;
-        assert "".equals(field.schemaName());
-        assert "PERSON".equals(field.typeName());
-        assert "AGE".equals(field.fieldName());
-        assert Integer.class.getName().equals(field.fieldTypeName());
-
-        assert metaIt.hasNext();
-
-        field = metaIt.next();
-
-        assert field != null;
-        assert "".equals(field.schemaName());
-        assert "ORGANIZATION".equals(field.typeName());
-        assert "NAME".equals(field.fieldName());
-        assert String.class.getName().equals(field.fieldTypeName());
-
-        assert !metaIt.hasNext();
-
-        List<List<?>> res = cursor.getAll();
-
-        dedup(res);
-
-        assertEquals(3, res.size());
-
-        Collections.sort(res, new Comparator<List<?>>() {
-            @Override public int compare(List<?> row1, List<?> row2) {
-                return ((Integer)row1.get(2)).compareTo((Integer)row2.get(2));
-            }
-        });
-
-        int cnt = 0;
-
-        for (List<?> row : res) {
-            assert row.size() == 4;
-
-            if (cnt == 0) {
-                assert new AffinityKey<>("p1", "o1").equals(row.get(0));
-                assert "John White".equals(row.get(1));
-                assert row.get(2).equals(25);
-                assert "A".equals(row.get(3));
-            }
-            else if (cnt == 1) {
-                assert new AffinityKey<>("p2", "o1").equals(row.get(0));
-                assert "Joe Black".equals(row.get(1));
-                assert row.get(2).equals(35);
-                assert "A".equals(row.get(3));
-            }
-            if (cnt == 2) {
-                assert new AffinityKey<>("p3", "o2").equals(row.get(0));
-                assert "Mike Green".equals(row.get(1));
-                assert row.get(2).equals(40);
-                assert "B".equals(row.get(3));
-            }
-
-            cnt++;
-        }
-
-        assert cnt == 3;
-    }
-
-    /** @throws Exception If failed. */
-    public void testExecute() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null)
-            .query(new SqlFieldsQuery("select _KEY, name, age from Person"));
-
-        List<List<?>> res = new ArrayList<>(qry.getAll());
-
-        assert res != null;
-
-        dedup(res);
-
-        assertEquals(res.size(), 3);
-
-        Collections.sort(res, new Comparator<List<?>>() {
-            @Override public int compare(List<?> row1, List<?> row2) {
-                return ((Integer)row1.get(2)).compareTo((Integer)row2.get(2));
-            }
-        });
-
-        int cnt = 0;
-
-        for (List<?> row : res) {
-            assert row.size() == 3;
-
-            if (cnt == 0) {
-                assert new AffinityKey<>("p1", "o1").equals(row.get(0));
-                assert "John White".equals(row.get(1));
-                assert row.get(2).equals(25);
-            }
-            else if (cnt == 1) {
-                assert new AffinityKey<>("p2", "o1").equals(row.get(0));
-                assert "Joe Black".equals(row.get(1));
-                assert row.get(2).equals(35);
-            }
-            if (cnt == 2) {
-                assert new AffinityKey<>("p3", "o2").equals(row.get(0));
-                assert "Mike Green".equals(row.get(1));
-                assert row.get(2).equals(40);
-            }
-
-            cnt++;
-        }
-
-        assert cnt == 3;
-    }
-
-    /** @throws Exception If failed. */
-    public void testExecuteWithArguments() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null)
-            .query(new SqlFieldsQuery("select _KEY, name, age from Person where age > ?").setArgs(30));
-
-        List<List<?>> res = new ArrayList<>(qry.getAll());
-
-        assert res != null;
-
-        dedup(res);
-
-        assert res.size() == 2;
-
-        Collections.sort(res, new Comparator<List<?>>() {
-            @Override public int compare(List<?> row1, List<?> row2) {
-                return ((Integer)row1.get(2)).compareTo((Integer)row2.get(2));
-            }
-        });
-
-        int cnt = 0;
-
-        for (List<?> row : res) {
-            assert row.size() == 3;
-
-            if (cnt == 0) {
-                assert new AffinityKey<>("p2", "o1").equals(row.get(0));
-                assert "Joe Black".equals(row.get(1));
-                assert row.get(2).equals(35);
-            }
-            else if (cnt == 1) {
-                assert new AffinityKey<>("p3", "o2").equals(row.get(0));
-                assert "Mike Green".equals(row.get(1));
-                assert row.get(2).equals(40);
-            }
-
-            cnt++;
-        }
-
-        assert cnt == 2;
-    }
-
-    /** @throws Exception If failed. */
-    public void testSelectAllJoined() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null)
-            .query(new SqlFieldsQuery("select * from Person p, Organization o where p.orgId = o.id"));
-
-        List<List<?>> res = new ArrayList<>(qry.getAll());
-
-        dedup(res);
-
-        assertEquals(3, res.size());
-
-        Collections.sort(res, new Comparator<List<?>>() {
-            @Override public int compare(List<?> row1, List<?> row2) {
-                return ((Integer)row1.get(3)).compareTo((Integer)row2.get(3));
-            }
-        });
-
-        int cnt = 0;
-
-        for (List<?> row : res) {
-            assert row.size() == 9;
-
-            if (cnt == 0) {
-                assert new AffinityKey<>("p1", "o1").equals(row.get(0));
-                assert Person.class.getName().equals(row.get(1).getClass().getName());
-                assert "John White".equals(row.get(2));
-                assert row.get(3).equals(25);
-                assert row.get(4).equals(1);
-                assert "o1".equals(row.get(5));
-                assert Organization.class.getName().equals(row.get(6).getClass().getName());
-                assert row.get(7).equals(1);
-                assert "A".equals(row.get(8));
-            }
-            else if (cnt == 1) {
-                assert new AffinityKey<>("p2", "o1").equals(row.get(0));
-                assert Person.class.getName().equals(row.get(1).getClass().getName());
-                assert "Joe Black".equals(row.get(2));
-                assert row.get(3).equals(35);
-                assert row.get(4).equals(1);
-                assert "o1".equals(row.get(5));
-                assert Organization.class.getName().equals(row.get(6).getClass().getName());
-                assert row.get(7).equals(1);
-                assert "A".equals(row.get(8));
-            }
-            if (cnt == 2) {
-                assert new AffinityKey<>("p3", "o2").equals(row.get(0));
-                assert Person.class.getName().equals(row.get(1).getClass().getName());
-                assert "Mike Green".equals(row.get(2));
-                assert row.get(3).equals(40);
-                assert row.get(4).equals(2);
-                assert "o2".equals(row.get(5));
-                assert Organization.class.getName().equals(row.get(6).getClass().getName());
-                assert row.get(7).equals(2);
-                assert "B".equals(row.get(8));
-            }
-
-            cnt++;
-        }
-
-        assert cnt == 3;
-    }
-
-    /** @throws Exception If failed. */
-    public void testEmptyResult() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null)
-            .query(new SqlFieldsQuery("select name from Person where age = 0"));
-
-        Collection<List<?>> res = qry.getAll();
-
-        assert res != null;
-        assert res.isEmpty();
-    }
-
-    /** @throws Exception If failed. */
-    public void testQueryString() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null).query(new SqlFieldsQuery("select * from String"));
-
-        Collection<List<?>> res = qry.getAll();
-
-        assert res != null;
-        assert res.size() == 1;
-
-        for (List<?> row : res) {
-            assert row != null;
-            assert row.size() == 2;
-            assert "key".equals(row.get(0));
-            assert "val".equals(row.get(1));
-        }
-    }
-
-    /** @throws Exception If failed. */
-    public void testQueryIntegersWithJoin() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null).query(new SqlFieldsQuery(
-            "select i._KEY, i._VAL, j._KEY, j._VAL from Integer i join Integer j where i._VAL >= 100"));
-
-        Collection<List<?>> res = qry.getAll();
-
-        assert res != null;
-
-        if (cacheMode() == LOCAL)
-            assert res.size() == 20000;
-        else
-            assert res.size() <= 20000;
-
-        for (List<?> row : res) {
-            assert (Integer)row.get(0) >= 100;
-            assert (Integer)row.get(1) >= 100;
-            assert (Integer)row.get(2) >= 0;
-            assert (Integer)row.get(3) >= 0;
-        }
-    }
-
-    /** @throws Exception If failed. */
-    public void testPagination() throws Exception {
-        // Query with page size 20.
-        QueryCursor<List<?>> qry = grid(0).cache(null)
-                .query(new SqlFieldsQuery("select * from Integer").setPageSize(20));
-
-        List<List<?>> res = new ArrayList<>(qry.getAll());
-
-        dedup(res);
-
-        Collections.sort(res, new Comparator<List<?>>() {
-            @Override public int compare(List<?> r1, List<?> r2) {
-                return ((Integer)r1.get(0)).compareTo((Integer)r2.get(0));
-            }
-        });
-
-        assertEquals(200, res.size());
-
-       for (List<?> row : res)
-           assertEquals("Wrong row size: " + row, 2, row.size());
-    }
-
-    /** @throws Exception If failed. */
-    public void testNamedCache() throws Exception {
-        IgniteCache<Integer, Integer> cache = grid(0).cache(CACHE);
-
-        for (int i = 0; i < 200; i++)
-            cache.put(i, i);
-
-        QueryCursor<List<?>> qry = cache.query(new SqlFieldsQuery("select * from Integer"));
-
-        Collection<List<?>> res = qry.getAll();
-
-        assert res != null;
-        assert res.size() == 200;
-    }
-
-    /** @throws Exception If failed. */
-    public void testNoPrimitives() throws Exception {
-        final IgniteCache<Object, Object> cache = grid(0).cache(CACHE_NO_PRIMITIVES);
-
-        cache.put("key", "val");
-
-        GridTestUtils.assertThrows(log, new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                return cache.query(new SqlFieldsQuery("select * from String"));
-            }
-        }, CacheException.class, null);
-    }
-
-    /** @throws Exception If failed. */
-    public void testComplexKeys() throws Exception {
-        IgniteCache<Object, Object> cache = grid(0).cache(CACHE_COMPLEX_KEYS);
-
-        UUID id = UUID.randomUUID();
-
-        PersonKey key = new PersonKey(id);
-        Person val = new Person("John", 20, 1);
-
-        cache.put(key, val);
-
-        Collection<List<?>> res = cache.query(new SqlFieldsQuery("select * from Person")).getAll();
-
-        assertEquals(1, res.size());
-
-        for (Collection<?> row : res) {
-            int cnt = 0;
-
-            for (Object fieldVal : row) {
-                if (cnt == 0)
-                    assertEquals(key, fieldVal);
-                else if (cnt == 1)
-                    assertEquals(val, fieldVal);
-                else if (cnt == 2)
-                    assertEquals(id, fieldVal);
-                else if (cnt == 3)
-                    assertEquals("John", fieldVal);
-                else if (cnt == 4)
-                    assertEquals(20, fieldVal);
-                else if (cnt == 5)
-                    assertEquals(1, fieldVal);
-
-                cnt++;
-            }
-        }
-
-        cache.removeAll();
-    }
-
-    /** @throws Exception If failed. */
-    public void testPaginationIteratorDefaultCache() throws Exception {
-        testPaginationIterator(null);
-    }
-
-    /** @throws Exception If failed. */
-    public void testPaginationIteratorNamedCache() throws Exception {
-        testPaginationIterator(CACHE);
-    }
-
-    /**
-     * @param cacheName Cache name.
-     * @throws Exception If failed.
-     */
-    private void testPaginationIterator(@Nullable String cacheName) throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(cacheName)
-            .query(new SqlFieldsQuery("select _key, _val from Integer").setPageSize(10));
-
-        int cnt = 0;
-
-        for (List<?> row : qry) {
-            assertEquals(2, row.size());
-            assertEquals(row.get(0), row.get(1));
-            assertTrue((Integer)row.get(0) >= 0 && (Integer)row.get(0) < 200);
-
-            cnt++;
-        }
-
-        int size = 200;
-
-        assertEquals(size, cnt);
-    }
-
-    /** @throws Exception If failed. */
-    public void testPaginationIteratorKeepAll() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null)
-            .query(new SqlFieldsQuery("select _key, _val from Integer").setPageSize(10));
-
-        int cnt = 0;
-
-        for (List<?> row : qry) {
-            assertEquals(2, row.size());
-            assertEquals(row.get(0), row.get(1));
-            assertTrue((Integer)row.get(0) >= 0 && (Integer)row.get(0) < 200);
-
-            cnt++;
-        }
-
-        int size = 200;
-
-        assertEquals(size, cnt);
-
-        qry = grid(0).cache(null).query(new SqlFieldsQuery("select _key, _val from Integer").setPageSize(10));
-
-        List<List<?>> list = new ArrayList<>(qry.getAll());
-
-        dedup(list);
-
-        Collections.sort(list, new Comparator<List<?>>() {
-            @Override public int compare(List<?> r1, List<?> r2) {
-                return ((Integer) r1.get(0)).compareTo((Integer) r2.get(0));
-            }
-        });
-
-        for (int i = 0; i < 200; i++) {
-            List<?> r = list.get(i);
-
-            assertEquals(i, r.get(0));
-            assertEquals(i, r.get(1));
-        }
-    }
-
-    /** @throws Exception If failed. */
-    public void testPaginationGetDefaultCache() throws Exception {
-        testPaginationGet(null);
-    }
-
-    /** @throws Exception If failed. */
-    public void testPaginationGetNamedCache() throws Exception {
-        testPaginationGet(CACHE);
-    }
-
-    /**
-     * @param cacheName Cache name.
-     * @throws Exception If failed.
-     */
-    private void testPaginationGet(@Nullable String cacheName) throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(cacheName)
-            .query(new SqlFieldsQuery("select _key, _val from Integer").setPageSize(10));
-
-        List<List<?>> list = new ArrayList<>(qry.getAll());
-
-        dedup(list);
-
-        Collections.sort(list, new Comparator<List<?>>() {
-            @Override public int compare(List<?> r1, List<?> r2) {
-                return ((Integer)r1.get(0)).compareTo((Integer)r2.get(0));
-            }
-        });
-
-        for (int i = 0; i < 200; i++) {
-            List<?> row = list.get(i);
-
-            assertEquals(i, row.get(0));
-            assertEquals(i, row.get(1));
-        }
-    }
-
-    /** @throws Exception If failed. */
-    public void testEmptyGrid() throws Exception {
-        QueryCursor<List<?>> qry = grid(0).cache(null)
-            .query(new SqlFieldsQuery("select name, age from Person where age = 25"));
-
-        List<?> res = F.first(qry.getAll());
-
-        assert res != null;
-        assert res.size() == 2;
-        assert "John White".equals(res.get(0));
-        assert res.get(1).equals(25);
-    }
-
-    /**
-     * Dedups result.
-     *
-     * @param res Result.
-     * @throws Exception In case of error.
-     */
-    private void dedup(Collection<List<?>> res) throws Exception {
-        assert res != null;
-
-        if (cacheMode() != REPLICATED)
-            return;
-
-        Collection<List<?>> res0 = new ArrayList<>(res.size());
-
-        Collection<Object> keys = new HashSet<>();
-
-        for (List<?> row : res) {
-            Object key = row.get(0);
-
-            if (!keys.contains(key)) {
-                res0.add(row);
-                keys.add(key);
-            }
-        }
-
-        res.clear();
-
-        res.addAll(res0);
-    }
-
-    /**
-     * Person key.
-     */
-    @SuppressWarnings("UnusedDeclaration")
-    private static class PersonKey implements Serializable {
-        /** ID. */
-        private final UUID id;
-
-        /** @param id ID. */
-        private PersonKey(UUID id) {
-            assert id != null;
-
-            this.id = id;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object o) {
-            if (this == o)
-                return true;
-
-            if (o == null || getClass() != o.getClass())
-                return false;
-
-            PersonKey key = (PersonKey)o;
-
-            return id.equals(key.id);
-
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            return id.hashCode();
-        }
-    }
-
-    /**
-     * Person.
-     */
-    @SuppressWarnings("UnusedDeclaration")
-    private static class Person implements Serializable {
-        /** Name. */
-        private final String name;
-
-        /** Age. */
-        private final int age;
-
-        /** Organization ID. */
-        private final int orgId;
-
-        /**
-         * @param name Name.
-         * @param age Age.
-         * @param orgId Organization ID.
-         */
-        private Person(String name, int age, int orgId) {
-            assert !F.isEmpty(name);
-            assert age > 0;
-            assert orgId > 0;
-
-            this.name = name;
-            this.age = age;
-            this.orgId = orgId;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object o) {
-            if (this == o)
-                return true;
-
-            if (o == null || getClass() != o.getClass())
-                return false;
-
-            Person person = (Person)o;
-
-            return age == person.age && orgId == person.orgId && name.equals(person.name);
-
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            int res = name.hashCode();
-
-            res = 31 * res + age;
-            res = 31 * res + orgId;
-
-            return res;
-        }
-    }
-
-    /**
-     * Organization.
-     */
-    @SuppressWarnings("UnusedDeclaration")
-    private static class Organization implements Serializable {
-        /** ID. */
-        private final int id;
-
-        /** Name. */
-        private final String name;
-
-        /**
-         * @param id ID.
-         * @param name Name.
-         */
-        private Organization(int id, String name) {
-            assert id > 0;
-            assert !F.isEmpty(name);
-
-            this.id = id;
-            this.name = name;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object o) {
-            if (this == o)
-                return true;
-
-            if (o == null || getClass() != o.getClass())
-                return false;
-
-            Organization that = (Organization)o;
-
-            return id == that.id && name.equals(that.name);
-
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            int res = id;
-
-            res = 31 * res + name.hashCode();
-
-            return res;
-        }
-    }
 }