http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java ----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/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 47ca598,07a198f..6ea3387 --- 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 @@@ -2468,6 -2690,73 +2690,39 @@@ public class IgniteH2Indexing implement } /** + * @return Index. + */ + private Index createHashIndex( + int cacheId, + String name, + GridH2Table tbl, + List<IndexColumn> cols + ) { + try { + GridCacheSharedContext<Object, Object> scctx = ctx.cache().context(); + + GridCacheContext cctx = scctx.cacheContext(cacheId); + + if (cctx.affinityNode() && cctx.offheapIndex()) { + assert pkHashIdx == null : pkHashIdx; + + pkHashIdx = new H2PkHashIndex( + cctx, + tbl, + name, + cols); + + return pkHashIdx; + } + + return new GridH2TreeIndex(name, tbl, true, cols); + } + catch (IgniteCheckedException e) { + throw new IgniteException(e); + } + } + + /** - * @param name Index name. - * @param tbl Table. - * @param pk Primary key flag. - * @param cols Columns. - * @return Index. - */ - private Index createIndex( - GridCacheContext cctx, - String name, - GridH2Table tbl, - boolean pk, - List<IndexColumn> cols - ) throws IgniteCheckedException { - if (log.isInfoEnabled()) - log.info("Creating cache index [cacheId=" + cctx.cacheId() + ", idxName=" + name + ']'); - - Index idx = new H2TreeIndex( - cctx, - tbl, - name, - pk, - cols); - - if (pk) { - assert pkTreeIdx == null : pkTreeIdx; - - pkTreeIdx = idx; - } - - return idx; - - } - - /** * */ void onDrop() { http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/12130467/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java ----------------------------------------------------------------------