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/02/04 08:16:57 UTC
[ignite] 06/08: Merge with master.
This is an automated email from the ASF dual-hosted git repository.
vozerov pushed a commit to branch col_model
in repository https://gitbox.apache.org/repos/asf/ignite.git
commit 3c5c42bf66f5c8c0e46ad719f167c1d2653ab02a
Author: devozerov <vo...@gridgain.com>
AuthorDate: Mon Feb 4 11:09:33 2019 +0300
Merge with master.
---
.../processors/query/h2/opt/GridH2IndexBase.java | 14 ++------------
.../processors/query/h2/opt/join/CollocationModel.java | 18 +++++++++++-------
2 files changed, 13 insertions(+), 19 deletions(-)
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
index e2f06a3..4c1757e 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
@@ -38,7 +38,6 @@ import org.apache.ignite.internal.processors.query.h2.opt.join.CollocationModel;
import org.apache.ignite.internal.processors.query.h2.opt.join.RangeSource;
import org.apache.ignite.internal.processors.query.h2.opt.join.RangeStream;
import org.apache.ignite.internal.processors.query.h2.opt.join.SegmentKey;
-import org.apache.ignite.internal.processors.query.h2.sql.SplitterContext;
import org.apache.ignite.internal.processors.query.h2.twostep.msg.GridH2IndexRangeRequest;
import org.apache.ignite.internal.processors.query.h2.twostep.msg.GridH2IndexRangeResponse;
import org.apache.ignite.internal.processors.query.h2.twostep.msg.GridH2RowMessage;
@@ -210,18 +209,9 @@ public abstract class GridH2IndexBase extends BaseIndex {
* @return Multiplier.
*/
public final int getDistributedMultiplier(Session ses, TableFilter[] filters, int filter) {
- // We do optimizations with respect to distributed joins only on PREPARE stage only.
- // Notice that we check for isJoinBatchEnabled, because we can do multiple different
- // optimization passes on PREPARE stage.
- // Query expressions can not be distributed as well.
- SplitterContext ctx = SplitterContext.get();
+ CollocationModelMultiplier mul = CollocationModel.distributedMultiplier(ses, filters, filter);
- if (!ctx.distributedJoins() || !ses.isJoinBatchEnabled() || ses.isPreparingQueryExpression())
- return CollocationModelMultiplier.COLLOCATED.multiplier();
-
- assert filters != null;
-
- return CollocationModel.distributedMultiplier(ctx, ses, filters, filter);
+ return mul.multiplier();
}
/** {@inheritDoc} */
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/CollocationModel.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/CollocationModel.java
index efe413c..6bbd968 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/CollocationModel.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/CollocationModel.java
@@ -629,18 +629,22 @@ public final class CollocationModel {
/**
* Get distributed multiplier for the given sequence of tables.
*
- * @param ctx Splitter context.
* @param ses Session.
* @param filters Filters.
* @param filter Filter index.
* @return Multiplier.
*/
- public static int distributedMultiplier(
- SplitterContext ctx,
- Session ses,
- TableFilter[] filters,
- int filter
- ) {
+ public static CollocationModelMultiplier distributedMultiplier(Session ses, TableFilter[] filters, int filter) {
+ // Notice that we check for isJoinBatchEnabled, because we can do multiple different
+ // optimization passes on PREPARE stage.
+ // Query expressions can not be distributed as well.
+ SplitterContext ctx = SplitterContext.get();
+
+ if (!ctx.distributedJoins() || !ses.isJoinBatchEnabled() || ses.isPreparingQueryExpression())
+ return CollocationModelMultiplier.COLLOCATED;
+
+ assert filters != null;
+
clearViewIndexCache(ses);
CollocationModel model = buildCollocationModel(ctx, ses.getSubQueryInfo(), filters, filter, false);