You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by pr...@apache.org on 2016/10/17 19:55:07 UTC
[17/50] [abbrv] asterixdb git commit: More clean up form interval
prep.
More clean up form interval prep.
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/5b102cca
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/5b102cca
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/5b102cca
Branch: refs/heads/ecarm002/interval_join_merge
Commit: 5b102cca23ad96a91df22d5490ea371ba2a14ac4
Parents: 9986726
Author: Preston Carman <pr...@apache.org>
Authored: Mon Jul 18 16:52:02 2016 -0700
Committer: Preston Carman <pr...@apache.org>
Committed: Mon Jul 18 16:52:02 2016 -0700
----------------------------------------------------------------------
...AbstractIntervalInverseMergeJoinChecker.java | 15 ++---
.../joins/AbstractIntervalMergeJoinChecker.java | 63 +++++++-------------
.../joins/AfterIntervalMergeJoinChecker.java | 17 ++----
.../joins/BeforeIntervalMergeJoinChecker.java | 17 ++----
.../CoveredByIntervalMergeJoinChecker.java | 4 +-
.../joins/CoversIntervalMergeJoinChecker.java | 4 +-
.../joins/EndedByIntervalMergeJoinChecker.java | 4 +-
.../joins/EndsIntervalMergeJoinChecker.java | 7 +--
.../joins/EqualsIntervalMergeJoinChecker.java | 6 +-
.../joins/IIntervalMergeJoinChecker.java | 4 +-
.../joins/MeetsIntervalMergeJoinChecker.java | 4 +-
.../joins/MetByIntervalMergeJoinChecker.java | 17 ++----
.../OverlappedByIntervalMergeJoinChecker.java | 4 +-
.../OverlappingIntervalMergeJoinChecker.java | 3 +-
.../joins/OverlapsIntervalMergeJoinChecker.java | 4 +-
.../StartedByIntervalMergeJoinChecker.java | 4 +-
.../joins/StartsIntervalMergeJoinChecker.java | 34 +++++------
.../intervalindex/IntervalIndexJoiner.java | 8 +--
.../IntervalPartitionUtil.java | 5 +-
.../VPartitionDeletableTupleBufferManager.java | 10 ++--
20 files changed, 93 insertions(+), 141 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalInverseMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalInverseMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalInverseMergeJoinChecker.java
index 9f9f75d..4343386 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalInverseMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalInverseMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.dataflow.std.buffermanager.ITupleAccessor;
@@ -33,15 +32,11 @@ public abstract class AbstractIntervalInverseMergeJoinChecker extends AbstractIn
@Override
public boolean checkToSaveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getStart(startLeft);
- ipRight.getEnd(endRight);
- return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getStart(startLeft);
+ ipRight.getEnd(endRight);
+ return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0;
}
@Override
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalMergeJoinChecker.java
index cf0bf6a..b461799 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AbstractIntervalMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.comparisons.ComparisonHelper;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalLogic;
@@ -66,29 +65,21 @@ public abstract class AbstractIntervalMergeJoinChecker implements IIntervalMerge
@Override
public boolean checkToSaveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getEnd(endLeft);
- ipRight.getStart(startRight);
- return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), endLeft, startRight) >= 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getEnd(endLeft);
+ ipRight.getStart(startRight);
+ return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), endLeft, startRight) >= 0;
}
@Override
public boolean checkToRemoveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getStart(startLeft);
- ipRight.getEnd(endRight);
- return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0);
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getStart(startLeft);
+ ipRight.getEnd(endRight);
+ return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0);
}
@Override
@@ -107,37 +98,29 @@ public abstract class AbstractIntervalMergeJoinChecker implements IIntervalMerge
@Override
public boolean checkToRemoveInMemory(IFrameTupleAccessor accessorLeft, int leftTupleIndex,
IFrameTupleAccessor accessorRight, int rightTupleIndex) throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, leftTupleIndex, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, rightTupleIndex, idRight, tvp, ipRight);
- ipLeft.getStart(startLeft);
- ipRight.getEnd(endRight);
- return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0);
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, leftTupleIndex, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, rightTupleIndex, idRight, tvp, ipRight);
+ ipLeft.getStart(startLeft);
+ ipRight.getEnd(endRight);
+ return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0);
}
@Override
public boolean checkToSaveInResult(IFrameTupleAccessor accessorLeft, int leftTupleIndex,
IFrameTupleAccessor accessorRight, int rightTupleIndex, boolean reversed) throws HyracksDataException {
- try {
- if (reversed) {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, leftTupleIndex, idLeft, tvp, ipRight);
- IntervalJoinUtil.getIntervalPointable(accessorRight, rightTupleIndex, idRight, tvp, ipLeft);
- } else {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, leftTupleIndex, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, rightTupleIndex, idRight, tvp, ipRight);
- }
- return compareInterval(ipLeft, ipRight);
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
+ if (reversed) {
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, leftTupleIndex, idLeft, tvp, ipRight);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, rightTupleIndex, idRight, tvp, ipLeft);
+ } else {
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, leftTupleIndex, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, rightTupleIndex, idRight, tvp, ipRight);
}
+ return compareInterval(ipLeft, ipRight);
}
@Override
public abstract boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight)
- throws AsterixException;
+ throws HyracksDataException;
@Override
public abstract boolean compareIntervalPartition(int s1, int e1, int s2, int e2);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AfterIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AfterIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AfterIntervalMergeJoinChecker.java
index c2c6544..162746f 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AfterIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/AfterIntervalMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -39,15 +38,11 @@ public class AfterIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChec
@Override
public boolean checkToSaveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getStart(startLeft);
- ipRight.getStart(startRight);
- return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) > 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getStart(startLeft);
+ ipRight.getStart(startRight);
+ return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) > 0;
}
@Override
@@ -57,7 +52,7 @@ public class AfterIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChec
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.after(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/BeforeIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/BeforeIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/BeforeIntervalMergeJoinChecker.java
index e98de10..2053ab1 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/BeforeIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/BeforeIntervalMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -39,15 +38,11 @@ public class BeforeIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChe
@Override
public boolean checkToSaveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getStart(startLeft);
- ipRight.getStart(startRight);
- return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) < 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getStart(startLeft);
+ ipRight.getStart(startRight);
+ return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) < 0;
}
@Override
@@ -57,7 +52,7 @@ public class BeforeIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChe
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.before(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoveredByIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoveredByIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoveredByIntervalMergeJoinChecker.java
index 5196c8f..93ce21e 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoveredByIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoveredByIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class CoveredByIntervalMergeJoinChecker extends AbstractIntervalInverseMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,7 +30,7 @@ public class CoveredByIntervalMergeJoinChecker extends AbstractIntervalInverseMe
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.coveredBy(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoversIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoversIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoversIntervalMergeJoinChecker.java
index 5133617..5535419 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoversIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/CoversIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class CoversIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,7 +30,7 @@ public class CoversIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChe
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.covers(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndedByIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndedByIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndedByIntervalMergeJoinChecker.java
index d9909fd..c25500f 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndedByIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndedByIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class EndedByIntervalMergeJoinChecker extends EndsIntervalMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,7 +30,7 @@ public class EndedByIntervalMergeJoinChecker extends EndsIntervalMergeJoinChecke
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.endedBy(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndsIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndsIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndsIntervalMergeJoinChecker.java
index a751470..b01faad 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndsIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EndsIntervalMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -34,15 +33,11 @@ public class EndsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinCheck
@Override
public boolean checkToSaveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
ipLeft.getEnd(endLeft);
ipRight.getEnd(endRight);
return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), endLeft, endRight) <= 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
}
@Override
@@ -52,7 +47,7 @@ public class EndsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinCheck
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.ends(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EqualsIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EqualsIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EqualsIntervalMergeJoinChecker.java
index 9318b38..b88169f 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EqualsIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/EqualsIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class EqualsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,8 +30,8 @@ public class EqualsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChe
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
- return il.equals(ipLeft, ipRight);
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
+ return il.same(ipLeft, ipRight);
}
@Override
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IIntervalMergeJoinChecker.java
index 841cac5..8a3d9c5 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IIntervalMergeJoinChecker.java
@@ -18,8 +18,8 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.dataflow.std.join.IMergeJoinChecker;
public interface IIntervalMergeJoinChecker extends IMergeJoinChecker {
@@ -28,7 +28,7 @@ public interface IIntervalMergeJoinChecker extends IMergeJoinChecker {
public boolean checkToRemoveRightActive();
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException;
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException;
public boolean compareIntervalPartition(int s1, int e1, int s2, int e2);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MeetsIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MeetsIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MeetsIntervalMergeJoinChecker.java
index d7e7434..411ae48 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MeetsIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MeetsIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class MeetsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,7 +30,7 @@ public class MeetsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChec
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.meets(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MetByIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MetByIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MetByIntervalMergeJoinChecker.java
index 98f0448..922f4e0 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MetByIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/MetByIntervalMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -34,19 +33,15 @@ public class MetByIntervalMergeJoinChecker extends AbstractIntervalInverseMergeJ
@Override
public boolean checkToSaveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getEnd(endLeft);
- ipRight.getStart(startRight);
- return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), endLeft, startRight) >= 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getEnd(endLeft);
+ ipRight.getStart(startRight);
+ return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), endLeft, startRight) >= 0;
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.metBy(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappedByIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappedByIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappedByIntervalMergeJoinChecker.java
index ad01a17..2691740 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappedByIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappedByIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class OverlappedByIntervalMergeJoinChecker extends AbstractIntervalInverseMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,7 +30,7 @@ public class OverlappedByIntervalMergeJoinChecker extends AbstractIntervalInvers
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.overlappedBy(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappingIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappingIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappingIntervalMergeJoinChecker.java
index 31c9d17..6c85e36 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappingIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlappingIntervalMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
import org.apache.hyracks.api.comm.IFrameTupleAccessor;
@@ -59,7 +58,7 @@ public class OverlappingIntervalMergeJoinChecker extends AbstractIntervalMergeJo
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.overlapping(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlapsIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlapsIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlapsIntervalMergeJoinChecker.java
index bc08b10..3f4c22b 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlapsIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/OverlapsIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class OverlapsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,7 +30,7 @@ public class OverlapsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinC
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.overlaps(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartedByIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartedByIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartedByIntervalMergeJoinChecker.java
index ec35be9..dfb72a7 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartedByIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartedByIntervalMergeJoinChecker.java
@@ -18,9 +18,9 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class StartedByIntervalMergeJoinChecker extends StartsIntervalMergeJoinChecker {
private static final long serialVersionUID = 1L;
@@ -30,7 +30,7 @@ public class StartedByIntervalMergeJoinChecker extends StartsIntervalMergeJoinCh
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.startedBy(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartsIntervalMergeJoinChecker.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartsIntervalMergeJoinChecker.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartsIntervalMergeJoinChecker.java
index 37de5e7..20526e2 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartsIntervalMergeJoinChecker.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/StartsIntervalMergeJoinChecker.java
@@ -18,7 +18,6 @@
*/
package org.apache.asterix.runtime.operators.joins;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable;
import org.apache.asterix.runtime.evaluators.functions.temporal.IntervalPartitionLogic;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -31,39 +30,34 @@ public class StartsIntervalMergeJoinChecker extends AbstractIntervalMergeJoinChe
super(keysLeft[0], keysRight[0]);
}
+ @Override
public boolean checkToSaveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getStart(startLeft);
- ipRight.getStart(startRight);
- return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) == 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getStart(startLeft);
+ ipRight.getStart(startRight);
+ return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) == 0;
}
+ @Override
public boolean checkToRemoveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
return !checkToSaveInMemory(accessorLeft, accessorRight);
}
+ @Override
public boolean checkToLoadNextRightTuple(ITupleAccessor accessorLeft, ITupleAccessor accessorRight)
throws HyracksDataException {
- try {
- IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
- IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
- ipLeft.getStart(startLeft);
- ipRight.getStart(startRight);
- return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) >= 0;
- } catch (AsterixException e) {
- throw new HyracksDataException(e);
- }
+ IntervalJoinUtil.getIntervalPointable(accessorLeft, idLeft, tvp, ipLeft);
+ IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight);
+ ipLeft.getStart(startLeft);
+ ipRight.getStart(startRight);
+ return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, startRight) >= 0;
}
@Override
- public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws AsterixException {
+ public boolean compareInterval(AIntervalPointable ipLeft, AIntervalPointable ipRight) throws HyracksDataException {
return il.starts(ipLeft, ipRight);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoiner.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoiner.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoiner.java
index e53f9ae..d6cd363 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoiner.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoiner.java
@@ -378,9 +378,9 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner {
outerAccessor.reset(outerTp);
for (TuplePointer innerTp : inner) {
innerAccessor.reset(innerTp);
- if (imjc.checkToSaveInResult(outerAccessor, outerTp.tupleIndex, innerAccessor, innerTp.tupleIndex,
+ if (imjc.checkToSaveInResult(outerAccessor, outerTp.getTupleIndex(), innerAccessor, innerTp.getTupleIndex(),
reversed)) {
- addToResult(outerAccessor, outerTp.tupleIndex, innerAccessor, innerTp.tupleIndex, reversed, writer);
+ addToResult(outerAccessor, outerTp.getTupleIndex(), innerAccessor, innerTp.getTupleIndex(), reversed, writer);
}
}
}
@@ -394,9 +394,9 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner {
ITupleAccessor tupleAccessor, boolean reversed, IFrameWriter writer) throws HyracksDataException {
for (TuplePointer outerTp : outer) {
outerAccessor.reset(outerTp);
- if (imjc.checkToSaveInResult(outerAccessor, outerTp.tupleIndex, tupleAccessor, tupleAccessor.getTupleId(),
+ if (imjc.checkToSaveInResult(outerAccessor, outerTp.getTupleIndex(), tupleAccessor, tupleAccessor.getTupleId(),
reversed)) {
- addToResult(outerAccessor, outerTp.tupleIndex, tupleAccessor, tupleAccessor.getTupleId(), reversed,
+ addToResult(outerAccessor, outerTp.getTupleIndex(), tupleAccessor, tupleAccessor.getTupleId(), reversed,
writer);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionUtil.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionUtil.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionUtil.java
index 0977adc..4c80ba8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionUtil.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionUtil.java
@@ -199,11 +199,12 @@ public class IntervalPartitionUtil {
int probeEnd = map.second;
// Build partitions with data
for (int buildStart = 0; buildStart < k; ++buildStart) {
- for (int buildEnd = buildStart; buildEnd < k; ++buildEnd) {
+ for (int buildEnd = k - 1; buildStart <= buildEnd; --buildEnd) {
int buildId = intervalPartitionMap(buildStart, buildEnd, k);
if (buildPSizeInTups[buildId] > 0) {
// Join partitions for probe's pid
- if (imjc.compareIntervalPartition(buildStart, buildEnd, probeStart, probeEnd)) {
+ if (!(buildStart == 0 && probeStart == 0)
+ && imjc.compareIntervalPartition(buildStart, buildEnd, probeStart, probeEnd)) {
joinMap.add(buildId);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5b102cca/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/VPartitionDeletableTupleBufferManager.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/VPartitionDeletableTupleBufferManager.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/VPartitionDeletableTupleBufferManager.java
index 3bd10cb..1e1127d 100644
--- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/VPartitionDeletableTupleBufferManager.java
+++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/VPartitionDeletableTupleBufferManager.java
@@ -137,10 +137,10 @@ public class VPartitionDeletableTupleBufferManager extends VPartitionTupleBuffer
@Override
public void deleteTuple(int partition, TuplePointer tuplePointer) throws HyracksDataException {
- partitionArray[parsePartitionId(tuplePointer.frameIndex)]
- .getFrame(parseFrameIdInPartition(tuplePointer.frameIndex), tempInfo);
+ partitionArray[parsePartitionId(tuplePointer.getFrameIndex())]
+ .getFrame(parseFrameIdInPartition(tuplePointer.getFrameIndex()), tempInfo);
accessor[partition].reset(tempInfo.getBuffer());
- accessor[partition].delete(tuplePointer.tupleIndex);
+ accessor[partition].delete(tuplePointer.getTupleIndex());
numTuples[partition]--;
}
@@ -157,8 +157,8 @@ public class VPartitionDeletableTupleBufferManager extends VPartitionTupleBuffer
@Override
void resetInnerAccessor(TuplePointer tuplePointer) {
- partitionArray[parsePartitionId(tuplePointer.frameIndex)]
- .getFrame(parseFrameIdInPartition(tuplePointer.frameIndex), tempInfo);
+ partitionArray[parsePartitionId(tuplePointer.getFrameIndex())]
+ .getFrame(parseFrameIdInPartition(tuplePointer.getFrameIndex()), tempInfo);
innerAccessor.reset(tempInfo.getBuffer());
}
};