You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2019/01/29 15:26:53 UTC
[ignite] 03/05: WIP.
This is an automated email from the ASF dual-hosted git repository.
vozerov pushed a commit to branch ignite-10985
in repository https://gitbox.apache.org/repos/asf/ignite.git
commit 894c5c1f7d543d7d11a7a896d069deb084585571
Author: devozerov <vo...@gridgain.com>
AuthorDate: Tue Jan 29 17:59:11 2019 +0300
WIP.
---
.../processors/cache/IgniteCacheOffheapManager.java | 13 +++++++++++++
.../processors/cache/IgniteCacheOffheapManagerImpl.java | 8 +++++++-
.../cache/persistence/GridCacheOffheapManager.java | 17 ++++++++++++++---
.../processors/query/h2/database/H2PkHashIndex.java | 2 +-
4 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
index c0c81c6..b02bc9d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
@@ -1010,6 +1010,19 @@ public interface IgniteCacheOffheapManager {
KeyCacheObject upper, Object x, MvccSnapshot snapshot) throws IgniteCheckedException;
/**
+ * @param cacheId Cache ID.
+ * @param lower Lower bound.
+ * @param upper Upper bound.
+ * @param x Implementation specific argument, {@code null} always means that we need to return full detached data row.
+ * @param snapshot Mvcc snapshot.
+ * @param skipVer Whether version read should be skipped.
+ * @return Data cursor.
+ * @throws IgniteCheckedException If failed.
+ */
+ public GridCursor<? extends CacheDataRow> cursor(int cacheId, KeyCacheObject lower,
+ KeyCacheObject upper, Object x, MvccSnapshot snapshot, boolean skipVer) throws IgniteCheckedException;
+
+ /**
* Destroys the tree associated with the store.
*
* @throws IgniteCheckedException If failed.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index 82c65ad..e60a002 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -2759,9 +2759,15 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager
/** {@inheritDoc} */
@Override public GridCursor<? extends CacheDataRow> cursor(int cacheId, KeyCacheObject lower,
KeyCacheObject upper, Object x, MvccSnapshot snapshot) throws IgniteCheckedException {
+ return cursor(cacheId, lower, upper, x, snapshot, false);
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCursor<? extends CacheDataRow> cursor(int cacheId, KeyCacheObject lower,
+ KeyCacheObject upper, Object x, MvccSnapshot snapshot, boolean skipVer) throws IgniteCheckedException {
SearchRow lowerRow;
SearchRow upperRow;
-
+ // TODO: Use skiPver.
if (grp.sharedGroup()) {
assert cacheId != CU.UNDEFINED_CACHE_ID;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
index 9d4311a..b93f1ff 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
@@ -2229,12 +2229,23 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple
KeyCacheObject lower,
KeyCacheObject upper,
Object x,
- MvccSnapshot mvccSnapshot)
- throws IgniteCheckedException {
+ MvccSnapshot mvccSnapshot
+ ) throws IgniteCheckedException {
+ return cursor(cacheId, lower, upper, x, mvccSnapshot, false);
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCursor<? extends CacheDataRow> cursor(int cacheId,
+ KeyCacheObject lower,
+ KeyCacheObject upper,
+ Object x,
+ MvccSnapshot mvccSnapshot,
+ boolean skipVer
+ ) throws IgniteCheckedException {
CacheDataStore delegate = init0(true);
if (delegate != null)
- return delegate.cursor(cacheId, lower, upper, x, mvccSnapshot);
+ return delegate.cursor(cacheId, lower, upper, x, mvccSnapshot, skipVer);
return EMPTY_CURSOR;
}
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java
index 1add933..fee4b19 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java
@@ -126,7 +126,7 @@ public class H2PkHashIndex extends GridH2IndexBase {
continue;
if (filter == null || filter.applyPartition(part))
- cursors.add(store.cursor(cctx.cacheId(), lowerObj, upperObj, null, mvccSnapshot));
+ cursors.add(store.cursor(cctx.cacheId(), lowerObj, upperObj, null, mvccSnapshot, true));
}
return new H2PkHashIndexCursor(cursors.iterator());