GG-11992 Add EnforceJoinOrder option.

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

Branch: refs/heads/ignite-gg-8.0.3.ea6-clients-test
Commit: ef35f4f42bde09ad890e586ecfd61933e7399378
Parents: 1118c72
Author: Alexey Kuznetsov <[email protected]>
Authored: Wed Mar 1 23:25:21 2017 +0700
Committer: Alexey Kuznetsov <[email protected]>
Committed: Wed Mar 1 23:25:21 2017 +0700

----------------------------------------------------------------------
 .../ignite/internal/visor/query/VisorQueryArg.java  | 16 +++++++++++++++-
 .../ignite/internal/visor/query/VisorQueryJob.java  |  1 +
 .../commands/cache/VisorCacheScanCommand.scala      |  2 +-
 3 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/ef35f4f4/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
index a5eb3eb..74f5b97 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
@@ -35,6 +35,9 @@ public class VisorQueryArg implements Serializable {
     /** Distributed joins enabled flag. */
     private final boolean distributedJoins;
 
+    /** Enforce join order flag. */
+    private final boolean enforceJoinOrder;
+
     /** Flag whether to execute query locally. */
     private final boolean loc;
 
@@ -44,13 +47,17 @@ public class VisorQueryArg implements Serializable {
     /**
      * @param cacheName Cache name for query.
      * @param qryTxt Query text.
+     * @param distributedJoins If {@code true} then distributed joins enabled.
+     * @param enforceJoinOrder If {@code true} then enforce join order.
      * @param loc Flag whether to execute query locally.
      * @param pageSize Result batch size.
      */
-    public VisorQueryArg(String cacheName, String qryTxt, boolean 
distributedJoins, boolean loc, int pageSize) {
+    public VisorQueryArg(String cacheName, String qryTxt,
+        boolean distributedJoins, boolean enforceJoinOrder, boolean loc, int 
pageSize) {
         this.cacheName = cacheName;
         this.qryTxt = qryTxt;
         this.distributedJoins = distributedJoins;
+        this.enforceJoinOrder = enforceJoinOrder;
         this.loc = loc;
         this.pageSize = pageSize;
     }
@@ -77,6 +84,13 @@ public class VisorQueryArg implements Serializable {
     }
 
     /**
+     * @return Enforce join order flag.
+     */
+    public boolean enforceJoinOrder() {
+        return enforceJoinOrder;
+    }
+
+    /**
      * @return {@code true} if query should be executed locally.
      */
     public boolean local() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/ef35f4f4/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
index cc1c678..95ac39b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
@@ -162,6 +162,7 @@ public class VisorQueryJob extends VisorJob<VisorQueryArg, 
IgniteBiTuple<? exten
                 qry.setPageSize(arg.pageSize());
                 qry.setLocal(arg.local());
                 qry.setDistributedJoins(arg.distributedJoins());
+                qry.setEnforceJoinOrder(arg.enforceJoinOrder());
 
                 long start = U.currentTimeMillis();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/ef35f4f4/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
----------------------------------------------------------------------
diff --git 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
index 39b2ce4..9668072 100644
--- 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
+++ 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
@@ -139,7 +139,7 @@ class VisorCacheScanCommand {
         val firstPage =
             try
                 executeRandom(groupForDataNode(node, cacheName),
-                    classOf[VisorQueryTask], new VisorQueryArg(cacheName, 
null, false, false, pageSize)) match {
+                    classOf[VisorQueryTask], new VisorQueryArg(cacheName, 
null, false, false, false, pageSize)) match {
                     case x if x.get1() != null =>
                         error(x.get1())
 

Reply via email to