You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/02/15 08:52:19 UTC

[35/50] [abbrv] ignite git commit: Merge branch 'ignite-1.5' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-split2

Merge branch 'ignite-1.5' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-split2

# Conflicts:
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
#	modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
#	modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
#	modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
#	modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java
#	modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java


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

Branch: refs/heads/ignite-1232
Commit: 5303fb822ac4860ca7fdec52cb8f99f7e75513b7
Parents: d661395 18c413c
Author: S.Vladykin <sv...@gridgain.com>
Authored: Sat Dec 26 08:13:57 2015 +0300
Committer: S.Vladykin <sv...@gridgain.com>
Committed: Sat Dec 26 08:13:57 2015 +0300

----------------------------------------------------------------------
 README.txt                                      |   4 +-
 RELEASE_NOTES.txt                               |   1 +
 assembly/dependencies-fabric-lgpl.xml           |   7 +
 assembly/dependencies-fabric.xml                |   7 +
 examples/pom.xml                                |   2 +-
 examples/schema-import/pom.xml                  |   2 +-
 .../hibernate/CacheHibernateStoreExample.java   |   8 +
 .../datagrid/store/hibernate/Person.hbm.xml     |   6 +-
 .../datagrid/store/hibernate/hibernate.cfg.xml  |   7 +-
 ...ComputeClientBinaryTaskExecutionExample.java |   4 +-
 .../CacheClientBinaryPutGetExample.java         |   6 +-
 .../datagrid/CacheClientBinaryQueryExample.java |  10 +-
 .../datagrid/CacheEntryProcessorExample.java    | 157 ++++++
 .../examples/datagrid/CacheQueryExample.java    |  15 +-
 .../store/jdbc/CacheJdbcStoreExample.java       |   1 -
 .../store/spring/CacheSpringPersonStore.java    | 118 +++++
 .../store/spring/CacheSpringStoreExample.java   | 155 ++++++
 .../datagrid/store/spring/package-info.java     |  22 +
 .../apache/ignite/examples/model/Address.java   |  72 +++
 .../apache/ignite/examples/model/Employee.java  |  93 ++++
 .../ignite/examples/model/EmployeeKey.java      |  93 ++++
 .../ignite/examples/model/Organization.java     |  85 +++-
 .../ignite/examples/model/OrganizationType.java |  32 ++
 .../apache/ignite/examples/model/Person.java    |   2 +-
 .../ignite/examples/model/binary/Address.java   |  72 ---
 .../ignite/examples/model/binary/Employee.java  |  93 ----
 .../examples/model/binary/EmployeeKey.java      |  93 ----
 .../examples/model/binary/Organization.java     |  93 ----
 .../examples/model/binary/OrganizationType.java |  32 --
 .../ignite/examples/model/package-info.java     |  23 +
 .../streaming/StreamVisitorExample.java         |  40 +-
 .../datagrid/CacheEntryProcessorExample.java    | 147 ++++++
 .../ScalarCacheEntryProcessorExample.scala      | 125 +++++
 .../ignite/examples/CacheExamplesSelfTest.java  |   8 +
 .../java8/examples/CacheExamplesSelfTest.java   |   8 +
 .../tests/examples/ScalarExamplesSelfTest.scala |   5 +
 modules/aop/pom.xml                             |   2 +-
 modules/apache-license-gen/pom.xml              |   2 +-
 modules/aws/pom.xml                             |   2 +-
 modules/camel/pom.xml                           |   2 +-
 modules/clients/pom.xml                         |   2 +-
 .../ClientAbstractConnectivitySelfTest.java     |   2 +-
 .../JettyRestProcessorAbstractSelfTest.java     |  25 +-
 modules/cloud/pom.xml                           |   2 +-
 modules/codegen/pom.xml                         |   2 +-
 modules/core/pom.xml                            |   2 +-
 .../binary/BinaryReflectiveSerializer.java      |  33 ++
 .../ignite/binary/BinaryTypeConfiguration.java  |  20 +-
 .../org/apache/ignite/cache/CacheManager.java   |   2 +-
 .../ignite/cache/affinity/AffinityKey.java      |   2 +-
 .../configuration/CacheConfiguration.java       |  44 +-
 .../apache/ignite/internal/IgniteKernal.java    |  35 +-
 .../ignite/internal/IgniteVersionUtils.java     |   5 +-
 .../org/apache/ignite/internal/IgnitionEx.java  |  51 +-
 .../internal/binary/BinaryClassDescriptor.java  | 181 ++++---
 .../ignite/internal/binary/BinaryContext.java   | 161 ++++--
 .../internal/binary/BinaryEnumObjectImpl.java   |   4 +-
 .../internal/binary/BinaryFieldAccessor.java    |   3 -
 .../internal/binary/BinaryObjectImpl.java       |  47 +-
 .../ignite/internal/binary/BinaryUtils.java     |  60 ++-
 .../ignite/internal/binary/BinaryWriteMode.java |   4 +-
 .../internal/binary/GridBinaryMarshaller.java   |  92 +++-
 .../connection/GridClientNioTcpConnection.java  |  17 +-
 .../internal/cluster/ClusterGroupAdapter.java   |  10 +-
 .../managers/communication/GridIoManager.java   |  39 +-
 .../discovery/GridDiscoveryManager.java         |   4 +-
 .../processors/cache/CacheEntryImpl.java        |   6 +-
 .../processors/cache/CacheEntryImplEx.java      |  17 +-
 .../processors/cache/CacheObjectAdapter.java    |   3 +
 .../processors/cache/GridCacheAdapter.java      |  47 +-
 .../processors/cache/GridCacheProcessor.java    |  11 +-
 .../processors/cache/GridCacheProxyImpl.java    |  29 ++
 .../cache/GridCacheSharedContext.java           |  18 +-
 .../processors/cache/GridCacheUtils.java        |  18 +-
 .../processors/cache/IgniteCacheProxy.java      |  43 +-
 .../processors/cache/IgniteInternalCache.java   |  26 +
 .../cache/binary/BinaryMetadataKey.java         |   2 +-
 .../binary/CacheObjectBinaryProcessorImpl.java  |  12 +-
 .../dht/CacheDistributedGetFutureAdapter.java   |   2 +-
 .../distributed/dht/GridDhtLockFuture.java      |   2 +-
 .../dht/GridPartitionedGetFuture.java           |  15 +-
 .../dht/GridPartitionedSingleGetFuture.java     |   8 +
 .../dht/atomic/GridDhtAtomicCache.java          |   8 +-
 .../dht/atomic/GridNearAtomicUpdateFuture.java  | 160 +++---
 .../colocated/GridDhtColocatedLockFuture.java   |  11 +-
 .../GridDhtPartitionsExchangeFuture.java        |  20 +-
 .../dht/preloader/GridDhtPreloader.java         |  31 +-
 .../distributed/near/GridNearGetFuture.java     |  17 +-
 .../distributed/near/GridNearLockFuture.java    |  39 +-
 ...arOptimisticSerializableTxPrepareFuture.java |   5 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |   5 +-
 ...ridNearOptimisticTxPrepareFutureAdapter.java |  22 +-
 .../query/GridCacheDistributedQueryManager.java |   6 +-
 .../cache/query/GridCacheQueryManager.java      |   8 +-
 .../transactions/IgniteTxLocalAdapter.java      |   2 +
 .../cache/transactions/IgniteTxManager.java     |  65 ++-
 .../datastreamer/DataStreamProcessor.java       |  12 +-
 .../datastreamer/DataStreamerUpdateJob.java     |   2 +-
 .../PlatformDotNetConfigurationClosure.java     |   4 +-
 .../processors/query/GridQueryProcessor.java    | 219 ++++++--
 .../client/message/GridClientCacheBean.java     | 139 +++++
 .../rest/client/message/GridClientNodeBean.java |  70 +--
 .../top/GridTopologyCommandHandler.java         |  38 +-
 .../processors/task/GridTaskWorker.java         |   8 +-
 .../ignite/internal/util/IgniteUtils.java       |   6 +-
 .../ignite/internal/util/lang/GridFunc.java     |   1 +
 .../internal/util/lang/GridNodePredicate.java   |  13 +-
 .../util/nio/GridNioRecoveryDescriptor.java     |   7 -
 .../ignite/internal/util/nio/GridNioServer.java |  18 +-
 .../util/nio/GridSelectorNioSessionImpl.java    |   7 +
 .../cache/VisorCacheQueryConfiguration.java     |  11 +
 .../cache/VisorCacheStoreConfiguration.java     |  13 +-
 .../internal/visor/query/VisorQueryJob.java     |   6 +
 .../internal/visor/util/VisorTaskUtils.java     | 122 ++++-
 .../ignite/lang/IgniteProductVersion.java       |   2 +-
 .../communication/tcp/TcpCommunicationSpi.java  |  12 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java    |  48 +-
 .../TcpDiscoveryMulticastIpFinder.java          |  12 +-
 .../core/src/main/resources/ignite.properties   |   2 +-
 .../test/config/websession/example-cache.xml    |   9 +-
 .../ignite/IgniteCacheAffinitySelfTest.java     |   7 -
 .../fair/FairAffinityDynamicCacheSelfTest.java  |  17 +-
 .../ignite/internal/ClusterGroupSelfTest.java   |  32 +-
 .../IgniteClientReconnectCacheTest.java         |  33 +-
 ...niteClientReconnectFailoverAbstractTest.java |   3 +-
 .../ignite/internal/TaskNodeRestartTest.java    | 230 +++++++++
 .../binary/BinaryFieldsAbstractSelfTest.java    |   4 +-
 .../BinaryFooterOffsetsAbstractSelfTest.java    |   3 +-
 .../binary/BinaryMarshallerSelfTest.java        | 219 ++++++--
 ...GridBinaryMarshallerCtxDisabledSelfTest.java |   3 +-
 .../binary/GridBinaryWildcardsSelfTest.java     |   3 +-
 .../cache/CacheStopAndDestroySelfTest.java      |   2 +
 .../cache/CrossCacheTxRandomOperationsTest.java |   2 -
 .../cache/GridCacheAbstractFullApiSelfTest.java |  22 +-
 .../cache/GridCacheAbstractSelfTest.java        |   3 +-
 .../GridCacheOnCopyFlagAbstractSelfTest.java    |  33 +-
 ...IgniteCacheBinaryEntryProcessorSelfTest.java |   4 +-
 .../IgniteCacheBinaryObjectsScanSelfTest.java   | 137 +++++
 .../cache/IgniteCacheNearLockValueSelfTest.java |  11 +-
 .../cache/IgniteCachePutAllRestartTest.java     |   2 +-
 ...iteCacheScanPredicateDeploymentSelfTest.java | 114 +++++
 .../cache/IgniteCacheSerializationSelfTest.java | 112 ++++
 .../IgniteCacheStoreValueAbstractTest.java      |   2 +-
 .../IgniteStartCacheInTransactionSelfTest.java  |  39 +-
 .../GridBinaryCacheEntryMemorySizeSelfTest.java |   3 +-
 .../CacheGetInsideLockChangingTopologyTest.java | 477 +++++++++++++++++
 ...yMetadataUpdateChangingTopologySelfTest.java | 104 ++--
 ...niteBinaryMetadataUpdateNodeRestartTest.java | 411 +++++++++++++++
 .../distributed/IgniteCacheManyClientsTest.java |   2 +
 .../IgniteCacheSizeFailoverTest.java            |   4 +-
 .../random/RandomEvictionPolicySelfTest.java    |   4 +-
 ...ContinuousQueryFailoverAbstractSelfTest.java | 128 ++---
 ...ridCacheContinuousQueryAbstractSelfTest.java |   3 +
 .../service/ClosureServiceClientsNodesTest.java |  22 +-
 .../GridServiceProcessorStopSelfTest.java       |  35 +-
 .../product/GridProductVersionSelfTest.java     |  22 +-
 .../internal/util/nio/GridNioSelfTest.java      | 127 +++--
 .../IgniteMessagingWithClientTest.java          |   2 -
 .../GridSessionCheckpointAbstractSelfTest.java  |   3 +-
 .../session/GridSessionCheckpointSelfTest.java  |   3 +-
 ...cpCommunicationSpiMultithreadedSelfTest.java |  21 +
 ...dTcpCommunicationSpiRecoveryAckSelfTest.java |  17 +-
 .../spi/discovery/tcp/TcpDiscoverySelfTest.java |  16 +-
 .../TcpDiscoveryMulticastIpFinderSelfTest.java  |  21 +-
 .../testframework/GridSpiTestContext.java       |  18 +-
 .../ignite/testframework/junits/IgniteMock.java |   3 +-
 .../junits/IgniteTestResources.java             |   4 +-
 .../IgniteCacheFailoverTestSuite3.java          |   2 +
 .../IgniteCacheRestartTestSuite2.java           |   3 +
 .../testsuites/IgniteCacheTestSuite3.java       |   2 +
 .../testsuites/IgniteComputeGridTestSuite.java  |   2 +
 modules/extdata/p2p/pom.xml                     |   2 +-
 .../p2p/CacheDeploymentAlwaysTruePredicate.java |  29 ++
 .../ignite/tests/p2p/cache/PersonWrapper.java   | 121 +++++
 .../extdata/uri/modules/uri-dependency/pom.xml  |   2 +-
 modules/extdata/uri/pom.xml                     |   2 +-
 modules/flume/pom.xml                           |   2 +-
 modules/gce/pom.xml                             |   2 +-
 modules/geospatial/pom.xml                      |   2 +-
 modules/hadoop/pom.xml                          |   2 +-
 modules/hibernate/pom.xml                       |   2 +-
 modules/indexing/pom.xml                        |   2 +-
 .../processors/query/h2/IgniteH2Indexing.java   | 105 +++-
 .../processors/query/h2/sql/GridSqlQuery.java   |   3 +
 .../query/h2/sql/GridSqlQuerySplitter.java      |  72 ++-
 .../cache/BinarySerializationQuerySelfTest.java | 416 +++++++++++++++
 ...onQueryWithReflectiveSerializerSelfTest.java |  28 +
 .../IgniteBinaryObjectFieldsQuerySelfTest.java  |  69 ++-
 ...eBinaryWrappedObjectFieldsQuerySelfTest.java |  28 +
 .../IgniteCacheAbstractFieldsQuerySelfTest.java |  68 ++-
 .../cache/IgniteCacheAbstractQuerySelfTest.java | 299 +++++++----
 ...teCacheFullTextQueryNodeJoiningSelfTest.java | 145 ++++++
 ...niteCacheP2pUnmarshallingQueryErrorTest.java |   4 +-
 .../IgniteCacheReplicatedQuerySelfTest.java     |  10 +-
 .../local/IgniteCacheLocalQuerySelfTest.java    |   2 +-
 .../query/IgniteSqlSchemaIndexingTest.java      | 240 +++++++++
 .../query/IgniteSqlSplitterSelfTest.java        |  51 ++
 .../query/h2/sql/GridQueryParsingTest.java      |   9 +-
 .../IgniteBinaryCacheQueryTestSuite.java        | 128 ++++-
 .../IgniteCacheQuerySelfTestSuite.java          |  11 +
 modules/jcl/pom.xml                             |   2 +-
 modules/jms11/pom.xml                           |   2 +-
 modules/jta/pom.xml                             |   2 +-
 modules/kafka/pom.xml                           |   2 +-
 modules/log4j/pom.xml                           |   2 +-
 modules/log4j2/pom.xml                          |   2 +-
 modules/mesos/pom.xml                           |   2 +-
 modules/mqtt/pom.xml                            |   2 +-
 .../stream/mqtt/IgniteMqttStreamerTest.java     |  33 +-
 modules/osgi-karaf/pom.xml                      |   2 +-
 modules/osgi-paxlogging/pom.xml                 |   2 +-
 modules/osgi/pom.xml                            |   2 +-
 modules/platforms/cpp/common/configure.ac       |   2 +-
 modules/platforms/cpp/core-test/configure.ac    |   2 +-
 modules/platforms/cpp/core/configure.ac         |   2 +-
 modules/platforms/cpp/core/impl/doxygen.h       |  53 --
 .../cpp/core/include/ignite/binary/binary.h     |   5 +
 .../core/include/ignite/binary/binary_consts.h  |   5 +
 .../include/ignite/binary/binary_containers.h   |   5 +
 .../include/ignite/binary/binary_raw_reader.h   |   5 +
 .../include/ignite/binary/binary_raw_writer.h   |   5 +
 .../core/include/ignite/binary/binary_reader.h  |   5 +
 .../core/include/ignite/binary/binary_type.h    |  17 +
 .../core/include/ignite/binary/binary_writer.h  |   5 +
 .../cpp/core/include/ignite/cache/cache.h       |   5 +
 .../cpp/core/include/ignite/cache/cache_entry.h |   5 +
 .../core/include/ignite/cache/cache_peek_mode.h |   5 +
 .../cpp/core/include/ignite/cache/query/query.h |   5 +
 .../include/ignite/cache/query/query_argument.h |   6 +
 .../include/ignite/cache/query/query_cursor.h   |   5 +
 .../ignite/cache/query/query_fields_cursor.h    |   5 +
 .../ignite/cache/query/query_fields_row.h       |   5 +
 .../include/ignite/cache/query/query_scan.h     |   5 +
 .../core/include/ignite/cache/query/query_sql.h |   5 +
 .../ignite/cache/query/query_sql_fields.h       |   5 +
 .../include/ignite/cache/query/query_text.h     |   5 +
 .../platforms/cpp/core/include/ignite/guid.h    |   5 +
 .../platforms/cpp/core/include/ignite/ignite.h  |   5 +
 .../core/include/ignite/ignite_configuration.h  |   5 +
 .../cpp/core/include/ignite/ignite_error.h      |   5 +
 .../cpp/core/include/ignite/ignition.h          |   5 +
 modules/platforms/cpp/core/namespaces.dox       |  53 ++
 modules/platforms/cpp/examples/configure.ac     |   2 +-
 modules/platforms/cpp/ignite/configure.ac       |   2 +-
 .../Properties/AssemblyInfo.cs                  |   5 +-
 .../Properties/AssemblyInfo.cs                  |   5 +-
 .../Properties/AssemblyInfo.cs                  |   5 +-
 .../Services/ServicesTest.cs                    |  23 +-
 .../Binary/IBinaryRawReader.cs                  |   4 +-
 .../Apache.Ignite.Core/Binary/IBinaryReader.cs  |  25 +-
 .../Apache.Ignite.Core/Binary/Package-Info.cs   |   2 +-
 .../Apache.Ignite.Core/Cache/Package-Info.cs    |   2 +-
 .../Cache/Query/Continuous/Package-Info.cs      |   2 +-
 .../Cache/Query/Package-Info.cs                 |   2 +-
 .../Cache/Store/Package-Info.cs                 |   2 +-
 .../Apache.Ignite.Core/Cluster/Package-Info.cs  |   2 +-
 .../Apache.Ignite.Core/Compute/Package-Info.cs  |   2 +-
 .../Datastream/Package-Info.cs                  |   2 +-
 .../Apache.Ignite.Core/Events/Package-Info.cs   |   2 +-
 .../Impl/Binary/BinaryReader.cs                 |  13 +-
 .../Impl/Binary/BinaryUtils.cs                  |   4 +-
 .../Lifecycle/Package-Info.cs                   |   2 +-
 .../Messaging/Package-Info.cs                   |   2 +-
 .../dotnet/Apache.Ignite.Core/Package-Info.cs   |   2 +-
 .../Properties/AssemblyInfo.cs                  |   5 +-
 .../Apache.Ignite.Core/Resource/Package-Info.cs |   2 +-
 .../Apache.Ignite.Core/Services/Package-Info.cs |   2 +-
 .../Transactions/Package-Info.cs                |   2 +-
 modules/platforms/dotnet/Apache.Ignite.dxg      |   2 +-
 .../Apache.Ignite/Properties/AssemblyInfo.cs    |   5 +-
 .../Messaging/MessagingExample.cs               |   6 +-
 .../Properties/AssemblyInfo.cs                  |   5 +-
 .../Properties/AssemblyInfo.cs                  |   5 +-
 modules/rest-http/pom.xml                       |   2 +-
 modules/scalar-2.10/pom.xml                     |   2 +-
 modules/scalar/pom.xml                          |   2 +-
 modules/schedule/pom.xml                        |   2 +-
 modules/schema-import/pom.xml                   |   2 +-
 .../ignite/schema/generator/CodeGenerator.java  |   7 +-
 .../schema/test/AbstractSchemaImportTest.java   |  18 +
 .../org/apache/ignite/schema/test/model/Tst.txt | 506 +++++++++++++++++++
 .../apache/ignite/schema/test/model/TstKey.txt  |  96 ++++
 .../schema/test/model/ignite-type-metadata.xml  | 180 +++++++
 .../test/parser/DbMetadataParserTest.java       |  17 +-
 modules/slf4j/pom.xml                           |   2 +-
 modules/spark-2.10/pom.xml                      |   2 +-
 modules/spark/pom.xml                           |   2 +-
 modules/spring/pom.xml                          |   2 +-
 .../java/org/apache/ignite/IgniteSpring.java    |   4 +-
 modules/ssh/pom.xml                             |   2 +-
 modules/tools/pom.xml                           |   2 +-
 modules/twitter/pom.xml                         |   2 +-
 modules/urideploy/pom.xml                       |   2 +-
 .../GridUriDeploymentFileProcessorSelfTest.java |  19 +-
 modules/visor-console-2.10/pom.xml              |   2 +-
 modules/visor-console/pom.xml                   |   2 +-
 .../commands/cache/VisorCacheCommand.scala      |  14 +-
 modules/visor-plugins/pom.xml                   |   2 +-
 modules/web/pom.xml                             |   2 +-
 .../cache/websession/WebSessionFilter.java      |  82 +--
 .../cache/websession/WebSessionListener.java    |  25 +-
 .../internal/websession/WebSessionSelfTest.java |   2 -
 .../config/benchmark-multicast.properties       |   6 +-
 modules/yardstick/pom.xml                       |   2 +-
 .../cache/IgnitePutTxImplicitBenchmark.java     |  52 ++
 .../cache/IgnitePutTxOffHeapBenchmark.java      |   2 +-
 .../IgnitePutTxOffHeapValuesBenchmark.java      |   2 +-
 modules/yarn/pom.xml                            |   2 +-
 modules/zookeeper/pom.xml                       |   2 +-
 pom.xml                                         |  44 +-
 310 files changed, 7989 insertions(+), 1874 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index 9d3cd31,4808e96..643968f
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@@ -64,8 -42,10 +42,9 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.CacheObjectContext;
  import org.apache.ignite.internal.processors.cache.GridCacheContext;
  import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
+ import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
  import org.apache.ignite.internal.processors.cache.query.CacheQueryFuture;
  import org.apache.ignite.internal.processors.cache.query.CacheQueryType;
 -import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery;
  import org.apache.ignite.internal.util.GridSpinBusyLock;
  import org.apache.ignite.internal.util.future.GridCompoundFuture;
  import org.apache.ignite.internal.util.future.GridFinishedFuture;
@@@ -185,15 -190,19 +189,21 @@@ public class GridQueryProcessor extend
      }
  
      /**
 -     * @param ccfg Cache configuration.
 +     * @param cctx Cache context.
       * @throws IgniteCheckedException If failed.
       */
 -    public void initializeCache(CacheConfiguration<?, ?> ccfg) throws IgniteCheckedException {
 -        idx.registerCache(ccfg);
 +    private void initializeCache(GridCacheContext<?, ?> cctx) throws IgniteCheckedException {
 +        CacheConfiguration<?,?> ccfg = cctx.config();
 +
 +        idx.registerCache(cctx, cctx.config());
  
          try {
+             List<Class<?>> mustDeserializeClss = null;
+ 
+             boolean binaryEnabled = ctx.cacheObjects().isBinaryEnabled(ccfg);
+ 
+             CacheObjectContext coCtx = binaryEnabled ? ctx.cacheObjects().contextForCache(ccfg) : null;
+ 
              if (!F.isEmpty(ccfg.getQueryEntities())) {
                  for (QueryEntity qryEntity : ccfg.getQueryEntities()) {
                      if (F.isEmpty(qryEntity.getValueType()))
@@@ -245,15 -274,9 +275,15 @@@
  
                          if (valCls != null)
                              altTypeId = new TypeId(ccfg.getName(), valCls);
 +
 +                        // Need to setup affinity key for distributed joins.
 +                        String affField = ctx.cacheObjects().affinityField(qryEntity.getKeyType());
 +
 +                        if (affField != null)
 +                            desc.affinityKey(affField);
                      }
                      else {
-                         processClassMeta(qryEntity, desc);
+                         processClassMeta(qryEntity, desc, coCtx);
  
                          typeId = new TypeId(ccfg.getName(), valCls);
                          altTypeId = new TypeId(ccfg.getName(), ctx.cacheObjects().typeId(qryEntity.getValueType()));

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 23e7ec4,be72888..90dcc88
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -247,10 -242,10 +253,13 @@@ public class IgniteH2Indexing implement
      /** */
      private GridReduceQueryExecutor rdcQryExec;
  
+     /** space name -> schema name */
+     private final Map<String, String> space2schema = new ConcurrentHashMap8<>();
+ 
      /** */
 +    private GridSpinBusyLock busyLock;
 +
 +    /** */
      private final ThreadLocal<ConnectionWrapper> connCache = new ThreadLocal<ConnectionWrapper>() {
          @Nullable @Override public ConnectionWrapper get() {
              ConnectionWrapper c = super.get();
@@@ -1650,13 -1563,16 +1697,15 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public void registerCache(GridCacheContext<?,?> cctx, CacheConfiguration<?,?> ccfg)
 -    @Override public void registerCache(CacheConfiguration<?,?> ccfg) throws IgniteCheckedException {
++    @Override public void registerCache(GridCacheContext<?,?> cctx, CacheConfiguration<?,?> ccfg) 
 +        throws IgniteCheckedException {
-         String schema = schema(ccfg.getName());
+         String schema = schemaNameFromCacheConf(ccfg);
  
 -        if (schemas.putIfAbsent(schema, new Schema(ccfg.getName(), schema,
 -            ccfg.getOffHeapMaxMemory() >= 0 || ccfg.getMemoryMode() == CacheMemoryMode.OFFHEAP_TIERED ?
 -            new GridUnsafeMemory(0) : null, ccfg)) != null)
 -            throw new IgniteCheckedException("Schema for cache already registered: " + U.maskName(ccfg.getName()));
 +        if (schemas.putIfAbsent(schema, new Schema(ccfg.getName(), cctx, ccfg)) != null)
 +            throw new IgniteCheckedException("Cache already registered: " + U.maskName(ccfg.getName()));
  
+         space2schema.put(emptyIfNull(ccfg.getName()), schema);
+ 
          createSchema(schema);
  
          createSqlFunctions(schema, ccfg.getSqlFunctionClasses());
@@@ -2405,24 -2194,19 +2456,26 @@@
  
          /**
           * @param spaceName Space name.
+          * @param schemaName Schema name.
 -         * @param offheap Offheap memory.
 +         * @param cctx Cache context.
           * @param ccfg Cache configuration.
           */
 -        private Schema(@Nullable String spaceName, String schemaName, GridUnsafeMemory offheap, CacheConfiguration<?,?> ccfg) {
 +        private Schema(@Nullable String spaceName, GridCacheContext<?,?> cctx, CacheConfiguration<?,?> ccfg) {
              this.spaceName = spaceName;
 +            this.cctx = cctx;
+             this.schemaName = schemaName;
 -            this.offheap = offheap;
              this.ccfg = ccfg;
  
 -            if (offheap != null)
 -                rowCache = new CacheLongKeyLIRS<>(ccfg.getSqlOnheapRowCacheSize(), 1, 128, 256);
 -            else
 +            offheap = ccfg.getOffHeapMaxMemory() >= 0 || ccfg.getMemoryMode() == CacheMemoryMode.OFFHEAP_TIERED ?
 +                new GridUnsafeMemory(0) : null;
 +
 +            if (offheap != null) {
 +                CacheLongKeyLIRS.Config lirsCfg = new CacheLongKeyLIRS.Config();
 +
 +                lirsCfg.maxMemory = ccfg.getSqlOnheapRowCacheSize();
 +
 +                rowCache = new CacheLongKeyLIRS<>(lirsCfg);
 +            } else
                  rowCache = null;
          }
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
index a50c210,3d9c10a..08f12d9
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
@@@ -157,18 -145,8 +160,18 @@@ public class GridSqlQuerySplitter 
          if (params == null)
              params = GridCacheSqlQuery.EMPTY_PARAMS;
  
-         Set<String> spaces = new HashSet<>();
 +        Set<String> tbls = new HashSet<>();
+         Set<String> schemas = new HashSet<>();
  
 +        final Prepared prepared = prepared(stmt);
 +
 +        GridSqlQuery qry = new GridSqlQueryParser().parse(prepared);
 +
-         qry = collectAllTables(qry, spaces, tbls);
++        qry = collectAllTables(qry, schemas, tbls);
 +
 +        // Build resulting two step query.
 +        GridCacheTwoStepQuery res = new GridCacheTwoStepQuery(spaces, tbls);
 +
          // Map query will be direct reference to the original query AST.
          // Thus all the modifications will be performed on the original AST, so we should be careful when
          // nullifying or updating things, have to make sure that we will not need them in the original form later.
@@@ -296,34 -172,40 +302,46 @@@
          boolean aggregateFound = false;
  
          for (int i = 0, len = mapExps.size(); i < len; i++) // Remember len because mapExps list can grow.
-             aggregateFound |= splitSelectExpression(mapExps, rdcExps, colNames, i, collocatedGroupBy);
 -            aggregateFound |= splitSelectExpression(mapExps, rdcExps, colNames, i, collocated, i == havingCol);
++            aggregateFound |= splitSelectExpression(mapExps, rdcExps, colNames, i, collocatedGroupBy, i == havingCol);
  
 -        // Fill select expressions.
 +        // -- SELECT
          mapQry.clearColumns();
  
          for (GridSqlElement exp : mapExps) // Add all map expressions as visible.
              mapQry.addColumn(exp, true);
  
-         for (GridSqlElement rdcExp : rdcExps) // Add corresponding visible reduce columns.
-             rdcQry.addColumn(rdcExp, true);
+         for (int i = 0; i < visibleCols; i++) // Add visible reduce columns.
+             rdcQry.addColumn(rdcExps.get(i), true);
+ 
+         for (int i = visibleCols; i < rdcExps.size(); i++) // Add invisible reduce columns (HAVING).
+             rdcQry.addColumn(rdcExps.get(i), false);
  
-         for (int i = rdcExps.length; i < mapExps.size(); i++)  // Add all extra map columns as invisible reduce columns.
+         for (int i = rdcExps.size(); i < mapExps.size(); i++)  // Add all extra map columns as invisible reduce columns.
              rdcQry.addColumn(column(((GridSqlAlias)mapExps.get(i)).alias()), false);
  
 +        // -- FROM
 +        findAffinityColumnConditions(mapQry.from());
 +
 +        // -- WHERE
 +        findAffinityColumnConditions(mapQry.where());
 +
          // -- GROUP BY
 -        if (mapQry.groupColumns() != null && !collocated)
 +        if (mapQry.groupColumns() != null && !collocatedGroupBy)
              rdcQry.groupColumns(mapQry.groupColumns());
  
          // -- HAVING
-         if (mapQry.havingColumn() >= 0 && !collocatedGroupBy) {
 -        if (havingCol >= 0 && !collocated) {
++        if (havingCol >= 0 && !collocatedGroupBy) {
              // TODO IGNITE-1140 - Find aggregate functions in HAVING clause or rewrite query to put all aggregates to SELECT clause.
-             rdcQry.whereAnd(column(columnName(mapQry.havingColumn())));
+             // We need to find HAVING column in reduce query.
+             for (int i = visibleCols; i < rdcQry.allColumns(); i++) {
+                 GridSqlElement c = rdcQry.column(i);
+ 
+                 if (c instanceof GridSqlAlias && HAVING_COLUMN.equals(((GridSqlAlias)c).alias())) {
+                     rdcQry.havingColumn(i);
+ 
+                     break;
+                 }
+             }
  
              mapQry.havingColumn(-1);
          }
@@@ -418,11 -315,10 +436,12 @@@
  
      /**
       * @param qry Query.
 +     * @param spaces Space names.
 +     * @param tbls Tables.
+      * @param schemas Shemas' names.
       * @return Query.
       */
 -    private static GridSqlQuery collectAllSpaces(GridSqlQuery qry, Set<String> schemas) {
 +    private static GridSqlQuery collectAllTables(GridSqlQuery qry, Set<String> spaces, Set<String> tbls) {
          if (qry instanceof GridSqlUnion) {
              GridSqlUnion union = (GridSqlUnion)qry;
  
@@@ -445,44 -341,10 +464,45 @@@
  
      /**
       * @param from From element.
 +     * @param spaces Space names.
 +     * @param tbls Tables.
+      * @param schemas Shemas' names.
       */
 -    private static void collectAllSpacesInFrom(GridSqlElement from, Set<String> schemas) {
 -        assert from != null;
 +    private static void collectAllTablesInFrom(GridSqlElement from, final Set<String> spaces, final Set<String> tbls) {
 +        findTablesInFrom(from, new IgnitePredicate<GridSqlElement>() {
 +            @Override public boolean apply(GridSqlElement el) {
 +                if (el instanceof GridSqlTable) {
 +                    GridSqlTable tbl = (GridSqlTable)el;
 +
 +                    String schema = tbl.schema();
 +
 +                    if (schema != null && spaces != null)
 +                        spaces.add(IgniteH2Indexing.space(schema));
 +
 +                    if (tbls != null)
 +                        tbls.add(tbl.dataTable().identifier());
 +                }
 +                else if (el instanceof GridSqlSubquery)
 +                    collectAllTables(((GridSqlSubquery)el).select(), spaces, tbls);
 +
 +                return false;
 +            }
 +        });
 +    }
 +
 +    /**
 +     * Processes all the tables and subqueries using the given closure.
 +     *
 +     * @param from FROM element.
 +     * @param c Closure each found table and subquery will be passed to. If returns {@code true} the we need to stop.
 +     * @return {@code true} If we have found.
 +     */
 +    private static boolean findTablesInFrom(GridSqlElement from, IgnitePredicate<GridSqlElement> c) {
 +        if (from == null)
 +            return false;
 +
 +        if (from instanceof GridSqlTable || from instanceof GridSqlSubquery)
 +            return c.apply(from);
  
          if (from instanceof GridSqlJoin) {
              // Left and right.
@@@ -506,14 -368,11 +526,15 @@@
      /**
       * Searches spaces in subqueries in SELECT and WHERE clauses.
       * @param el Element.
 +     * @param spaces Space names.
 +     * @param tbls Tables.
+      * @param schemas Schemas' names.
       */
 -    private static void collectAllSpacesInSubqueries(GridSqlElement el, Set<String> schemas) {
 -        if (el instanceof GridSqlAlias)
 -            el = el.child();
 +    private static void collectAllTablesInSubqueries(GridSqlElement el, Set<String> spaces, Set<String> tbls) {
 +        if (el == null)
 +            return;
 +
 +        el = GridSqlAlias.unwrap(el);
  
          if (el instanceof GridSqlOperation || el instanceof GridSqlFunction) {
              for (GridSqlElement child : el)

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
index cdb926e,1507543..4ca6877
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
@@@ -64,7 -65,10 +65,9 @@@ import org.apache.ignite.configuration.
  import org.apache.ignite.events.CacheQueryExecutedEvent;
  import org.apache.ignite.events.CacheQueryReadEvent;
  import org.apache.ignite.events.Event;
+ import org.apache.ignite.internal.IgniteKernal;
+ import org.apache.ignite.internal.binary.BinaryMarshaller;
  import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedQuerySelfTest;
 -import org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager;
  import org.apache.ignite.internal.processors.cache.query.QueryCursorEx;
  import org.apache.ignite.internal.processors.query.GridQueryFieldMetadata;
  import org.apache.ignite.internal.util.tostring.GridToStringExclude;
@@@ -759,8 -811,24 +810,8 @@@ public abstract class IgniteCacheAbstra
      /**
       * @throws Exception If failed.
       */
 -    public void testEmptyObject() throws Exception {
 -        IgniteCache<EmptyObject, EmptyObject> cache = ignite().cache(null);
 -
 -        cache.put(new EmptyObject(1), new EmptyObject(2));
 -
 -        for (int i = 0; i < gridCount(); i++) {
 -            GridCacheQueryManager<Object, Object> qryMgr =
 -                ((IgniteKernal)grid(i)).internalCache().context().queries();
 -
 -            assert !hasIndexTable(EmptyObject.class, qryMgr);
 -        }
 -    }
 -
 -    /**
 -     * @throws Exception If failed.
 -     */
      public void testPrimitiveType() throws Exception {
-         IgniteCache<Integer, Integer> cache = ignite.cache(null);
+         IgniteCache<Integer, Integer> cache = ignite().cache(null);
  
          cache.put(1, 1);
          cache.put(2, 2);
@@@ -1262,20 -1378,29 +1361,29 @@@
  
                      return true;
                  }
-             }, EVT_CACHE_QUERY_EXECUTED);
+             };
+ 
+             grid(i).events().localListen(pred, EVT_CACHE_QUERY_EXECUTED);
+             qryExecLsnrs[i] = pred;
          }
  
-         IgniteCache<UUID, Person> cache = ignite.cache(null);
+         try {
 -            IgniteCache<UUID, Person> cache = ignite().cache(null);
++            IgniteCache<UUID,Person> cache = ignite().cache(null);
  
-         for (int i = 1; i <= 20; i++)
-             cache.put(UUID.randomUUID(), new Person("Person " + i, i));
+             for (int i = 1; i <= 20; i++)
+                 cache.put(UUID.randomUUID(), new Person("Person " + i, i));
  
-         QueryCursor<List<?>> q = cache.query(new SqlFieldsQuery("select _key, name from Person where salary > ?").
-             setArgs(10));
+             QueryCursor<List<?>> q = cache.query(new SqlFieldsQuery("select _key, name from Person where salary > ?").
+                 setArgs(10));
  
-         q.getAll();
+             q.getAll();
  
-         assert execLatch.await(1000, MILLISECONDS);
+             assert execLatch.await(1000, MILLISECONDS);
+         }
+         finally {
+             for (int i = 0; i < gridCount(); i++)
+                 grid(i).events().stopLocalListen(qryExecLsnrs[i]);
+         }
      }
  
      /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
index 942a95c,d0e2780..b996861
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
@@@ -209,88 -207,55 +212,136 @@@ public class IgniteSqlSplitterSelfTest 
      }
  
      /**
 +     * @throws Exception If failed.
 +     */
 +    public void testDistributedJoins() throws Exception {
 +        CacheConfiguration ccfg = cacheConfig("persOrg", true,
 +            Integer.class, Person.class, Integer.class, Organization.class);
 +
 +        IgniteCache<Integer, Object> c = ignite(0).getOrCreateCache(ccfg);
 +
 +        try {
 +            awaitPartitionMapExchange();
 +
 +            doTestDistributedJoins(c, 30, 100, 1000, false);
 +            doTestDistributedJoins(c, 30, 100, 1000, true);
 +
 +            doTestDistributedJoins(c, 3, 10, 3, false);
 +            doTestDistributedJoins(c, 3, 10, 3, true);
 +
 +            doTestDistributedJoins(c, 300, 2000, 5, false);
 +            doTestDistributedJoins(c, 300, 2000, 5, true);
 +        }
 +        finally {
 +            c.destroy();
 +        }
 +    }
 +
 +    /**
+      * Test HAVING clause.
+      */
+     public void testHaving() {
+         IgniteCache<Integer, Integer> c = ignite(0).getOrCreateCache(cacheConfig("ints", true,
+             Integer.class, Integer.class));
+ 
+         try {
+             Random rnd = new GridRandom();
+ 
+             Map<Integer, AtomicLong> cntMap = new HashMap<>();
+ 
+             for (int i = 0; i < 1000; i++) {
+                 int v = (int)(50 * rnd.nextGaussian());
+ 
+                 c.put(i, v);
+ 
+                 AtomicLong cnt = cntMap.get(v);
+ 
+                 if (cnt == null)
+                     cntMap.put(v, cnt = new AtomicLong());
+ 
+                 cnt.incrementAndGet();
+             }
+ 
+             assertTrue(cntMap.size() > 10);
+ 
+             String sqlQry = "select _val, count(*) cnt from Integer group by _val having cnt > ?";
+ 
+             X.println("Plan: " + c.query(new SqlFieldsQuery("explain " + sqlQry).setArgs(0)).getAll());
+ 
+             for (int i = -1; i <= 1001; i += 10) {
+                 List<List<?>> res = c.query(new SqlFieldsQuery(sqlQry).setArgs(i)).getAll();
+ 
+                 for (List<?> row : res) {
+                     int v = (Integer)row.get(0);
+                     long cnt = (Long)row.get(1);
+ 
+                     assertTrue(cnt + " > " + i, cnt > i);
+                     assertEquals(cntMap.get(v).longValue(), cnt);
+                 }
+             }
+         }
+         finally {
+             c.destroy();
+         }
+     }
+ 
+     /**
       * @param c Cache.
 +     * @param orgs Number of organizations.
 +     * @param persons Number of persons.
 +     * @param pageSize Page size.
 +     * @param enforceJoinOrder Enforce join order.
 +     */
 +    private void doTestDistributedJoins(IgniteCache<Integer, Object> c, int orgs, int persons, int pageSize,
 +        boolean enforceJoinOrder) {
 +        assertEquals(0, c.size(CachePeekMode.ALL));
 +
 +        int key = 0;
 +
 +        for (int i = 0; i < orgs; i++) {
 +            Organization o = new Organization();
 +
 +            o.name = "Org" + i;
 +
 +            c.put(key++, o);
 +        }
 +
 +        Random rnd = new GridRandom();
 +
 +        for (int i = 0; i < persons; i++) {
 +            Person p = new Person();
 +
 +            p.name = "Person" + i;
 +            p.orgId = rnd.nextInt(orgs);
 +
 +            c.put(key++, p);
 +        }
 +
 +        String select = "select count(*) from Organization o, Person p where p.orgId = o._key";
 +
 +        String plan = (String)c.query(new SqlFieldsQuery("explain " + select)
 +            .setDistributedJoins(true).setEnforceJoinOrder(enforceJoinOrder).setPageSize(pageSize))
 +            .getAll().get(0).get(0);
 +
 +        X.println("Plan : " + plan);
 +
 +        if (enforceJoinOrder)
 +            assertTrue(plan, plan.contains("batched:broadcast"));
 +        else
 +            assertTrue(plan, plan.contains("batched:unicast"));
 +
 +        assertEquals(Long.valueOf(persons), c.query(new SqlFieldsQuery(select).setDistributedJoins(true)
 +            .setEnforceJoinOrder(enforceJoinOrder).setPageSize(pageSize)).getAll().get(0).get(0));
 +
 +        c.clear();
 +
 +        assertEquals(0, c.size(CachePeekMode.ALL));
 +        assertEquals(0L, c.query(new SqlFieldsQuery(select).setDistributedJoins(true)
 +            .setEnforceJoinOrder(enforceJoinOrder).setPageSize(pageSize)).getAll().get(0).get(0));
 +    }
 +
 +    /**
 +     * @param c Cache.
       * @param qry Query.
       * @param args Arguments.
       * @return Column as list.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java
index e3d763a,eddfcf4..de94d53
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java
@@@ -62,27 -119,76 +119,75 @@@ public class IgniteBinaryCacheQueryTest
  
          TestSuite suite = new TestSuite("Grid Cache Query Test Suite using BinaryMarshaller");
  
-         // Parsing
+         // Serialization.
+         suite.addTestSuite(BinarySerializationQuerySelfTest.class);
+         suite.addTestSuite(BinarySerializationQueryWithReflectiveSerializerSelfTest.class);
+ 
+         // Parsing.
          suite.addTestSuite(GridQueryParsingTest.class);
  
+         // Config.
+         suite.addTestSuite(IgniteCacheDuplicateEntityConfigurationSelfTest.class);
+ 
          // Queries tests.
+         suite.addTestSuite(IgniteSqlSplitterSelfTest.class);
          suite.addTestSuite(GridCacheQueryIndexDisabledSelfTest.class);
+         suite.addTestSuite(IgniteCacheQueryLoadSelfTest.class);
+         suite.addTestSuite(IgniteCacheLocalQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheLocalAtomicQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheReplicatedQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheReplicatedQueryP2PDisabledSelfTest.class);
+         suite.addTestSuite(IgniteCachePartitionedQuerySelfTest.class);
+         suite.addTestSuite(IgniteCachePartitionedSnapshotEnabledQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheAtomicQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheAtomicNearEnabledQuerySelfTest.class);
+         suite.addTestSuite(IgniteCachePartitionedQueryP2PDisabledSelfTest.class);
          suite.addTestSuite(IgniteCachePartitionedQueryMultiThreadedSelfTest.class);
+         suite.addTestSuite(IgniteCacheQueryIndexSelfTest.class);
+         suite.addTestSuite(IgniteCacheCollocatedQuerySelfTest.class);
          suite.addTestSuite(IgniteCacheLargeResultSelfTest.class);
+         suite.addTestSuite(GridCacheQueryInternalKeysSelfTest.class);
          suite.addTestSuite(IgniteCacheQueryMultiThreadedSelfTest.class);
+         suite.addTestSuite(IgniteCacheQueryMultiThreadedOffHeapTieredSelfTest.class);
          suite.addTestSuite(IgniteCacheQueryEvictsMultiThreadedSelfTest.class);
          suite.addTestSuite(IgniteCacheQueryOffheapMultiThreadedSelfTest.class);
- 
+         suite.addTestSuite(IgniteCacheQueryOffheapEvictsMultiThreadedSelfTest.class);
+         suite.addTestSuite(IgniteCacheOffheapEvictQueryTest.class);
+         suite.addTestSuite(IgniteCacheSqlQueryMultiThreadedSelfTest.class);
          suite.addTestSuite(IgniteCacheOffheapTieredMultithreadedSelfTest.class);
+         suite.addTestSuite(IgniteCacheQueryNodeRestartSelfTest.class);
+         suite.addTestSuite(IgniteCacheQueryNodeRestartSelfTest2.class);
+         suite.addTestSuite(IgniteCacheClientQueryReplicatedNodeRestartSelfTest.class);
 -        suite.addTestSuite(GridCacheReduceQueryMultithreadedSelfTest.class);
+         suite.addTestSuite(GridCacheCrossCacheQuerySelfTest.class);
+         suite.addTestSuite(GridCacheQuerySerializationSelfTest.class);
+         suite.addTestSuite(IgniteCacheBinaryObjectsScanSelfTest.class);
+         suite.addTestSuite(IgniteBinaryObjectFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteBinaryWrappedObjectFieldsQuerySelfTest.class);
+ 
+         // Scan queries.
+         suite.addTestSuite(CacheScanPartitionQueryFallbackSelfTest.class);
  
          // Fields queries.
+         suite.addTestSuite(SqlFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheLocalFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheReplicatedFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheReplicatedFieldsQueryP2PEnabledSelfTest.class);
+         suite.addTestSuite(IgniteCachePartitionedFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheAtomicFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteCacheAtomicNearEnabledFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteCachePartitionedFieldsQueryP2PEnabledSelfTest.class);
          suite.addTestSuite(IgniteCacheFieldsQueryNoDataSelfTest.class);
-         suite.addTestSuite(IgniteBinaryObjectFieldsQuerySelfTest.class);
  
          // Continuous queries.
+         suite.addTestSuite(GridCacheContinuousQueryLocalSelfTest.class);
          suite.addTestSuite(GridCacheContinuousQueryLocalAtomicSelfTest.class);
+         suite.addTestSuite(GridCacheContinuousQueryReplicatedSelfTest.class);
          suite.addTestSuite(GridCacheContinuousQueryReplicatedAtomicSelfTest.class);
+         suite.addTestSuite(GridCacheContinuousQueryReplicatedP2PDisabledSelfTest.class);
+         suite.addTestSuite(GridCacheContinuousQueryPartitionedSelfTest.class);
          suite.addTestSuite(GridCacheContinuousQueryPartitionedOnlySelfTest.class);
+         suite.addTestSuite(GridCacheContinuousQueryPartitionedP2PDisabledSelfTest.class);
+         suite.addTestSuite(GridCacheContinuousQueryTxSelfTest.class);
          suite.addTestSuite(GridCacheContinuousQueryAtomicSelfTest.class);
          suite.addTestSuite(GridCacheContinuousQueryAtomicNearEnabledSelfTest.class);
          suite.addTestSuite(GridCacheContinuousQueryAtomicP2PDisabledSelfTest.class);

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
index 5e191cc,4b1eafa..5bef70b
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
@@@ -112,7 -120,7 +120,8 @@@ public class IgniteCacheQuerySelfTestSu
  
          // Queries tests.
          suite.addTestSuite(IgniteSqlSplitterSelfTest.class);
+         suite.addTestSuite(IgniteSqlSchemaIndexingTest.class);
 +        suite.addTestSuite(IgniteCachePartitionedQuerySelfTest.class);
          suite.addTestSuite(GridCacheQueryIndexDisabledSelfTest.class);
          suite.addTestSuite(IgniteCacheQueryLoadSelfTest.class);
          suite.addTestSuite(IgniteCacheLocalQuerySelfTest.class);
@@@ -139,8 -148,11 +148,10 @@@
          suite.addTestSuite(IgniteCacheQueryNodeRestartSelfTest.class);
          suite.addTestSuite(IgniteCacheQueryNodeRestartSelfTest2.class);
          suite.addTestSuite(IgniteCacheClientQueryReplicatedNodeRestartSelfTest.class);
 -        suite.addTestSuite(GridCacheReduceQueryMultithreadedSelfTest.class);
          suite.addTestSuite(GridCacheCrossCacheQuerySelfTest.class);
          suite.addTestSuite(GridCacheQuerySerializationSelfTest.class);
+         suite.addTestSuite(IgniteBinaryObjectFieldsQuerySelfTest.class);
+         suite.addTestSuite(IgniteBinaryWrappedObjectFieldsQuerySelfTest.class);
  
          // Scan queries.
          suite.addTestSuite(CacheScanPartitionQueryFallbackSelfTest.class);

http://git-wip-us.apache.org/repos/asf/ignite/blob/5303fb82/modules/spring/pom.xml
----------------------------------------------------------------------