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())
