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:59 UTC
[ignite] 08/08: WIP.
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 9dfda733fbc7523ff6c653dbf802013cf2dbdbac
Author: devozerov <vo...@gridgain.com>
AuthorDate: Mon Feb 4 11:16:33 2019 +0300
WIP.
---
.../internal/processors/query/h2/H2Utils.java | 15 +++++++++++++++
.../processors/query/h2/opt/GridH2IndexBase.java | 22 ----------------------
.../query/h2/opt/join/BroadcastCursor.java | 3 ++-
.../query/h2/twostep/GridMergeIndexSorted.java | 4 ++--
4 files changed, 19 insertions(+), 25 deletions(-)
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2Utils.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2Utils.java
index 7078b43..684ecf7 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2Utils.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2Utils.java
@@ -32,6 +32,7 @@ import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -728,4 +729,18 @@ public class H2Utils {
return prepared(s);
}
}
+
+ /**
+ * @param arr Array.
+ * @param off Offset.
+ * @param cmp Comparator.
+ */
+ public static <Z> void bubbleUp(Z[] arr, int off, Comparator<Z> cmp) {
+ for (int i = off, last = arr.length - 1; i < last; i++) {
+ if (cmp.compare(arr[i], arr[i + 1]) <= 0)
+ break;
+
+ U.swap(arr, i, i + 1);
+ }
+ }
}
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 fa09e69..46258b0 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
@@ -67,7 +67,6 @@ import org.h2.value.Value;
import javax.cache.CacheException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -97,12 +96,6 @@ public abstract class GridH2IndexBase extends BaseIndex {
private IgniteLogger log;
/** */
- private final CIX2<ClusterNode,Message> locNodeHnd = new CIX2<ClusterNode,Message>() {
- @Override public void applyx(ClusterNode clusterNode, Message msg) {
- onMessage0(clusterNode.id(), msg);
- }
- };
-
protected GridCacheContext<?, ?> ctx;
/**
@@ -527,21 +520,6 @@ public abstract class GridH2IndexBase extends BaseIndex {
}
/**
- * @param arr Array.
- * @param off Offset.
- * @param cmp Comparator.
- */
- public static <Z> void bubbleUp(Z[] arr, int off, Comparator<Z> cmp) {
- // TODO Optimize: use binary search if the range in array is big.
- for (int i = off, last = arr.length - 1; i < last; i++) {
- if (cmp.compare(arr[i], arr[i + 1]) <= 0)
- break;
-
- U.swap(arr, i, i + 1);
- }
- }
-
- /**
* @return Index segments count.
*/
public abstract int segmentsCount();
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/BroadcastCursor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/BroadcastCursor.java
index 632d72a..9d12028 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/BroadcastCursor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/join/BroadcastCursor.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.query.h2.opt.join;
+import org.apache.ignite.internal.processors.query.h2.H2Utils;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2IndexBase;
import org.h2.index.Cursor;
import org.h2.result.Row;
@@ -122,7 +123,7 @@ public class BroadcastCursor implements Cursor, Comparator<RangeStream> {
}
// Bubble up current min stream with respect to fetched row to achieve correct sort order of streams.
- GridH2IndexBase.bubbleUp(streams, off, this);
+ H2Utils.bubbleUp(streams, off, this);
return true;
}
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMergeIndexSorted.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMergeIndexSorted.java
index 880e305..482752a 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMergeIndexSorted.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMergeIndexSorted.java
@@ -32,6 +32,7 @@ import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.internal.GridKernalContext;
+import org.apache.ignite.internal.processors.query.h2.H2Utils;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2Cursor;
import org.apache.ignite.internal.processors.query.h2.opt.H2PlainRowFactory;
import org.apache.ignite.internal.util.typedef.F;
@@ -49,7 +50,6 @@ import org.h2.value.Value;
import org.jetbrains.annotations.Nullable;
import static java.util.Collections.emptyIterator;
-import static org.apache.ignite.internal.processors.query.h2.opt.GridH2IndexBase.bubbleUp;
/**
* Sorted index.
@@ -258,7 +258,7 @@ public final class GridMergeIndexSorted extends GridMergeIndex {
return; // All streams are done.
if (streams[off].next())
- bubbleUp(streams, off, streamCmp);
+ H2Utils.bubbleUp(streams, off, streamCmp);
else
streams[off++] = null; // Move left bound and nullify empty stream.
}