Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-sprint-4 b359a7d21 -> fa2088893


#ignite-758: Fix query portable.


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

Branch: refs/heads/ignite-sprint-4
Commit: b8fd962728368637874499567b9f3c05f03a9cd0
Parents: b550b88
Author: ivasilinets <ivasilin...@gridgain.com>
Authored: Thu Apr 16 15:00:25 2015 +0300
Committer: ivasilinets <ivasilin...@gridgain.com>
Committed: Thu Apr 16 15:00:25 2015 +0300

----------------------------------------------------------------------
 .../processors/cache/GridCacheAdapter.java        |  7 ++++++-
 .../processors/cache/GridCacheProxyImpl.java      |  7 ++++++-
 .../processors/cache/IgniteCacheProxy.java        |  3 +++
 .../internal/processors/cache/InternalCache.java  |  5 +++++
 .../processors/cache/query/CacheQueriesImpl.java  | 18 +++++++++---------
 5 files changed, 29 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b8fd9627/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 3e8928b..e38e83b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -274,10 +274,15 @@ public abstract class GridCacheAdapter<K, V> implements 
InternalCache<K, V>, Ext
 
         init();
 
-        qry = new CacheQueriesImpl<>(ctx, null);
+        qry = new CacheQueriesImpl<>(ctx, false);
         aff = new GridCacheAffinityImpl<>(ctx);
     }
 
+    /** {@inheritDoc} */
+    @Override public void setQueryKeepPortable() {
+        qry = new CacheQueriesImpl<>(ctx, true);
+    }
+
     /**
      * Prints memory stats.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b8fd9627/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
index dca773c..310bf6e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
@@ -95,7 +95,7 @@ public class GridCacheProxyImpl<K, V> implements 
InternalCache<K, V>, Externaliz
         gate = ctx.gate();
         cache = ctx.cache();
 
-        qry = new CacheQueriesProxy<>(ctx, prj, delegate.queries());
+        qry = new CacheQueriesProxy<>(ctx, prj, new CacheQueriesImpl<>(ctx, 
prj != null ? prj.isKeepPortable() : false));
         aff = new GridCacheAffinityProxy<>(ctx, ctx.cache().affinity());
     }
 
@@ -143,6 +143,11 @@ public class GridCacheProxyImpl<K, V> implements 
InternalCache<K, V>, Externaliz
     }
 
     /** {@inheritDoc} */
+    @Override public void setQueryKeepPortable() {
+        qry = new CacheQueriesProxy<>(ctx, prj, new CacheQueriesImpl<>(ctx, 
true));
+    }
+
+    /** {@inheritDoc} */
     @Override public CacheQueries<K, V> queries() {
         return qry;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b8fd9627/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index 65bcc62..eb027c0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@ -110,6 +110,9 @@ public class IgniteCacheProxy<K, V> extends 
AsyncSupportAdapter<IgniteCache<K, V
         this.delegate = delegate;
         this.prjCtx = prjCtx;
 
+        if (prjCtx != null && prjCtx.isKeepPortable())
+            delegate.setQueryKeepPortable();
+
         gate = ctx.gate();
 
         legacyProxy = new GridCacheProxyImpl<>(ctx, delegate, prjCtx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b8fd9627/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/InternalCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/InternalCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/InternalCache.java
index fa9ed04..35bf61c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/InternalCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/InternalCache.java
@@ -208,6 +208,11 @@ public interface InternalCache<K, V> extends 
Iterable<Cache.Entry<K, V>> {
     public boolean skipStore();
 
     /**
+     * Set keep portable flag for queries.
+     */
+    public void setQueryKeepPortable();
+
+    /**
      * Returns queries facade responsible for creating various SQL, TEXT, or 
SCAN queries.
 
      * @return Queries facade responsible for creating various SQL, TEXT, or 
SCAN queries.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b8fd9627/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/CacheQueriesImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/CacheQueriesImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/CacheQueriesImpl.java
index 565a079..0bc26ea 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/CacheQueriesImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/CacheQueriesImpl.java
@@ -40,17 +40,17 @@ public class CacheQueriesImpl<K, V> implements 
CacheQueries<K, V> {
     private GridCacheContext<K, V> ctx;
 
     /** */
-    private CacheProjectionContext prj;
+    private boolean keepPortable;
 
     /**
      * @param ctx Context.
-     * @param prj Projection.
+     * @param keepPortable Projection.
      */
-    public CacheQueriesImpl(GridCacheContext<K, V> ctx, @Nullable 
CacheProjectionContext prj) {
+    public CacheQueriesImpl(GridCacheContext<K, V> ctx, boolean keepPortable) {
         assert ctx != null;
 
         this.ctx = ctx;
-        this.prj = prj;
+        this.keepPortable = keepPortable;
     }
 
     /** {@inheritDoc} */
@@ -63,7 +63,7 @@ public class CacheQueriesImpl<K, V> implements 
CacheQueries<K, V> {
             qry,
             null,
             false,
-            prj != null && prj.isKeepPortable());
+            keepPortable);
     }
 
     /** {@inheritDoc} */
@@ -77,7 +77,7 @@ public class CacheQueriesImpl<K, V> implements 
CacheQueries<K, V> {
             search,
             null,
             false,
-            prj != null && prj.isKeepPortable());
+            keepPortable);
     }
 
     /** {@inheritDoc} */
@@ -89,7 +89,7 @@ public class CacheQueriesImpl<K, V> implements 
CacheQueries<K, V> {
             null,
             (IgniteBiPredicate<Object, Object>)filter,
             false,
-            prj != null && prj.isKeepPortable());
+            keepPortable);
     }
 
     /**
@@ -104,7 +104,7 @@ public class CacheQueriesImpl<K, V> implements 
CacheQueries<K, V> {
             null,
             null,
             false,
-            prj != null && prj.isKeepPortable());
+            keepPortable);
     }
 
     /** {@inheritDoc} */
@@ -137,6 +137,6 @@ public class CacheQueriesImpl<K, V> implements 
CacheQueries<K, V> {
             qry,
             null,
             incMeta,
-            prj != null && prj.isKeepPortable());
+            keepPortable);
     }
 }

Reply via email to