[2/2] asterixdb git commit: Sonar fixes and other clean up items.
Sonar fixes and other clean up items. Change-Id: Ieb72a0fef3c181282cc4c71b881a7cb52da86818 Reviewed-on: https://asterix-gerrit.ics.uci.edu/999 Tested-by: JenkinsIntegration-Tests: Jenkins Reviewed-by: Till Westmann Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/bce1888e Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/bce1888e Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/bce1888e Branch: refs/heads/master Commit: bce1888eebdda3e306203d68c0c769a71dae739e Parents: 196db5d Author: Preston Carman Authored: Sat Jul 16 09:22:09 2016 -0700 Committer: Preston Carman Committed: Sat Jul 16 22:17:02 2016 -0700 -- ...econdaryIndexSearchExpressionAnnotation.java | 19 +-- .../nonvisitor/AIntervalPointable.java | 24 ++-- .../impl/AIntervalTypeComputer.java | 2 +- .../AbstractComparisonEvaluator.java| 2 +- .../comparisons/ComparisonHelper.java | 45 +++--- .../AIntervalConstructorDescriptor.java | 2 - .../AbstractIntervalLogicFuncDescriptor.java| 4 +- .../GetOverlappingIntervalDescriptor.java | 2 +- .../temporal/IntervalAfterDescriptor.java | 8 +- .../temporal/IntervalBeforeDescriptor.java | 4 +- .../temporal/IntervalCoveredByDescriptor.java | 8 +- .../temporal/IntervalCoversDescriptor.java | 8 +- .../temporal/IntervalEndedByDescriptor.java | 8 +- .../temporal/IntervalEndsDescriptor.java| 4 +- .../functions/temporal/IntervalLogic.java | 56 .../temporal/IntervalMeetsDescriptor.java | 8 +- .../temporal/IntervalMetByDescriptor.java | 8 +- .../IntervalOverlappedByDescriptor.java | 8 +- .../temporal/IntervalOverlapsDescriptor.java| 8 +- .../temporal/IntervalStartedByDescriptor.java | 8 +- .../temporal/IntervalStartsDescriptor.java | 8 +- .../functions/temporal/OverlapDescriptor.java | 11 +- .../AbstractExpressionAnnotation.java | 35 + .../ExpressionAnnotationNoCopyImpl.java | 14 +- .../IndexedNLJoinExpressionAnnotation.java | 18 +-- .../logical/AbstractLogicalOperator.java| 37 +++-- .../operators/logical/ReplicateOperator.java| 12 +- .../physical/AbstractExchangePOperator.java | 1 + .../physical/BroadcastExchangePOperator.java| 6 +- .../physical/OneToOneExchangePOperator.java | 5 +- .../physical/RandomMergeExchangePOperator.java | 4 +- .../operators/physical/ReplicatePOperator.java | 2 +- .../operators/physical/UnionAllPOperator.java | 3 - .../properties/IPartitioningProperty.java | 21 ++- .../typing/PropagatingTypeEnvironment.java | 4 +- .../algebricks/core/jobgen/impl/JobBuilder.java | 49 +++ .../PointableBinaryComparatorFactory.java | 2 +- .../hadoop/HadoopMapperOperatorDescriptor.java | 4 + .../hadoop/HadoopReadOperatorDescriptor.java| 2 +- .../mapreduce/MapperOperatorDescriptor.java | 8 +- .../dataflow/std/base/AbstractStateObject.java | 12 ++ .../AbstractTuplePointerAccessor.java | 2 +- .../IPartitionedTupleBufferManager.java | 2 +- .../std/buffermanager/ITupleBufferManager.java | 2 +- .../VPartitionTupleBufferManager.java | 6 +- .../VariableDeletableTupleMemoryManager.java| 8 +- .../MToNBroadcastConnectorDescriptor.java | 136 +++ .../MToNReplicatingConnectorDescriptor.java | 136 --- .../std/group/HashSpillableTableFactory.java| 8 +- .../dataflow/std/join/InMemoryHashJoin.java | 19 ++- .../std/misc/SplitOperatorDescriptor.java | 7 - .../dataflow/std/sort/FrameSorterMergeSort.java | 8 +- .../dataflow/std/sort/TupleSorterHeapSort.java | 4 +- .../std/structures/SerializableHashTable.java | 34 ++--- .../dataflow/std/structures/TuplePointer.java | 35 +++-- .../AbstractTupleMemoryManagerTest.java | 4 +- .../VPartitionTupleBufferManagerTest.java | 4 +- .../VariableTupleMemoryManagerTest.java | 6 +- .../structures/SerializableHashTableTest.java | 2 +- .../tests/integration/CountOfCountsTest.java| 8 +- .../TPCHCustomerOrderHashJoinTest.java | 12 +- .../TPCHCustomerOrderNestedLoopJoinTest.java| 16 +-- .../common/util/TreeIndexBufferCacheWarmup.java | 3 +- .../linearize/HilbertDoubleComparator.java | 1 - .../rtree/linearize/ZCurveDoubleComparator.java | 1 - .../common/arraylist/DoubleArrayList.java | 3 +- .../storage/common/arraylist/IntArrayList.java | 3 +- .../storage/common/arraylist/LongArrayList.java | 4 +- 68 files changed, 494 insertions(+), 474 deletions(-)
[1/2] asterixdb git commit: Interval join test questions for AQL.
Repository: asterixdb Updated Branches: refs/heads/master 717e9415c -> 2e3d16739 http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2e3d1673/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_before/interval_before.4.adm -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_before/interval_before.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_before/interval_before.4.adm new file mode 100644 index 000..f38e40b --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_before/interval_before.4.adm @@ -0,0 +1,5 @@ +{ "staff": "Franklin", "student": "Olga" } +{ "staff": "Maryann", "student": "Charles" } +{ "staff": "Maryann", "student": "Frank" } +{ "staff": "Maryann", "student": "Mary" } +{ "staff": "Maryann", "student": "Olga" } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2e3d1673/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.3.adm -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.3.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.3.adm new file mode 100644 index 000..4e22101 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.3.adm @@ -0,0 +1,15 @@ +{ "staff": "Elisabeth", "student": "Karen" } +{ "staff": "Elisabeth", "student": "Mary" } +{ "staff": "Elisabeth", "student": "Steve" } +{ "staff": "Elisabeth", "student": "Tess" } +{ "staff": "Franklin", "student": "Karen" } +{ "staff": "Maryann", "student": "Karen" } +{ "staff": "Maryann", "student": "Steve" } +{ "staff": "Maryann", "student": "Tess" } +{ "staff": "Vicky", "student": "Charles" } +{ "staff": "Vicky", "student": "Frank" } +{ "staff": "Vicky", "student": "Karen" } +{ "staff": "Vicky", "student": "Mary" } +{ "staff": "Vicky", "student": "Olga" } +{ "staff": "Vicky", "student": "Steve" } +{ "staff": "Vicky", "student": "Tess" } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2e3d1673/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.4.adm -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.4.adm new file mode 100644 index 000..1a67e10 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_covers/interval_covers.4.adm @@ -0,0 +1,4 @@ +{ "staff": "Zack", "student": "Charles" } +{ "staff": "Zack", "student": "Frank" } +{ "staff": "Zack", "student": "Mary" } +{ "staff": "Zack", "student": "Olga" } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2e3d1673/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.3.adm -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.3.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.3.adm new file mode 100644 index 000..5af9101 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.3.adm @@ -0,0 +1,7 @@ +{ "staff": "Elisabeth", "student": "Steve" } +{ "staff": "Elisabeth", "student": "Tess" } +{ "staff": "Franklin", "student": "Karen" } +{ "staff": "Maryann", "student": "Steve" } +{ "staff": "Maryann", "student": "Tess" } +{ "staff": "Vicky", "student": "Steve" } +{ "staff": "Vicky", "student": "Tess" } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2e3d1673/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.4.adm -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.4.adm new file mode 100644 index 000..5857139 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/interval_joins/interval_ends/interval_ends.4.adm @@ -0,0 +1 @@ +{ "staff":
[26/50] [abbrv] asterixdb git commit: Add stats tracking for interval joins.
Add stats tracking for interval joins. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/a9729514 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/a9729514 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/a9729514 Branch: refs/heads/ecarm002/interval_join_merge Commit: a9729514d7d517a24df2d290d15e854af6d65a51 Parents: 1487f2b Author: Preston CarmanAuthored: Thu Aug 25 11:43:57 2016 -0700 Committer: Preston Carman Committed: Thu Aug 25 11:43:57 2016 -0700 -- .../intervalindex/IntervalIndexJoiner.java | 54 .../InMemoryIntervalPartitionJoin.java | 18 ++- .../IntervalPartitionJoiner.java| 44 .../IPartitionedTupleBufferManager.java | 2 + .../VPartitionTupleBufferManager.java | 5 ++ .../dataflow/std/join/AbstractMergeJoiner.java | 10 ++-- .../hyracks/dataflow/std/join/MergeJoiner.java | 34 +++- .../dataflow/std/join/NestedLoopJoin.java | 23 - .../join/NestedLoopJoinOperatorDescriptor.java | 28 ++ .../dataflow/std/join/RunFileStream.java| 27 -- 10 files changed, 160 insertions(+), 85 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a9729514/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 6f04cad..e4c4cbe 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 @@ -29,11 +29,9 @@ import org.apache.asterix.runtime.operators.joins.IIntervalMergeJoinCheckerFacto import org.apache.asterix.runtime.operators.joins.IntervalJoinUtil; import org.apache.hyracks.api.comm.IFrameTupleAccessor; import org.apache.hyracks.api.comm.IFrameWriter; -import org.apache.hyracks.api.comm.VSizeFrame; import org.apache.hyracks.api.context.IHyracksTaskContext; import org.apache.hyracks.api.dataflow.value.RecordDescriptor; import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.dataflow.common.comm.io.FrameTupleAppender; import org.apache.hyracks.dataflow.common.comm.util.FrameUtils; import org.apache.hyracks.dataflow.std.buffermanager.IPartitionedDeletableTupleBufferManager; import org.apache.hyracks.dataflow.std.buffermanager.ITupleAccessor; @@ -57,23 +55,27 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner { private static final Logger LOGGER = Logger.getLogger(IntervalIndexJoiner.class.getName()); -private IPartitionedDeletableTupleBufferManager bufferManager; +private final IPartitionedDeletableTupleBufferManager bufferManager; -private ActiveSweepManager[] activeManager; -private ITuplePointerAccessor[] memoryAccessor; -private int[] streamIndex; -private RunFileStream[] runFileStream; +private final ActiveSweepManager[] activeManager; +private final ITuplePointerAccessor[] memoryAccessor; +private final int[] streamIndex; +private final RunFileStream[] runFileStream; -private LinkedList buffer = new LinkedList<>(); +private final LinkedList buffer = new LinkedList<>(); -private IIntervalMergeJoinChecker imjc; +private final IIntervalMergeJoinChecker imjc; -protected byte point; +private final byte point; -private MergeStatus status; +private final int leftKey; +private final int rightKey; -private int leftKey; -private int rightKey; +private long joinComparisonCount = 0; +private long joinResultCount = 0; +private long spillCount = 0; +private long spillReadCount = 0; +private long spillWriteCount = 0; public IntervalIndexJoiner(IHyracksTaskContext ctx, int memorySize, int partition, MergeStatus status, MergeJoinLocks locks, Comparator endPointComparator, @@ -87,8 +89,6 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner { this.leftKey = leftKeys[0]; this.rightKey = rightKeys[0]; -this.status = status; - RecordDescriptor[] recordDescriptors = new RecordDescriptor[JOIN_PARTITIONS]; recordDescriptors[LEFT_PARTITION] = leftRd; recordDescriptors[RIGHT_PARTITION] = rightRd; @@ -119,8 +119,6 @@ public class
[03/50] [abbrv] asterixdb git commit: snapshot super interval dag.
snapshot super interval dag. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/aea7fe87 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/aea7fe87 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/aea7fe87 Branch: refs/heads/ecarm002/interval_join_merge Commit: aea7fe87d3c2d03902a9e207e1afa457733e5171 Parents: 199bddd Author: Preston CarmanAuthored: Thu Jun 30 16:03:28 2016 -0700 Committer: Preston Carman Committed: Thu Jun 30 16:03:28 2016 -0700 -- .../IntervalLocalRangeSplitterOperator.java | 69 +++ .../physical/AbstractIntervalJoinPOperator.java | 17 + .../physical/IntervalIndexJoinPOperator.java| 1 - .../physical/IntervalJoinPOperator.java | 63 +++ .../IntervalLocalRangeOperatorDescriptor.java | 197 .../IntervalLocalRangeSplitterPOperator.java| 101 + .../IntervalPartitionJoinPOperator.java | 20 + .../asterix/optimizer/base/RuleCollections.java | 2 + .../rules/IntervalSplitPartitioningRule.java| 445 +++ ...IntervalPartitionJoinOperatorDescriptor.java | 3 - .../logical/AbstractLogicalOperator.java| 16 +- .../operators/logical/ReplicateOperator.java| 12 +- .../operators/physical/MergeJoinPOperator.java | 16 + .../operators/physical/NLJoinPOperator.java | 295 .../physical/NestedLoopJoinPOperator.java | 295 .../RangePartitionExchangePOperator.java| 8 + .../RangePartitionMergeExchangePOperator.java | 8 + .../operators/physical/ReplicatePOperator.java | 2 +- .../operators/physical/UnionAllPOperator.java | 3 - .../typing/PropagatingTypeEnvironment.java | 4 +- .../algebricks/rewriter/util/JoinUtils.java | 6 +- .../std/misc/SplitOperatorDescriptor.java | 6 +- 22 files changed, 1259 insertions(+), 330 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/aea7fe87/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java -- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java new file mode 100644 index 000..9ae9f7d --- /dev/null +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.asterix.algebra.operators; + +import java.util.Collection; +import java.util.List; + +import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; +import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable; +import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractExtensibleLogicalOperator; +import org.apache.hyracks.algebricks.core.algebra.operators.logical.IOperatorExtension; +import org.apache.hyracks.algebricks.core.algebra.visitors.ILogicalExpressionReferenceTransform; + +public class IntervalLocalRangeSplitterOperator extends AbstractExtensibleLogicalOperator { + +private final List joinKeyLogicalVars; + +public IntervalLocalRangeSplitterOperator(List joinKeyLogicalVars) { +this.joinKeyLogicalVars = joinKeyLogicalVars; +} + +@Override +public boolean isMap() { +return false; +} + +@Override +public IOperatorExtension newInstance() { +return new IntervalLocalRangeSplitterOperator(joinKeyLogicalVars); +} + +@Override +public boolean acceptExpressionTransform(ILogicalExpressionReferenceTransform transform) +throws AlgebricksException { +return false; +} + +@Override +public String toString() { +return "IntervalLocalRangeSplitterOperator"; +} + +
[10/50] [abbrv] asterixdb git commit: switch merge memory tracking method.
switch merge memory tracking method. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/4f9e6a82 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/4f9e6a82 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/4f9e6a82 Branch: refs/heads/ecarm002/interval_join_merge Commit: 4f9e6a82eaff790a50f86848e770e4b1dedf4069 Parents: 1f7ac98 Author: Preston CarmanAuthored: Thu Jul 14 09:11:57 2016 -0700 Committer: Preston Carman Committed: Thu Jul 14 09:11:57 2016 -0700 -- .../joins/AbstractIntervalMergeJoinChecker.java | 14 +++ .../IntervalPartitionJoiner.java| 2 +- .../dataflow/std/join/IMergeJoinChecker.java| 3 ++ .../hyracks/dataflow/std/join/MergeJoiner.java | 41 +++- 4 files changed, 41 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/4f9e6a82/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 0a25c25..cf0bf6a 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 @@ -105,6 +105,20 @@ 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); +} +} + +@Override public boolean checkToSaveInResult(IFrameTupleAccessor accessorLeft, int leftTupleIndex, IFrameTupleAccessor accessorRight, int rightTupleIndex, boolean reversed) throws HyracksDataException { try { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/4f9e6a82/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionJoiner.java -- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionJoiner.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionJoiner.java index 5df7b0a..fe49d2f 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionJoiner.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/IntervalPartitionJoiner.java @@ -320,7 +320,7 @@ public class IntervalPartitionJoiner { private int selectPartitionsToReload(int freeSpace, int pid) { for (int id = ipjd.buildNextSpilled(0); id >= 0; id = ipjd.buildNextSpilled(id + 1)) { -assert buildRFWriters[id].getFileSize() > 0 : "How comes a spilled partition have size 0?"; +assert buildRFWriters[id].getFileSize() > 0 : "How come a spilled partition have size 0?"; if (freeSpace >= buildRFWriters[id].getFileSize()) { return id; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/4f9e6a82/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/IMergeJoinChecker.java -- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/IMergeJoinChecker.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/IMergeJoinChecker.java index ddf04f3..49a3763 100644 ---
[19/50] [abbrv] asterixdb git commit: clean up.
clean up. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/5d029489 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/5d029489 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/5d029489 Branch: refs/heads/ecarm002/interval_join_merge Commit: 5d02948925a3af098459ab3efba882e1d7154bfb Parents: 933c130 Author: Preston CarmanAuthored: Wed Jul 27 12:14:50 2016 -0700 Committer: Preston Carman Committed: Wed Jul 27 12:14:50 2016 -0700 -- .../sort/AbstractSorterOperatorDescriptor.java | 10 .../dataflow/std/structures/TuplePointer.java | 26 2 files changed, 26 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5d029489/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractSorterOperatorDescriptor.java -- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractSorterOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractSorterOperatorDescriptor.java index 665a90b..c3adc20 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractSorterOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractSorterOperatorDescriptor.java @@ -99,16 +99,6 @@ public abstract class AbstractSorterOperatorDescriptor extends AbstractOperatorD public SortTaskState(JobId jobId, TaskId taskId) { super(jobId, taskId); } - -@Override -public void toBytes(DataOutput out) throws IOException { - -} - -@Override -public void fromBytes(DataInput in) throws IOException { - -} } protected abstract class SortActivity extends AbstractActivityNode { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5d029489/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/TuplePointer.java -- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/TuplePointer.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/TuplePointer.java index ae8eb24..42351a7 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/TuplePointer.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/TuplePointer.java @@ -18,11 +18,37 @@ */ package org.apache.hyracks.dataflow.std.structures; +import java.util.Comparator; + public final class TuplePointer implements IResetable { public static final int INVALID_ID = -1; private int frameIndex; private int tupleIndex; +public static final Comparator ASC = new Comparator() { +@Override +public int compare(TuplePointer tp1, TuplePointer tp2) { +int c = tp1.getFrameIndex() - tp2.getFrameIndex(); +if (c == 0) { +c = tp1.getTupleIndex() - tp2.getTupleIndex(); +} +return c; +} + +}; + +public static final Comparator DESC = new Comparator() { +@Override +public int compare(TuplePointer tp1, TuplePointer tp2) { +int c = tp2.getFrameIndex() - tp1.getFrameIndex(); +if (c == 0) { +c = tp2.getTupleIndex() - tp1.getTupleIndex(); +} +return c; +} + +}; + public TuplePointer() { this(INVALID_ID, INVALID_ID); }
[07/50] [abbrv] asterixdb git commit: new annontations.
new annontations. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/ff7904de Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/ff7904de Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/ff7904de Branch: refs/heads/ecarm002/interval_join_merge Commit: ff7904def80ec75e0979e25e4f901dded8e7d7f1 Parents: 22d1dbc Author: Preston CarmanAuthored: Fri Jul 8 16:31:05 2016 -0700 Committer: Preston Carman Committed: Fri Jul 8 16:31:05 2016 -0700 -- .../IntervalJoinExpressionAnnotation.java | 21 +++- .../asterix-lang-aql/src/main/javacc/AQL.jj | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ff7904de/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/annotations/IntervalJoinExpressionAnnotation.java -- diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/annotations/IntervalJoinExpressionAnnotation.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/annotations/IntervalJoinExpressionAnnotation.java index 7d4f02a..93f5990 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/annotations/IntervalJoinExpressionAnnotation.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/annotations/IntervalJoinExpressionAnnotation.java @@ -54,15 +54,18 @@ public class IntervalJoinExpressionAnnotation extends AbstractExpressionAnnotati } private void parseHint() { -String[] args = ((String) object).split(" "); -setJoinType(args[0]); - -if (joinType.equals(PARTITION_HINT_STRING) && args.length == 7) { -leftRecordCount = Long.valueOf(args[2]); -rightRecordCount = Long.valueOf(args[3]); -leftMaxDuration = Long.valueOf(args[4]); -rightMaxDuration = Long.valueOf(args[5]); -tuplesPerFrame = Integer.valueOf(args[6]); +String hint = (String) object; +setJoinType(hint); + +hint = hint.substring(hint.indexOf(']', 0) + 2); +String[] args = hint.split(" "); + +if (joinType.equals(PARTITION_HINT_STRING) && args.length == 5) { +leftRecordCount = Long.valueOf(args[0]); +rightRecordCount = Long.valueOf(args[1]); +leftMaxDuration = Long.valueOf(args[2]); +rightMaxDuration = Long.valueOf(args[3]); +tuplesPerFrame = Integer.valueOf(args[4]); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ff7904de/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj -- diff --git a/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj b/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj index bbba41d..9eaccf7 100644 --- a/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj +++ b/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj @@ -2313,7 +2313,7 @@ Clause OrderbyClause()throws ParseException : } if (hint.startsWith(RANGE_HINT)) { try{ - oc.setRangeMap(RangeMapBuilder.parseHint(hint.substring(RANGE_HINT.length(; + oc.setRangeMap(RangeMapBuilder.parseHint(hint.substring(RANGE_HINT.length(), hint.indexOf(']', 0) + 1))); } catch (AsterixException e) { throw new ParseException(e.getMessage()); }
[44/50] [abbrv] asterixdb git commit: new partition join algorithm
new partition join algorithm Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/0b900514 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/0b900514 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/0b900514 Branch: refs/heads/ecarm002/interval_join_merge Commit: 0b90051413c96ae52cc3136d41b5589275f11385 Parents: b34a426 Author: Preston CarmanAuthored: Fri Sep 30 13:56:13 2016 -0700 Committer: Preston Carman Committed: Fri Sep 30 13:56:13 2016 -0700 -- .../IntervalPartitionJoinPOperator.java | 2 +- .../InMemoryIntervalPartitionJoin.java | 98 --- ...IntervalPartitionJoinOperatorDescriptor.java | 355 + .../IntervalPartitionJoinTaskState.java | 33 + .../IntervalPartitionJoiner.java| 772 --- .../IntervalPartitionUtil.java | 70 -- ...IntervalPartitionJoinOperatorDescriptor.java | 319 .../IntervalPartitionJoinTaskState.java | 33 - .../IntervalPartitionJoiner.java| 288 --- 9 files changed, 412 insertions(+), 1558 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/0b900514/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java -- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java index af77a92..73d159e 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.logging.Logger; import org.apache.asterix.runtime.operators.joins.IIntervalMergeJoinCheckerFactory; -import org.apache.asterix.runtime.operators.joins.intervalpartition2.IntervalPartitionJoinOperatorDescriptor; +import org.apache.asterix.runtime.operators.joins.intervalpartition.IntervalPartitionJoinOperatorDescriptor; import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable; import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractBinaryJoinOperator.JoinKind; import org.apache.hyracks.algebricks.core.algebra.operators.logical.OrderOperator.IOrder.OrderKind; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/0b900514/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/InMemoryIntervalPartitionJoin.java -- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/InMemoryIntervalPartitionJoin.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/InMemoryIntervalPartitionJoin.java deleted file mode 100644 index aeea209..000 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition/InMemoryIntervalPartitionJoin.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.asterix.runtime.operators.joins.intervalpartition; - -import java.util.logging.Logger; - -import org.apache.asterix.runtime.operators.joins.IIntervalMergeJoinChecker; -import org.apache.hyracks.api.comm.IFrameTupleAccessor; -import org.apache.hyracks.api.comm.IFrameWriter; -import org.apache.hyracks.api.comm.VSizeFrame; -import org.apache.hyracks.api.context.IHyracksTaskContext; -import org.apache.hyracks.api.dataflow.value.RecordDescriptor; -import org.apache.hyracks.api.exceptions.HyracksDataException; -import
[43/50] [abbrv] asterixdb git commit: new partition join algorithm
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/0b900514/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition2/IntervalPartitionJoinOperatorDescriptor.java -- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition2/IntervalPartitionJoinOperatorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition2/IntervalPartitionJoinOperatorDescriptor.java deleted file mode 100644 index a985eee..000 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalpartition2/IntervalPartitionJoinOperatorDescriptor.java +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.asterix.runtime.operators.joins.intervalpartition2; - -import java.nio.ByteBuffer; -import java.util.logging.Logger; - -import org.apache.asterix.runtime.operators.joins.IIntervalMergeJoinChecker; -import org.apache.asterix.runtime.operators.joins.IIntervalMergeJoinCheckerFactory; -import org.apache.asterix.runtime.operators.joins.intervalpartition.IntervalPartitionComputerFactory; -import org.apache.asterix.runtime.operators.joins.intervalpartition.IntervalPartitionUtil; -import org.apache.hyracks.api.context.IHyracksTaskContext; -import org.apache.hyracks.api.dataflow.ActivityId; -import org.apache.hyracks.api.dataflow.IActivity; -import org.apache.hyracks.api.dataflow.IActivityGraphBuilder; -import org.apache.hyracks.api.dataflow.IOperatorNodePushable; -import org.apache.hyracks.api.dataflow.TaskId; -import org.apache.hyracks.api.dataflow.value.IRecordDescriptorProvider; -import org.apache.hyracks.api.dataflow.value.ITuplePartitionComputer; -import org.apache.hyracks.api.dataflow.value.RecordDescriptor; -import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.api.job.IOperatorDescriptorRegistry; -import org.apache.hyracks.dataflow.std.base.AbstractActivityNode; -import org.apache.hyracks.dataflow.std.base.AbstractOperatorDescriptor; -import org.apache.hyracks.dataflow.std.base.AbstractUnaryInputSinkOperatorNodePushable; -import org.apache.hyracks.dataflow.std.base.AbstractUnaryInputUnaryOutputOperatorNodePushable; -import org.apache.hyracks.dataflow.std.base.RangeId; -import org.apache.hyracks.dataflow.std.join.MergeBranchStatus.Stage; -import org.apache.hyracks.dataflow.std.join.MergeJoinLocks; -import org.apache.hyracks.dataflow.std.misc.RangeForwardOperatorDescriptor.RangeForwardTaskState; - -public class IntervalPartitionJoinOperatorDescriptor extends AbstractOperatorDescriptor { -private static final long serialVersionUID = 1L; - -private static final int LEFT_ACTIVITY_ID = 0; -private static final int RIGHT_ACTIVITY_ID = 1; -private final int[] leftKeys; -private final int[] rightKeys; -private final int memoryForJoin; -private final IIntervalMergeJoinCheckerFactory imjcf; -private final RangeId rangeId; -private final int k; - -private final int probeKey; -private final int buildKey; - -private static final Logger LOGGER = Logger.getLogger(IntervalPartitionJoinOperatorDescriptor.class.getName()); - -public IntervalPartitionJoinOperatorDescriptor(IOperatorDescriptorRegistry spec, int memoryForJoin, int k, -int[] leftKeys, int[] rightKeys, RecordDescriptor recordDescriptor, IIntervalMergeJoinCheckerFactory imjcf, -RangeId rangeId) { -super(spec, 2, 1); -recordDescriptors[0] = recordDescriptor; -this.buildKey = leftKeys[0]; -this.probeKey = rightKeys[0]; -this.k = k; -this.leftKeys = leftKeys; -this.rightKeys = rightKeys; -this.memoryForJoin = memoryForJoin; -this.imjcf = imjcf; -this.rangeId = rangeId; -} - -@Override -public void contributeActivities(IActivityGraphBuilder builder) { -MergeJoinLocks locks = new MergeJoinLocks(); - -ActivityId leftAid = new ActivityId(odId, LEFT_ACTIVITY_ID); -ActivityId rightAid = new
[47/50] [abbrv] asterixdb git commit: merge master with interval tests
merge master with interval tests Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/e256e637 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/e256e637 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/e256e637 Branch: refs/heads/ecarm002/interval_join_merge Commit: e256e6378fa949070455dc88b25fe9542359e1b7 Parents: ed86c88 2e3d167 Author: Preston CarmanAuthored: Mon Oct 3 23:42:46 2016 -0700 Committer: Preston Carman Committed: Mon Oct 3 23:42:46 2016 -0700 -- .gitignore |4 + README.md | 31 +- .../TranslateIntervalExpressionRule.java| 23 +- .../interval_overlapping.3.adm | 35 + .../interval_overlapping.4.adm | 35 + .../api/http/servlet/QueryServiceServlet.java | 18 + .../queries/aggregate/count-dataset.sqlpp |2 +- .../aggregate/query-ASTERIXDB-1626-2.sqlpp |2 +- .../aggregate/query-ASTERIXDB-1626-3.sqlpp |2 +- .../aggregate/query-ASTERIXDB-1626.sqlpp|2 +- .../queries/query-ASTERIXDB-159-3.sqlpp |2 +- .../inlined_q18_large_volume_customer.sqlpp |4 +- .../queries_sqlpp/nest_aggregate.sqlpp |2 +- .../queries_sqlpp/orders-aggreg.sqlpp |4 +- .../q01_pricing_summary_report_nt.sqlpp | 16 +- .../queries_sqlpp/q03_shipping_priority.sqlpp |2 +- .../q05_local_supplier_volume.sqlpp |2 +- .../queries_sqlpp/query-issue562.sqlpp |6 +- .../queries_sqlpp/query-issue697.sqlpp |2 +- .../queries_sqlpp/query-issue785.sqlpp |2 +- .../queries_sqlpp/query-issue810-2.sqlpp|2 +- .../queries_sqlpp/query-issue810.sqlpp |2 +- .../queries_sqlpp/query-issue827-2.sqlpp| 16 +- .../queries_sqlpp/split-materialization.sqlpp |4 +- .../interval_before/interval_before.3.query.aql |1 - .../interval_before/interval_before.4.query.aql |1 - .../interval_covers/interval_covers.3.query.aql |1 - .../interval_covers/interval_covers.4.query.aql |1 - .../interval_ends/interval_ends.3.query.aql |1 - .../interval_ends/interval_ends.4.query.aql |1 - .../interval_meets/interval_meets.3.query.aql |1 - .../interval_meets/interval_meets.4.query.aql |1 - .../interval_overlapping.3.query.aql|1 - .../interval_overlapping.4.query.aql|1 - .../interval_overlaps.3.query.aql |1 - .../interval_overlaps.4.query.aql |1 - .../interval_starts/interval_starts.3.query.aql |1 - .../interval_starts/interval_starts.4.query.aql |1 - .../agg_null/agg_null.3.query.sqlpp |2 +- .../agg_null_rec/agg_null_rec.3.query.sqlpp | 10 +- .../agg_null_rec_1/agg_null_rec_1.3.query.sqlpp | 10 +- .../agg_number/agg_number.3.query.sqlpp |2 +- .../agg_number_rec/agg_number_rec.3.query.sqlpp | 10 +- .../avg_double/avg_double.3.query.sqlpp |2 +- .../avg_double_null.3.query.sqlpp |2 +- .../avg_empty_01/avg_empty_01.1.ddl.sqlpp |2 +- .../avg_empty_01/avg_empty_01.2.update.sqlpp|2 +- .../avg_empty_01/avg_empty_01.3.query.sqlpp |4 +- .../avg_empty_02/avg_empty_02.1.ddl.sqlpp |2 +- .../avg_empty_02/avg_empty_02.2.update.sqlpp|2 +- .../avg_empty_02/avg_empty_02.3.query.sqlpp |4 +- .../avg_float/avg_float.3.query.sqlpp |2 +- .../avg_float_null/avg_float_nu.3.query.sqlpp |2 +- .../avg_int16/avg_int16.3.query.sqlpp |2 +- .../avg_int16_null/avg_int16_null.3.query.sqlpp |2 +- .../avg_int32/avg_int32.3.query.sqlpp |2 +- .../avg_int32_null/avg_int32_null.3.query.sqlpp |2 +- .../avg_int64/avg_int64.3.query.sqlpp |2 +- .../avg_int64_null/avg_int64_null.3.query.sqlpp |2 +- .../avg_int8/avg_int8.3.query.sqlpp |2 +- .../avg_int8_null/avg_int8_null.3.query.sqlpp |2 +- .../avg_mixed/avg_mixed.1.ddl.sqlpp |2 +- .../avg_mixed/avg_mixed.3.query.sqlpp |4 +- .../count_01/count_01.3.query.sqlpp |2 +- .../count_empty_01/count_empty_01.1.ddl.sqlpp |2 +- .../count_empty_01.2.update.sqlpp |2 +- .../count_empty_01/count_empty_01.3.query.sqlpp |4 +- .../count_empty_02/count_empty_02.1.ddl.sqlpp |2 +- .../count_empty_02.2.update.sqlpp |2 +- .../count_empty_02/count_empty_02.3.query.sqlpp |4 +- .../count_null/count_null.3.query.sqlpp |2 +- .../issue395/issue395.3.query.sqlpp |2 +- .../issue412_0/issue412_0.3.query.sqlpp |2 +-
[12/50] [abbrv] asterixdb git commit: updated from api change.
updated from api change. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/1f3fb827 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/1f3fb827 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/1f3fb827 Branch: refs/heads/ecarm002/interval_join_merge Commit: 1f3fb8274284c8f7924c689104f593cfd3300171 Parents: 0725160 Author: Preston CarmanAuthored: Thu Jul 14 13:55:19 2016 -0700 Committer: Preston Carman Committed: Thu Jul 14 13:55:19 2016 -0700 -- .../hyracks/dataflow/std/join/NaturalMergeJoinChecker.java | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f3fb827/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NaturalMergeJoinChecker.java -- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NaturalMergeJoinChecker.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NaturalMergeJoinChecker.java index 030e25b..9a50d0c 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NaturalMergeJoinChecker.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/NaturalMergeJoinChecker.java @@ -41,7 +41,13 @@ public class NaturalMergeJoinChecker implements IMergeJoinChecker { @Override public boolean checkToRemoveInMemory(ITupleAccessor accessorLeft, ITupleAccessor accessorRight) throws HyracksDataException { -int c = comparator.compare(accessorLeft, accessorLeft.getTupleId(), accessorRight, accessorRight.getTupleId()); +return checkToRemoveInMemory(accessorLeft, accessorLeft.getTupleId(), accessorRight, accessorRight.getTupleId()); +} + +@Override +public boolean checkToRemoveInMemory(IFrameTupleAccessor accessorLeft, int leftTupleIndex, +IFrameTupleAccessor accessorRight, int rightTupleIndex) throws HyracksDataException { +int c = comparator.compare(accessorLeft, leftTupleIndex, accessorRight, rightTupleIndex); return c < 0; }
[25/50] [abbrv] asterixdb git commit: Working version of the range connector and interval join partition.
Working version of the range connector and interval join partition. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/1487f2be Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/1487f2be Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/1487f2be Branch: refs/heads/ecarm002/interval_join_merge Commit: 1487f2be3a364e32e3fee7a10246b6f548f75476 Parents: 13af53a Author: Preston CarmanAuthored: Wed Aug 24 14:35:57 2016 -0700 Committer: Preston Carman Committed: Wed Aug 24 14:35:57 2016 -0700 -- .../physical/AbstractIntervalJoinPOperator.java | 56 +--- .../IntervalLocalRangeOperatorDescriptor.java | 2 +- .../IntervalPartitionJoinPOperator.java | 86 +++- .../asterix/optimizer/base/RuleCollections.java | 2 +- .../rules/IntervalSplitPartitioningRule.java| 61 .../asterix/optimizer/rules/util/JoinUtils.java | 128 ++--- .../translator/util/FunctionCollection.java | 6 + .../config/AsterixPropertiesAccessor.java | 6 +- .../om/functions/AsterixBuiltinFunctions.java | 6 + .../evaluators/common/FunctionManagerImpl.java | 6 +- .../CalendarDurationFromDateTimeDescriptor.java | 6 +- .../IntervalPartitionJoinEndDescriptor.java | 58 .../temporal/IntervalPartitionJoinFunction.java | 138 +++ .../IntervalPartitionJoinStartDescriptor.java | 58 ...rlappingIntervalMergeJoinCheckerFactory.java | 3 +- .../IntervalPartitionComputerFactory.java | 24 +--- ...IntervalPartitionJoinOperatorDescriptor.java | 28 +--- .../IntervalPartitionUtil.java | 22 +++ .../algebra/functions/FunctionIdentifier.java | 3 +- .../logical/visitors/SchemaVariableVisitor.java | 1 + .../rules/EnforceStructuralPropertiesRule.java | 3 +- .../rewriter/rules/IntroduceProjectsRule.java | 18 +-- .../SetAlgebricksPhysicalOperatorsRule.java | 7 + .../hyracks/dataflow/std/base/RangeId.java | 3 +- .../connectors/PartitionRangeDataWriter.java| 2 +- .../misc/RangeForwardOperatorDescriptor.java| 10 ++ 26 files changed, 573 insertions(+), 170 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1487f2be/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/AbstractIntervalJoinPOperator.java -- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/AbstractIntervalJoinPOperator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/AbstractIntervalJoinPOperator.java index 3be9e80..cc2a022 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/AbstractIntervalJoinPOperator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/AbstractIntervalJoinPOperator.java @@ -55,7 +55,7 @@ public abstract class AbstractIntervalJoinPOperator extends AbstractJoinPOperato private final List keysLeftBranch; private final List keysRightBranch; -private final IIntervalMergeJoinCheckerFactory mjcf; +protected final IIntervalMergeJoinCheckerFactory mjcf; private final RangeId leftRangeId; private final RangeId rightRangeId; private final IRangeMap rangeMapHint; @@ -115,14 +115,11 @@ public abstract class AbstractIntervalJoinPOperator extends AbstractJoinPOperato @Override public void computeDeliveredProperties(ILogicalOperator iop, IOptimizationContext context) { -ArrayList order = new ArrayList<>(); -for (LogicalVariable v : keysLeftBranch) { -order.add(new OrderColumn(v, mjcf.isOrderAsc() ? OrderKind.ASC : OrderKind.DESC)); -} +ArrayList order = getLeftRangeOrderColumn(); IPartitioningProperty pp = new OrderedPartitionedProperty(order, null, leftRangeId, RangePartitioningType.PROJECT, rangeMapHint); List propsLocal = new ArrayList<>(); -propsLocal.add(new LocalOrderProperty(order)); +propsLocal.add(new LocalOrderProperty(getLeftLocalSortOrderColumn())); deliveredProperties = new StructuralPropertiesVector(pp, propsLocal); } @@ -134,26 +131,17 @@ public abstract class AbstractIntervalJoinPOperator extends AbstractJoinPOperato IPartitioningProperty ppLeft = null; List ispLeft = new ArrayList<>(); +ispLeft.add(new LocalOrderProperty(getLeftLocalSortOrderColumn())); + IPartitioningProperty ppRight = null; List ispRight = new ArrayList<>(); - -ArrayList orderLeft = new ArrayList<>(); -for (LogicalVariable v :
[09/50] [abbrv] asterixdb git commit: merge with master
merge with master Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/1f7ac985 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/1f7ac985 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/1f7ac985 Branch: refs/heads/ecarm002/interval_join_merge Commit: 1f7ac9850459eb2f4cfe003661ceaa5d5fabb1d7 Parents: ff7904d 81b1f21 Author: Preston CarmanAuthored: Mon Jul 11 15:22:49 2016 -0700 Committer: Preston Carman Committed: Mon Jul 11 15:22:49 2016 -0700 -- README.md | 6 +- asterixdb/asterix-algebra/pom.xml |29 +- .../physical/ExternalDataLookupPOperator.java | 4 +- .../asterix/optimizer/base/RuleCollections.java | 4 +- ...IntroduceSecondaryIndexInsertDeleteRule.java |84 +- .../optimizer/rules/ResolveVariableRule.java| 286 + .../rules/SetClosedRecordConstructorsRule.java |35 +- .../optimizer/rules/UnnestToDataScanRule.java | 7 +- .../am/AbstractIntroduceAccessMethodRule.java | 186 +- .../LangExpressionToPlanTranslator.java | 415 +- .../SqlppExpressionToPlanTranslator.java| 163 +- .../asterix-algebra/src/main/javacc/AQLPlus.jj | 4 +- asterixdb/asterix-app/pom.xml |16 +- asterixdb/asterix-app/scripts/idefix/startcc.sh | 4 +- .../api/common/AsterixAppRuntimeContext.java|17 +- .../asterix/api/common/SessionConfig.java | 7 +- .../asterix/api/http/servlet/APIServlet.java|38 +- .../asterix/api/http/servlet/JSONUtil.java | 136 - .../api/http/servlet/QueryResultAPIServlet.java | 2 +- .../api/http/servlet/QueryServiceServlet.java | 359 +- .../external/ExternalIndexingOperations.java|58 +- .../external/ExternalLibraryClassLoader.java|56 + .../app/external/ExternalLibraryUtils.java |35 +- .../app/external/FeedWorkCollection.java| 2 +- .../asterix/aql/translator/QueryTranslator.java |78 +- .../apache/asterix/file/DatasetOperations.java | 4 +- .../apache/asterix/file/IndexOperations.java|42 +- .../file/SecondaryBTreeOperationsHelper.java|33 +- .../file/SecondaryIndexOperationsHelper.java|49 +- .../SecondaryInvertedIndexOperationsHelper.java |30 +- .../file/SecondaryRTreeOperationsHelper.java| 4 +- .../bootstrap/CCApplicationEntryPoint.java |10 +- .../bootstrap/NCApplicationEntryPoint.java | 8 +- .../org/apache/asterix/result/ResultUtils.java |80 +- asterixdb/asterix-app/src/main/scripts/run.sh | 2 +- .../http/servlet/QueryServiceServletTest.java |45 + .../asterix/app/external/TestLibrarian.java |35 +- .../asterix/test/runtime/ExecutionTest.java |12 +- .../asterix/test/runtime/ExecutionTestUtil.java |20 +- .../asterix/test/runtime/RepeatedTest.java | 4 - .../asterix/test/sqlpp/ParserTestExecutor.java | 3 + .../asterix-app/src/test/resources/dapd/q2.aql |12 +- .../src/test/resources/logging.properties | 4 +- .../dataset_with_meta-1.1.adm | 2 +- .../dataset_with_meta-2.1.adm | 2 +- .../dataset_with_meta-2.3.adm | 2 +- .../dataset_with_meta-4.3.adm | 2 +- .../dataset_with_meta-5.3.adm | 2 +- .../dataset_with_meta-6.3.adm | 4 +- .../dataset_with_meta-7.3.adm | 4 +- .../issue_251_dataset_hint_2.1.adm | 2 +- .../issue_251_dataset_hint_3.1.adm | 2 +- .../issue_251_dataset_hint_4.1.adm | 2 +- .../metadata/results/basic/meta01/meta01.1.adm | 4 +- .../metadata/results/basic/meta02/meta02.1.adm | 2 +- .../metadata/results/basic/meta05/meta05.1.adm | 4 +- .../metadata/results/basic/meta09/meta09.1.adm | 2 +- .../metadata/results/basic/meta12/meta12.1.adm | 2 +- .../metadata/results/basic/meta16/meta16.1.adm | 4 +- .../metadata/results/basic/meta17/meta17.1.adm | 4 +- .../metadata_dataset/metadata_dataset.1.adm |26 +- .../metadata_dataverse/metadata_dataverse.1.adm | 6 +- .../basic/metadata_index/metadata_index.1.adm |26 +- ...verify_failure_subsequent_no_execution.1.adm | 2 +- .../nontagged/custord/local/cust-load.aql |10 +- ...rjoin-probe-pidx-with-join-btree-sidx_01.aql |30 +- ...rjoin-probe-pidx-with-join-btree-sidx_02.aql |30 +- .../queries/btree-index/btree-datetime-01.aql | 6 +- .../queries/btree-index/btree-datetime-02.aql | 8 +- .../queries/btree-index/btree-datetime-03.aql | 8 +- .../queries/btree-index/btree-datetime-04.aql | 6 +- .../optimizerts/queries/distinct_aggregate.aql |52 +-
[49/50] [abbrv] asterixdb git commit: merge master
merge master Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/9baab026 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/9baab026 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/9baab026 Branch: refs/heads/ecarm002/interval_join_merge Commit: 9baab026f330a790be49f1dffeb77ae1dd3fc0ef Parents: b4a3fd5 4819ea4 Author: Preston CarmanAuthored: Mon Oct 17 12:18:06 2016 -0700 Committer: Preston Carman Committed: Mon Oct 17 12:18:06 2016 -0700 -- .../active/message/ActiveManagerMessage.java| 2 +- .../active/message/ActivePartitionMessage.java | 2 +- asterixdb/asterix-algebra/pom.xml | 4 + .../optimizer/rules/LoadRecordFieldsRule.java | 46 +- .../rules/PushLimitIntoOrderByRule.java | 16 +- .../SweepIllegalNonfunctionalFunctions.java | 11 +- .../subplan/InlineAllNtsInSubplanVisitor.java | 11 +- ...neLeftNtsInSubplanJoinFlatteningVisitor.java | 7 +- .../SubplanSpecialFlatteningCheckVisitor.java | 10 +- .../translator/AbstractLangTranslator.java | 9 +- .../translator/util/FunctionCollection.java | 12 + .../asterix-app/data/tpcds/call_center.csv | 5 + .../asterix-app/data/tpcds/catalog_page.csv | 5 + .../asterix-app/data/tpcds/catalog_returns.csv | 32 +- .../asterix-app/data/tpcds/catalog_sales.csv| 38 +- asterixdb/asterix-app/data/tpcds/customer.csv | 20 +- .../asterix-app/data/tpcds/customer_address.csv | 20 +- .../data/tpcds/customer_demographics.csv| 6 + asterixdb/asterix-app/data/tpcds/date_dim.csv | 27 +- .../data/tpcds/household_demographics.csv | 7 + .../asterix-app/data/tpcds/income_band.csv | 5 + asterixdb/asterix-app/data/tpcds/inventory.csv | 15 + asterixdb/asterix-app/data/tpcds/item.csv | 19 +- asterixdb/asterix-app/data/tpcds/promotion.csv | 10 + asterixdb/asterix-app/data/tpcds/reason.csv | 10 + asterixdb/asterix-app/data/tpcds/ship_mode.csv | 5 + asterixdb/asterix-app/data/tpcds/store.csv | 5 + .../asterix-app/data/tpcds/store_returns.csv| 17 + .../asterix-app/data/tpcds/store_sales.csv | 48 +- asterixdb/asterix-app/data/tpcds/time_dim.csv | 8 + asterixdb/asterix-app/data/tpcds/warehouse.csv | 5 + asterixdb/asterix-app/data/tpcds/web_page.csv | 10 + .../asterix-app/data/tpcds/web_returns.csv | 13 + asterixdb/asterix-app/data/tpcds/web_sales.csv | 16 + asterixdb/asterix-app/data/tpcds/web_site.csv | 5 + asterixdb/asterix-app/pom.xml | 14 + .../interval_overlapping.3.adm | 35 - .../interval_overlapping.4.adm | 35 - .../common/AsterixHyracksIntegrationUtil.java | 2 +- .../asterix/api/http/servlet/APIServlet.java| 12 +- .../api/http/servlet/QueryServiceServlet.java | 19 +- .../app/nc/AsterixNCAppRuntimeContext.java | 24 +- .../asterix/app/translator/QueryTranslator.java | 6 +- .../bootstrap/CCApplicationEntryPoint.java | 17 +- .../bootstrap/ClusterLifecycleListener.java | 14 +- .../bootstrap/NCApplicationEntryPoint.java | 17 +- .../resources/asterix-build-configuration.xml | 5 +- ...ataset_with_default_dataverse_type.1.ddl.aql | 25 + ...aset_with_default_dataverse_type.2.query.aql | 23 + ...ataset_with_default_dataverse_type.3.ddl.aql | 20 + .../dataset_with_default_dataverse_type.2.adm | 1 + .../src/test/resources/metadata/testsuite.xml | 5 + .../queries/multi-indexes/skip-one-index.aql| 49 + .../queries/multi-indexes/skip-two-index.aql| 53 ++ .../queries/query-ASTERIXDB-1671.sqlpp | 40 + .../results/multi-indexes/skip-one-index.plan | 26 + .../results/multi-indexes/skip-two-index.plan | 15 + .../results/query-ASTERIXDB-1671.plan | 17 + .../polygon-from-open-list_issue1627.1.ddl.aql | 34 + ...olygon-from-open-list_issue1627.2.update.aql | 30 + ...polygon-from-open-list_issue1627.3.query.aql | 28 + .../feed-with-external-function.4.sleep.aql | 19 - .../feed-with-external-function.5.pollquery.aql | 33 + .../feed-with-external-function.5.query.aql | 32 - .../query-ASTERIXDB-1671-2.1.ddl.sqlpp | 47 + .../query-ASTERIXDB-1671-2.2.update.sqlpp | 24 + .../query-ASTERIXDB-1671-2.3.query.sqlpp| 27 + .../query-ASTERIXDB-1671.1.ddl.sqlpp| 47 + .../query-ASTERIXDB-1671.2.update.sqlpp | 24 + .../query-ASTERIXDB-1671.3.query.sqlpp | 27 + .../query-ASTERIXDB-1689.1.query.sqlpp | 22 + .../everysat_04/everysat_04.3.query.sqlpp | 2 +- .../query-ASTERIXDB-1674.1.ddl.sqlpp| 38 + .../query-ASTERIXDB-1674.2.update.sqlpp | 24 + .../query-ASTERIXDB-1674.3.query.sqlpp | 39 +
[18/50] [abbrv] asterixdb git commit: Range forward operators.
Range forward operators. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/933c1307 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/933c1307 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/933c1307 Branch: refs/heads/ecarm002/interval_join_merge Commit: 933c13078397f07e7528908187f06d7c5c018acd Parents: 5b102cc Author: Preston CarmanAuthored: Wed Jul 27 12:14:21 2016 -0700 Committer: Preston Carman Committed: Wed Jul 27 12:14:21 2016 -0700 -- .../core/algebra/base/LogicalOperatorTag.java | 1 + .../core/algebra/base/PhysicalOperatorTag.java | 1 + .../operators/logical/RangeForwardOperator.java | 80 + .../visitors/CardinalityInferenceVisitor.java | 6 + .../visitors/FDsAndEquivClassesVisitor.java | 7 ++ .../visitors/IsomorphismOperatorVisitor.java| 10 ++ .../IsomorphismVariableMappingVisitor.java | 7 ++ ...OperatorDeepCopyWithNewVariablesVisitor.java | 10 ++ .../visitors/LogicalPropertiesVisitor.java | 7 ++ .../visitors/OperatorDeepCopyVisitor.java | 25 ++-- .../visitors/PrimaryKeyVariablesVisitor.java| 7 ++ .../visitors/ProducedVariableVisitor.java | 6 + .../logical/visitors/SchemaVariableVisitor.java | 6 + .../visitors/SubstituteVariableVisitor.java | 7 ++ .../logical/visitors/UsedVariableVisitor.java | 6 + .../physical/RangeForwardPOperator.java | 85 + .../LogicalOperatorPrettyPrintVisitor.java | 9 ++ .../visitors/ILogicalOperatorVisitor.java | 3 + .../misc/RangeForwardOperatorDescriptor.java| 119 +++ 19 files changed, 393 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/933c1307/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java -- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java index d39a8c8..07c35a3 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java @@ -40,6 +40,7 @@ public enum LogicalOperatorTag { ORDER, PARTITIONINGSPLIT, PROJECT, +RANGE_FORWARD, REPLICATE, RUNNINGAGGREGATE, SCRIPT, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/933c1307/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java -- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java index 7f753a5..8ae6602 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java @@ -52,6 +52,7 @@ public enum PhysicalOperatorTag { PRE_SORTED_DISTINCT_BY, RANDOM_PARTITION_EXCHANGE, RANDOM_MERGE_EXCHANGE, +RANGE_FORWARD, RANGE_PARTITION_EXCHANGE, RANGE_PARTITION_MERGE_EXCHANGE, RTREE_SEARCH, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/933c1307/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/RangeForwardOperator.java -- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/RangeForwardOperator.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/RangeForwardOperator.java new file mode 100644 index 000..5a3bc98 --- /dev/null +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/RangeForwardOperator.java @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the
[34/50] [abbrv] asterixdb git commit: merge master
merge master Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/f186da9e Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/f186da9e Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/f186da9e Branch: refs/heads/ecarm002/interval_join_merge Commit: f186da9ede14f4beeb3e24c2b14f25407a456bd4 Parents: dc6842d 2a73f41 Author: Preston CarmanAuthored: Fri Sep 9 10:04:44 2016 -0700 Committer: Preston Carman Committed: Fri Sep 9 10:04:44 2016 -0700 -- .../api/http/servlet/ClusterAPIServlet.java | 50 +- .../servlet/ClusterNodeDetailsAPIServlet.java | 163 .../app/nc/AsterixNCAppRuntimeContext.java | 3 +- .../bootstrap/CCApplicationEntryPoint.java | 20 +- .../cluster_state_1.1.cstate.aql| 24 + .../cluster_state_2.1.cstate.aql| 25 + .../cluster_state_3.1.cstate.aql| 25 + .../cluster_state_4.1.cstate.aql| 25 + .../datetime_functions.3.query.aql | 4 + .../datetime_functions.3.query.sqlpp| 2 + .../api/cluster_state_1/cluster_state_1.1.adm | 74 ++ .../api/cluster_state_3/cluster_state_3.1.adm | 20 + .../api/cluster_state_4/cluster_state_4.1.adm | 9 + .../datetime_functions/datetime_functions.1.adm | 2 +- .../datetime_functions/datetime_functions.3.ast | 26 + .../src/test/resources/runtimets/testsuite.xml | 23 + .../config/AbstractAsterixProperties.java | 39 + .../config/AsterixCompilerProperties.java | 17 +- .../config/AsterixExternalProperties.java | 28 +- .../common/config/AsterixFeedProperties.java| 22 +- .../config/AsterixReplicationProperties.java| 29 +- .../common/config/AsterixStorageProperties.java | 34 +- .../config/AsterixTransactionProperties.java| 35 +- .../asterix/common/utils/ServletUtil.java | 3 +- .../apache/asterix/test/aql/TestExecutor.java | 69 +- asterixdb/asterix-doc/pom.xml | 22 + .../src/main/markdown/sqlpp/0_toc.md| 69 ++ .../src/main/markdown/sqlpp/1_intro.md | 6 + .../src/main/markdown/sqlpp/2_expr.md | 294 +++ .../src/main/markdown/sqlpp/3_query.md | 882 +++ .../src/main/markdown/sqlpp/4_ddl.md| 452 ++ .../installer/test/AbstractExecutionIT.java | 8 + .../runtime/util/AsterixAppContextInfo.java | 3 +- .../runtime/util/AsterixClusterProperties.java | 15 +- asterixdb/asterix-server/pom.xml| 2 +- .../server/test/NCServiceExecutionIT.java | 6 +- .../client/HyracksClientInterfaceFunctions.java | 33 +- .../HyracksClientInterfaceRemoteProxy.java | 7 + .../hyracks/api/client/HyracksConnection.java | 6 + .../api/client/IHyracksClientConnection.java| 9 + .../api/client/IHyracksClientInterface.java | 1 + .../control/cc/ClusterControllerService.java| 23 +- .../hyracks/control/cc/NodeControllerState.java | 98 ++- .../control/cc/web/NodesRESTAPIFunction.java| 2 +- .../control/cc/work/GetNodeDetailsJSONWork.java | 25 +- .../common/controllers/NodeRegistration.java| 13 +- .../hyracks/control/common/utils/PidHelper.java | 52 ++ .../control/nc/NodeControllerService.java | 4 +- .../std/group/HashSpillableTableFactory.java| 31 +- 49 files changed, 2665 insertions(+), 169 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/f186da9e/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/f186da9e/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java -- diff --cc asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java index b79c2cb,af5124b..232a541 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java @@@ -18,27 -18,24 +18,32 @@@ */ package org.apache.asterix.common.config; + import org.apache.hyracks.util.StorageUtil; + + import static org.apache.hyracks.util.StorageUtil.StorageUnit.KILOBYTE; + import static org.apache.hyracks.util.StorageUtil.StorageUnit.MEGABYTE; + public class AsterixCompilerProperties extends AbstractAsterixProperties { +private static final int MB = 1048576; + private static final String COMPILER_SORTMEMORY_KEY = "compiler.sortmemory"; - private static final long COMPILER_SORTMEMORY_DEFAULT =
[04/50] [abbrv] asterixdb git commit: working mega overlapping plan.
working mega overlapping plan. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/0f533e8b Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/0f533e8b Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/0f533e8b Branch: refs/heads/ecarm002/interval_join_merge Commit: 0f533e8bbbac7cf633d87013d71370114970c959 Parents: aea7fe8 Author: Preston CarmanAuthored: Tue Jul 5 17:56:26 2016 -0700 Committer: Preston Carman Committed: Tue Jul 5 17:56:26 2016 -0700 -- .../IntervalLocalRangeSplitterOperator.java | 2 +- .../IntervalLocalRangeOperatorDescriptor.java | 13 +- .../IntervalLocalRangeSplitterPOperator.java| 38 ++-- .../asterix/optimizer/base/RuleCollections.java | 1 + .../rules/IntervalSplitPartitioningRule.java| 201 --- .../physical/AbstractExchangePOperator.java | 1 + .../physical/OneToOneExchangePOperator.java | 5 +- .../algebricks/core/jobgen/impl/JobBuilder.java | 28 +-- 8 files changed, 173 insertions(+), 116 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/0f533e8b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java -- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java index 9ae9f7d..181e0fa 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/IntervalLocalRangeSplitterOperator.java @@ -54,7 +54,7 @@ public class IntervalLocalRangeSplitterOperator extends AbstractExtensibleLogica @Override public String toString() { -return "IntervalLocalRangeSplitterOperator"; +return "IntervalLocalRangeSplitterOperator " + joinKeyLogicalVars; } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/0f533e8b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalLocalRangeOperatorDescriptor.java -- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalLocalRangeOperatorDescriptor.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalLocalRangeOperatorDescriptor.java index 392bf43..ca44f78 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalLocalRangeOperatorDescriptor.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalLocalRangeOperatorDescriptor.java @@ -45,20 +45,21 @@ public class IntervalLocalRangeOperatorDescriptor extends AbstractOperatorDescri private static final long serialVersionUID = 1L; private static final int PARTITION_ACTIVITY_ID = 0; +private static final int OUTPUT_ARITY = 3; + private static final int INPUT_STARTS = 0; private static final int INPUT_COVERS = 2; private static final int INPUT_ENDS = 1; -//private static final int INPUT_STARTS = 0; -//private static final int INPUT_COVERS = 0; -//private static final int INPUT_ENDS = 0; - private final int key; private final IRangeMap rangeMap; public IntervalLocalRangeOperatorDescriptor(IOperatorDescriptorRegistry spec, int[] keys, RecordDescriptor recordDescriptor, IRangeMap rangeMap) { -super(spec, 1, 3); +super(spec, 1, OUTPUT_ARITY); +for (int i = 0; i < outputArity; i++) { +recordDescriptors[i] = recordDescriptor; +} key = keys[0]; this.rangeMap = rangeMap; } @@ -105,7 +106,7 @@ public class IntervalLocalRangeOperatorDescriptor extends AbstractOperatorDescri @Override public void flush() throws HyracksDataException { for (int i = 0; i < getOutputArity(); i++) { -resultAppender[i].flush(writers[i]); +FrameUtils.flushFrame(resultAppender[i].getBuffer(), writers[i]); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/0f533e8b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalLocalRangeSplitterPOperator.java -- diff --git
[08/50] [abbrv] asterixdb git commit: merge with master
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/asterixdb/asterix-app/src/test/resources/logging.properties -- diff --cc asterixdb/asterix-app/src/test/resources/logging.properties index d07819d,5b5e3b6..baf225c --- a/asterixdb/asterix-app/src/test/resources/logging.properties +++ b/asterixdb/asterix-app/src/test/resources/logging.properties @@@ -16,18 -16,18 +16,18 @@@ # specific language governing permissions and limitations # under the License. - # Default Logging Configuration File + # Default Logging Configuration File # # You can use a different file by specifying a filename -# with the java.util.logging.config.file system property. +# with the java.util.logging.config.file system property. # For example java -Djava.util.logging.config.file=myfile - # Global properties + # Global properties -# "handlers" specifies a comma separated list of log Handler +# "handlers" specifies a comma separated list of log Handler # classes. These handlers will be installed during VM startup. # Note that these classes must be on the system classpath. # By default we only configure a ConsoleHandler, which will only http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/asterixdb/asterix-om/pom.xml -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/asterixdb/pom.xml -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/OrderedPartitionedProperty.java -- diff --cc hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/OrderedPartitionedProperty.java index c90aff9,23c8273..c1dcd97 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/OrderedPartitionedProperty.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/OrderedPartitionedProperty.java @@@ -77,9 -59,11 +77,11 @@@ public class OrderedPartitionedPropert } @Override - public void normalize(MapequivalenceClasses, List fds) { - orderColumns = PropertiesUtil.replaceOrderColumnsByEqClasses(orderColumns, equivalenceClasses); - orderColumns = PropertiesUtil.applyFDsToOrderColumns(orderColumns, fds); + public IPartitioningProperty normalize(Map equivalenceClasses, + List fds) { + List columns = PropertiesUtil.replaceOrderColumnsByEqClasses(orderColumns, equivalenceClasses); + columns = PropertiesUtil.applyFDsToOrderColumns(columns, fds); -return new OrderedPartitionedProperty(columns, domain); ++return new OrderedPartitionedProperty(columns, domain, rangeMap); } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/PhysicalOptimizationConfig.java -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f7ac985/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/util/JoinUtils.java -- diff --cc
[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 CarmanAuthored: Mon Jul 18 16:52:02 2016 -0700 Committer: Preston Carman 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 +++
[35/50] [abbrv] asterixdb git commit: snapshot - reuse frames in deletable partition manager.
snapshot - reuse frames in deletable partition manager. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/6c312141 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/6c312141 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/6c312141 Branch: refs/heads/ecarm002/interval_join_merge Commit: 6c3121413762f3556d884e16642cefa654e42868 Parents: f186da9 Author: Preston CarmanAuthored: Tue Sep 13 19:37:32 2016 -0700 Committer: Preston Carman Committed: Tue Sep 13 19:37:32 2016 -0700 -- .../operators/joins/IntervalJoinUtil.java | 1 + .../intervalindex/IntervalIndexJoiner.java | 70 .../InMemoryIntervalPartitionJoin.java | 5 +- .../std/buffermanager/IFrameBufferManager.java | 24 ++- ...IPartitionedDeletableTupleBufferManager.java | 2 + .../VPartitionDeletableTupleBufferManager.java | 50 -- .../VPartitionTupleBufferManager.java | 57 ++-- .../VariableFrameMemoryManager.java | 23 +++ .../hyracks/dataflow/std/join/MergeJoiner.java | 53 --- .../dataflow/std/join/RunFileStream.java| 1 + .../sort/util/DeletableFrameTupleAppender.java | 26 +++- .../IAppendDeletableFrameTupleAccessor.java | 3 + 12 files changed, 249 insertions(+), 66 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/6c312141/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IntervalJoinUtil.java -- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IntervalJoinUtil.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IntervalJoinUtil.java index 3e380c7..7c37f08 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IntervalJoinUtil.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/IntervalJoinUtil.java @@ -48,6 +48,7 @@ public class IntervalJoinUtil { } public static long getIntervalStart(IFrameTupleAccessor accessor, int tupleId, int fieldId) { +int length = accessor.getTupleLength(tupleId); int start = accessor.getTupleStartOffset(tupleId) + accessor.getFieldSlotsLength() + accessor.getFieldStartOffset(tupleId, fieldId) + 1; long intervalStart = AIntervalSerializerDeserializer.getIntervalStart(accessor.getBuffer().array(), start); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/6c312141/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 965411b..d3aaa65 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 @@ -73,7 +73,6 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner { private long joinComparisonCount = 0; private long joinResultCount = 0; -private long spillCount = 0; private long leftSpillCount = 0; private long rightSpillCount = 0; private long[] spillFileCount = { 0, 0 }; @@ -104,16 +103,21 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner { throw new HyracksDataException( "IntervalIndexJoiner does not have enough memory (needs > 4, got " + memorySize + ")."); } +//bufferManager = new VPartitionDeletableTupleBufferManager(ctx, +//VPartitionDeletableTupleBufferManager.NO_CONSTRAIN, JOIN_PARTITIONS, +//(memorySize - 4) * ctx.getInitialFrameSize(), recordDescriptors); bufferManager = new VPartitionDeletableTupleBufferManager(ctx, VPartitionDeletableTupleBufferManager.NO_CONSTRAIN, JOIN_PARTITIONS, -(memorySize - 4) * ctx.getInitialFrameSize(), recordDescriptors); +memorySize * ctx.getInitialFrameSize(), recordDescriptors); memoryAccessor = new ITuplePointerAccessor[JOIN_PARTITIONS]; memoryAccessor[LEFT_PARTITION] = bufferManager.getTuplePointerAccessor(leftRd); memoryAccessor[RIGHT_PARTITION] =
[15/50] [abbrv] asterixdb git commit: merge master with all interval prep clean up items.
merge master with all interval prep clean up items. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/c44a7d9b Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/c44a7d9b Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/c44a7d9b Branch: refs/heads/ecarm002/interval_join_merge Commit: c44a7d9b67e58b9cae4ab38634a944e0940bb1b6 Parents: 88cbdc4 bce1888 Author: Preston CarmanAuthored: Sat Jul 16 22:40:39 2016 -0700 Committer: Preston Carman Committed: Sat Jul 16 22:40:39 2016 -0700 -- .../AqlPlusExpressionToPlanTranslator.java | 77 ++- .../LangExpressionToPlanTranslator.java | 132 ++ .../asterix-algebra/src/main/javacc/AQLPlus.jj | 47 +-- .../optimizerts/queries/subquery/exists.sqlpp | 73 ++ .../queries/subquery/not_exists.sqlpp | 73 ++ .../optimizerts/results/subquery/exists.plan| 74 ++ .../results/subquery/not_exists.plan| 74 ++ .../parserts/results_parser_sqlpp/constant.ast | 2 +- .../list/exists/exists.3.query.sqlpp| 20 +++ .../subquery/exists/exists.1.ddl.sqlpp | 55 .../subquery/exists/exists.2.update.sqlpp | 18 +++ .../subquery/exists/exists.3.query.sqlpp| 40 ++ .../subquery/not_exists/not_exists.1.ddl.sqlpp | 55 .../not_exists/not_exists.2.update.sqlpp| 18 +++ .../not_exists/not_exists.3.query.sqlpp | 40 ++ .../relational_division.1.ddl.sqlpp | 51 +++ .../relational_division.2.update.sqlpp | 24 .../relational_division.3.query.sqlpp | 35 + .../relational_division2.1.ddl.sqlpp| 51 +++ .../relational_division2.2.update.sqlpp | 24 .../relational_division2.3.query.sqlpp | 41 ++ .../relational_division3.1.ddl.sqlpp| 51 +++ .../relational_division3.2.update.sqlpp | 24 .../relational_division3.3.query.sqlpp | 38 ++ .../runtimets/results/list/exists/exists.1.adm | 1 + .../results/subquery/exists/exists.1.adm| 21 +++ .../subquery/not_exists/not_exists.1.adm| 18 +++ .../relational_division.1.adm | 74 ++ .../binary/subbinary/subbinary_01.3.ast | 6 +- .../custord/customer_q_04/customer_q_04.3.ast | 2 +- .../custord/customer_q_05/customer_q_05.3.ast | 2 +- .../list/listify_03/listify_03.3.ast| 4 +- .../numeric/abs4/abs4.3.ast | 2 +- .../numeric/add_double/add_double.1.ast | 2 +- .../numeric/ceiling4/ceiling4.3.ast | 2 +- .../numeric/floor4/floor4.3.ast | 2 +- .../round-half-to-even24.3.ast | 2 +- .../round-half-to-even5.3.ast | 2 +- .../numeric/round4/round4.3.ast | 2 +- .../unary-minus_double_02.3.ast | 8 +- .../unary-minus_float_02.3.ast | 8 +- .../unary-minus_int_02/unary-minus_int_02.3.ast | 8 +- .../unary-minus_null/unary-minus_null.1.ast | 4 +- .../query-issue134/query-issue134.3.ast | 2 +- .../query-issue442/query-issue442.1.ast | 2 +- .../query-issue55/query-issue55.3.ast | 4 +- .../quantifiers/everysat_01/everysat_01.3.ast | 6 +- .../quantifiers/somesat_01/somesat_01.3.ast | 8 +- .../cell-aggregation-with-filtering.3.ast | 2 +- .../spatial/line_accessor/line_accessor.3.ast | 4 +- .../rectangle-intersect-rectangle.3.ast | 2 +- .../string/substr01/substr01.3.ast | 2 +- .../string/substring2-4/substring2-4.3.ast | 2 +- .../query-issue218-2/query-issue218-2.3.ast | 4 +- .../resources/runtimets/testsuite_sqlpp.xml | 30 .../aql/visitor/AQLToSQLPPPrintVisitor.java | 6 +- .../asterix-lang-aql/src/main/javacc/AQL.jj | 44 -- .../lang/common/expression/OperatorExpr.java| 4 +- .../lang/common/expression/UnaryExpr.java | 31 +++-- .../lang/common/struct/UnaryExprType.java | 44 ++ .../CloneAndSubstituteVariablesVisitor.java | 2 +- .../lang/common/visitor/FormatPrintVisitor.java | 4 +- .../lang/common/visitor/QueryPrintVisitor.java | 4 +- .../visitor/OperatorExpressionVisitor.java | 2 +- .../lang/sqlpp/visitor/DeepCopyVisitor.java | 2 +- ...SqlppCloneAndSubstituteVariablesVisitor.java | 3 + .../src/main/javacc/SQLPP.html | 131 +- .../asterix-lang-sqlpp/src/main/javacc/SQLPP.jj | 98 - .../nonvisitor/AIntervalPointable.java | 24 ++-- .../AbstractComparisonEvaluator.java| 2 +- .../comparisons/ComparisonHelper.java | 45 +++---
[20/50] [abbrv] asterixdb git commit: snapshot for range state transition
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2061a388/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java -- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java b/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java deleted file mode 100644 index ff2e40b..000 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.hyracks.dataflow.common.data.partition.range; - -public interface IRangeMap { - -public int getSplitCount(); - -public byte[] getByteArray(int columnIndex, int splitIndex); - -public int getStartOffset(int columnIndex, int splitIndex); - -public int getLength(int columnIndex, int splitIndex); - -public int getTag(int columnIndex, int splitIndex); - -// Min value functions -public byte[] getMinByteArray(int columnIndex); - -public int getMinStartOffset(int columnIndex); - -public int getMinLength(int columnIndex); - -public int getMinTag(int columnIndex); - -// Max value functions -public byte[] getMaxByteArray(int columnIndex); - -public int getMaxStartOffset(int columnIndex); - -public int getMaxLength(int columnIndex); - -public int getMaxTag(int columnIndex); -} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/2061a388/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangePartitionType.java -- diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangePartitionType.java b/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangePartitionType.java deleted file mode 100644 index dcde70b..000 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangePartitionType.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.hyracks.dataflow.common.data.partition.range; - -public interface IRangePartitionType { -public enum RangePartitioningType { -/** - * Partitioning is determined by finding the range partition where the first data point lies. - */ -PROJECT, -/** - * Partitioning is determined by finding the range partition where the last data point lies. - */ -PROJECT_END, -/** - * Partitioning is determined by finding all the range partitions where the data has a point. - */ -SPLIT, -/** - * Partitioning is determined by finding all the range partitions where the data has a point - * or comes after the data point. - */ -REPLICATE -} -}
[11/50] [abbrv] asterixdb git commit: merge master
merge master Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/0725160a Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/0725160a Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/0725160a Branch: refs/heads/ecarm002/interval_join_merge Commit: 0725160aa57181e9f82896af1552e57d87728db9 Parents: 4f9e6a8 61ec128 Author: Preston CarmanAuthored: Thu Jul 14 13:54:55 2016 -0700 Committer: Preston Carman Committed: Thu Jul 14 13:54:55 2016 -0700 -- asterixdb/asterix-app/pom.xml | 29 ++ .../asterix/test/sqlpp/ParserTestExecutor.java | 11 +- .../optimizerts/queries/query-issue697.aql | 2 +- .../sum_null-with-pred.3.query.aql | 2 +- .../sum_null-with-pred.3.query.aql | 2 +- .../queries/boolean/not_01/not_01.3.query.aql | 4 +- .../everysat_04/everysat_04.3.query.aql | 8 +- .../somesat_06/somesat_06.3.query.aql | 8 +- .../has-param1/has-param1.3.query.aql | 2 +- .../substring-after-5.3.query.aql | 2 +- .../substring-after-6.3.query.aql | 2 +- .../tinysocial-suite.13.query.aql | 2 +- .../q13_customer_distribution.3.query.aql | 2 +- .../q16_parts_supplier_relationship.3.query.aql | 4 +- .../q13_customer_distribution.3.query.aql | 2 +- .../q16_parts_supplier_relationship.3.query.aql | 4 +- .../single-line-definition.1.ddl.aql| 31 +++ .../single-line-definition.2.query.aql | 28 ++ .../single-line-definition.3.ddl.aql| 27 ++ .../udf18/udf18.3.query.aql | 2 +- .../queries_sqlpp/dapd/q2-6/q2-6.1.ddl.sqlpp| 55 .../queries_sqlpp/dapd/q2-6/q2-6.2.update.sqlpp | 19 ++ .../queries_sqlpp/dapd/q2-6/q2-6.3.query.sqlpp | 35 +++ .../group-by/gby-expr-2/gby-expr-2.1.ddl.sqlpp | 39 +++ .../gby-expr-2/gby-expr-2.2.update.sqlpp| 43 +++ .../gby-expr-2/gby-expr-2.3.query.sqlpp | 27 ++ .../group-by/gby-expr-3/gby-expr-3.1.ddl.sqlpp | 39 +++ .../gby-expr-3/gby-expr-3.2.update.sqlpp| 43 +++ .../gby-expr-3/gby-expr-3.3.query.sqlpp | 33 +++ .../group-by/gby-expr/gby-expr.1.ddl.sqlpp | 39 +++ .../group-by/gby-expr/gby-expr.2.update.sqlpp | 43 +++ .../group-by/gby-expr/gby-expr.3.query.sqlpp| 27 ++ .../group-by/sugar-01-2/sugar-01-2.1.ddl.sqlpp | 29 ++ .../sugar-01-2/sugar-01-2.2.update.sqlpp| 32 +++ .../sugar-01-2/sugar-01-2.3.query.sqlpp | 26 ++ .../group-by/sugar-02-2/sugar-02-2.1.ddl.sqlpp | 39 +++ .../sugar-02-2/sugar-02-2.2.update.sqlpp| 43 +++ .../sugar-02-2/sugar-02-2.3.query.sqlpp | 27 ++ .../sugar-02-2/sugar-02-2.4.query.sqlpp | 31 +++ .../group-by/sugar-03-2/sugar-03-2.1.ddl.sqlpp | 40 +++ .../sugar-03-2/sugar-03-2.2.update.sqlpp| 42 +++ .../sugar-03-2/sugar-03-2.3.query.sqlpp | 32 +++ .../group-by/sugar-04-2/sugar-04-2.1.ddl.sqlpp | 40 +++ .../sugar-04-2/sugar-04-2.2.update.sqlpp| 55 .../sugar-04-2/sugar-04-2.3.query.sqlpp | 31 +++ .../group-by/sugar-05-2/sugar-05-2.1.ddl.sqlpp | 35 +++ .../sugar-05-2/sugar-05-2.2.update.sqlpp| 59 .../sugar-05-2/sugar-05-2.3.query.sqlpp | 38 +++ .../alias_negative/alias_negative.1.query.sqlpp | 24 ++ .../q01_pricing_summary_report_2.1.ddl.sqlpp| 47 .../q01_pricing_summary_report_2.2.update.sqlpp | 24 ++ .../q01_pricing_summary_report_2.3.query.sqlpp | 43 +++ .../single-line-definition.1.ddl.sqlpp | 31 +++ .../single-line-definition.2.query.sqlpp| 30 ++ .../single-line-definition.3.ddl.sqlpp | 27 ++ .../group-by/gby-expr-2/gby-expr-2.1.adm| 1 + .../group-by/gby-expr-3/gby-expr-3.1.adm| 1 + .../results/group-by/gby-expr/gby-expr.1.adm| 1 + .../single-line-definition.1.adm| 1 + .../src/test/resources/runtimets/testsuite.xml | 5 + .../resources/runtimets/testsuite_sqlpp.xml | 61 + .../asterix-lang-aql/src/main/javacc/AQL.jj | 250 ++--- .../lang/common/clause/GroupbyClause.java | 32 ++- .../asterix/lang/common/clause/LetClause.java | 18 ++ .../asterix/lang/common/clause/LimitClause.java | 27 +- .../lang/common/clause/OrderbyClause.java | 20 ++ .../lang/common/clause/UpdateClause.java| 22 ++ .../asterix/lang/common/clause/WhereClause.java | 31 ++- .../common/expression/AbstractAccessor.java | 18 ++ .../lang/common/expression/CallExpr.java| 21 +- .../lang/common/expression/FieldAccessor.java | 18 ++ .../lang/common/expression/FieldBinding.java| 24 ++ .../expression/GbyVariableExpressionPair.java | 22 ++ .../asterix/lang/common/expression/IfExpr.java | 25 ++
[30/50] [abbrv] asterixdb git commit: merge master
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c2e48a78/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java -- diff --cc asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java index a4959ab,cf36c05..f6f0862 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java @@@ -36,9 -37,9 +37,10 @@@ import org.apache.asterix.optimizer.rul import org.apache.asterix.optimizer.rules.ExtractOrderExpressionsRule; import org.apache.asterix.optimizer.rules.FeedScanCollectionToUnnest; import org.apache.asterix.optimizer.rules.FuzzyEqRule; - import org.apache.asterix.optimizer.rules.IfElseToSwitchCaseFunctionRule; + import org.apache.asterix.optimizer.rules.InjectTypeCastForSwitchCaseRule; + import org.apache.asterix.optimizer.rules.InjectTypeCastForUnionRule; import org.apache.asterix.optimizer.rules.InlineUnnestFunctionRule; +import org.apache.asterix.optimizer.rules.IntervalSplitPartitioningRule; import org.apache.asterix.optimizer.rules.IntroduceAutogenerateIDRule; import org.apache.asterix.optimizer.rules.IntroduceDynamicTypeCastForExternalFunctionRule; import org.apache.asterix.optimizer.rules.IntroduceDynamicTypeCastRule; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c2e48a78/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c2e48a78/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java -- diff --cc asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java index 61057b4,76d0245..294f4d0 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java @@@ -244,15 -254,11 +255,15 @@@ public class APIFramework OptimizationConfUtil.getPhysicalOptimizationConfig().setMaxFramesExternalSort(sortFrameLimit); OptimizationConfUtil.getPhysicalOptimizationConfig().setMaxFramesExternalGroupBy(groupFrameLimit); OptimizationConfUtil.getPhysicalOptimizationConfig().setMaxFramesForJoin(joinFrameLimit); + OptimizationConfUtil.getPhysicalOptimizationConfig().setMaxFramesForJoinLeftInput(joinFrameLeftInputLimit); + +int intervalMaxDuration = (int) (compilerProperties.getIntervalMaxDuration()); + OptimizationConfUtil.getPhysicalOptimizationConfig().getMaxIntervalDuration(intervalMaxDuration); - HeuristicCompilerFactoryBuilder builder = new HeuristicCompilerFactoryBuilder( - AqlOptimizationContextFactory.INSTANCE); + HeuristicCompilerFactoryBuilder builder = + new HeuristicCompilerFactoryBuilder(AqlOptimizationContextFactory.INSTANCE); builder.setPhysicalOptimizationConfig(OptimizationConfUtil.getPhysicalOptimizationConfig()); - builder.setLogicalRewrites(buildDefaultLogicalRewrites()); + builder.setLogicalRewrites(buildDefaultLogicalRewrites(cExtensionManager)); builder.setPhysicalRewrites(buildDefaultPhysicalRewrites()); IDataFormat format = queryMetadataProvider.getFormat(); ICompilerFactory compilerFactory = builder.create(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c2e48a78/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c2e48a78/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java -- diff --cc asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java index 0a684ed,5bfb5f8..b79c2cb --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/AsterixCompilerProperties.java @@@ -53,27 -45,17 +53,27 @@@ public class AsterixCompilerProperties public long getJoinMemorySize() { return accessor.getProperty(COMPILER_JOINMEMORY_KEY, COMPILER_JOINMEMORY_DEFAULT, - PropertyInterpreters.getLongPropertyInterpreter()); + PropertyInterpreters.getLongBytePropertyInterpreter()); } +public long getJoinLeftInputSize() { +return accessor.getProperty(COMPILER_JOIN_LEFTINPUT_KEY, COMPILER_JOIN_LEFTINPUT_DEFAULT, +
[01/50] [abbrv] asterixdb git commit: fix for indexing memory error.
Repository: asterixdb Updated Branches: refs/heads/ecarm002/interval_join_merge [created] faa3bb457 fix for indexing memory error. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/199bddd3 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/199bddd3 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/199bddd3 Branch: refs/heads/ecarm002/interval_join_merge Commit: 199bddd3c68ef8e8c3ee0cccf6d8cdcc38fd8189 Parents: f9443fa Author: Preston CarmanAuthored: Wed Jun 15 19:06:51 2016 -0700 Committer: Preston Carman Committed: Wed Jun 15 19:06:51 2016 -0700 -- .../joins/intervalindex/ActiveSweepManager.java | 10 +++ .../IntervalIndexJoinOperatorDescriptor.java| 1 + .../intervalindex/IntervalIndexJoiner.java | 29 ++-- .../dataflow/std/join/AbstractMergeJoiner.java | 12 .../dataflow/std/join/MergeBranchStatus.java| 6 .../std/join/MergeJoinOperatorDescriptor.java | 1 + 6 files changed, 29 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/199bddd3/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/ActiveSweepManager.java -- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/ActiveSweepManager.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/ActiveSweepManager.java index 70785ab..84bd262 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/ActiveSweepManager.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/ActiveSweepManager.java @@ -44,18 +44,18 @@ public class ActiveSweepManager { private EndPointIndexItem item = null; private final LinkedList active = new LinkedList<>(); -public ActiveSweepManager(IPartitionedDeletableTupleBufferManager bufferManager, int key, int partition, +public ActiveSweepManager(IPartitionedDeletableTupleBufferManager bufferManager, int key, int joinBranch, Comparator endPointComparator) { this.bufferManager = bufferManager; this.key = key; -this.partition = partition; +this.partition = joinBranch; indexQueue = new PriorityQueue<>(16, endPointComparator); } -public boolean addTuple(ITupleAccessor leftInputAccessor, TuplePointer tp) throws HyracksDataException { -if (bufferManager.insertTuple(partition, leftInputAccessor, leftInputAccessor.getTupleId(), tp)) { +public boolean addTuple(ITupleAccessor accessor, TuplePointer tp) throws HyracksDataException { +if (bufferManager.insertTuple(partition, accessor, accessor.getTupleId(), tp)) { EndPointIndexItem e = new EndPointIndexItem(tp, EndPointIndexItem.END_POINT, -IntervalJoinUtil.getIntervalEnd(leftInputAccessor, leftInputAccessor.getTupleId(), key)); +IntervalJoinUtil.getIntervalEnd(accessor, accessor.getTupleId(), key)); indexQueue.add(e); active.add(tp); item = indexQueue.peek(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/199bddd3/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java -- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java index c248f72..be44df3 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java @@ -258,6 +258,7 @@ public class IntervalIndexJoinOperatorDescriptor extends AbstractOperatorDescrip locks.getRight(partition).await(); } state.indexJoiner.setFrame(RIGHT_ACTIVITY_ID, buffer); +state.status.continueRightLoad = false; locks.getLeft(partition).signal(); } catch (InterruptedException e) { Thread.currentThread().interrupt();
[28/50] [abbrv] asterixdb git commit: snapshot with logging
snapshot with logging Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/1df9a9c7 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/1df9a9c7 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/1df9a9c7 Branch: refs/heads/ecarm002/interval_join_merge Commit: 1df9a9c7db4b686e75b870ee02080f8fe15ca666 Parents: 1fae6ac Author: Preston CarmanAuthored: Tue Sep 6 15:51:12 2016 -0700 Committer: Preston Carman Committed: Tue Sep 6 15:51:12 2016 -0700 -- .../joins/AbstractIntervalMergeJoinChecker.java | 6 +- .../IntervalIndexJoinOperatorDescriptor.java| 6 +- .../intervalindex/IntervalIndexJoiner.java | 86 +--- .../dataflow/std/join/AbstractMergeJoiner.java | 24 +++--- .../hyracks/dataflow/std/join/IMergeJoiner.java | 2 + .../std/join/MergeJoinOperatorDescriptor.java | 18 +++- .../hyracks/dataflow/std/join/MergeJoiner.java | 80 +- .../dataflow/std/join/NestedLoopJoin.java | 8 +- .../dataflow/std/join/RunFileStream.java| 9 +- 9 files changed, 162 insertions(+), 77 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1df9a9c7/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 b461799..ec8ecda 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 @@ -69,7 +69,7 @@ public abstract class AbstractIntervalMergeJoinChecker implements IIntervalMerge IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight); ipLeft.getEnd(endLeft); ipRight.getStart(startRight); -return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), endLeft, startRight) >= 0; +return ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), endLeft, startRight) > 0; } @Override @@ -79,7 +79,7 @@ public abstract class AbstractIntervalMergeJoinChecker implements IIntervalMerge IntervalJoinUtil.getIntervalPointable(accessorRight, idRight, tvp, ipRight); ipLeft.getStart(startLeft); ipRight.getEnd(endRight); -return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0); +return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) < 0); } @Override @@ -102,7 +102,7 @@ public abstract class AbstractIntervalMergeJoinChecker implements IIntervalMerge IntervalJoinUtil.getIntervalPointable(accessorRight, rightTupleIndex, idRight, tvp, ipRight); ipLeft.getStart(startLeft); ipRight.getEnd(endRight); -return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) <= 0); +return !(ch.compare(ipLeft.getTypeTag(), ipRight.getTypeTag(), startLeft, endRight) < 0); } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1df9a9c7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java -- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java index be44df3..d84fabc 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/joins/intervalindex/IntervalIndexJoinOperatorDescriptor.java @@ -37,6 +37,7 @@ import org.apache.hyracks.dataflow.std.base.AbstractActivityNode; import org.apache.hyracks.dataflow.std.base.AbstractOperatorDescriptor; import org.apache.hyracks.dataflow.std.base.AbstractUnaryInputSinkOperatorNodePushable; import org.apache.hyracks.dataflow.std.base.AbstractUnaryInputUnaryOutputOperatorNodePushable; +import org.apache.hyracks.dataflow.std.join.MergeBranchStatus.Stage; import org.apache.hyracks.dataflow.std.join.MergeJoinLocks; public class
[42/50] [abbrv] asterixdb git commit: working partition join.
working partition join. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/b34a426a Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/b34a426a Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/b34a426a Branch: refs/heads/ecarm002/interval_join_merge Commit: b34a426a48dbf16a2d313b2333eb0e6fb23227e4 Parents: ce59341 Author: Preston CarmanAuthored: Fri Sep 30 13:48:03 2016 -0700 Committer: Preston Carman Committed: Fri Sep 30 13:48:03 2016 -0700 -- .../IntervalPartitionJoinPOperator.java | 2 +- .../intervalindex/IntervalIndexJoiner.java | 62 ++-- ...IntervalPartitionJoinOperatorDescriptor.java | 319 +++ .../IntervalPartitionJoinTaskState.java | 33 ++ .../IntervalPartitionJoiner.java| 288 + .../dataflow/common/io/RunFileReader.java | 4 + .../dataflow/std/structures/RunFilePointer.java | 102 ++ 7 files changed, 778 insertions(+), 32 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/b34a426a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java -- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java index 73d159e..af77a92 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.logging.Logger; import org.apache.asterix.runtime.operators.joins.IIntervalMergeJoinCheckerFactory; -import org.apache.asterix.runtime.operators.joins.intervalpartition.IntervalPartitionJoinOperatorDescriptor; +import org.apache.asterix.runtime.operators.joins.intervalpartition2.IntervalPartitionJoinOperatorDescriptor; import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable; import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractBinaryJoinOperator.JoinKind; import org.apache.hyracks.algebricks.core.algebra.operators.logical.OrderOperator.IOrder.OrderKind; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/b34a426a/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 bac2f45..8b7a12e 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 @@ -61,7 +61,7 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner { private final int[] streamIndex; private final RunFileStream[] runFileStream; -//private final LinkedList buffer = new LinkedList<>(); +//private final LinkedList buffer = new LinkedList<>(); private final IIntervalMergeJoinChecker imjc; @@ -342,7 +342,7 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner { if (activeManager[LEFT_PARTITION].addTuple(inputAccessor[LEFT_PARTITION], tp)) { processTupleJoin(activeManager[RIGHT_PARTITION].getActiveList(), memoryAccessor[RIGHT_PARTITION], inputAccessor[LEFT_PARTITION], true, writer); -//buffer.add(tp); +//buffer.add(tp); } else { // Spill case freezeAndSpill(); @@ -356,10 +356,10 @@ public class IntervalIndexJoiner extends AbstractMergeJoiner { } while (loadLeftTuple().isLoaded() && loadRightTuple().isLoaded() && !checkToProcessRightTuple()); // Add Results -//if (!buffer.isEmpty()) { -// processActiveJoin(activeManager[RIGHT_PARTITION].getActiveList(), memoryAccessor[RIGHT_PARTITION], buffer, -//memoryAccessor[LEFT_PARTITION], true, writer); -//} +//if (!buffer.isEmpty()) { +//
[29/50] [abbrv] asterixdb git commit: ASTERIXDB-1635 Fix for overlap-bins start for dates.
ASTERIXDB-1635 Fix for overlap-bins start for dates. Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/d4cbcb2f Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/d4cbcb2f Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/d4cbcb2f Branch: refs/heads/ecarm002/interval_join_merge Commit: d4cbcb2fe05649d02f12a0196eaa508cb5f7c623 Parents: 1df9a9c Author: Preston CarmanAuthored: Tue Sep 6 16:10:24 2016 -0700 Committer: Preston Carman Committed: Tue Sep 6 16:10:24 2016 -0700 -- .../overlap_bins/overlap_bins.1.query.aql | 2 +- .../overlap_bins/overlap_bins.3.query.sqlpp | 2 +- .../temporal/overlap_bins/overlap_bins.1.adm| 2 +- .../temporal/overlap_bins/overlap_bins.3.ast| 2 +- .../src/site/markdown/aql/functions.md | 9 +- .../om/base/temporal/DateTimeFormatUtils.java | 200 ++- .../temporal/DurationArithmeticOperations.java | 32 +-- .../temporal/OverlapBinsDescriptor.java | 25 ++- 8 files changed, 146 insertions(+), 128 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d4cbcb2f/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.1.query.aql -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.1.query.aql index 8011ad6..bfb5527 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.1.query.aql +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/overlap_bins/overlap_bins.1.query.aql @@ -25,5 +25,5 @@ let $itv1 := interval(time("17:23:37"), time("18:30:21")) let $itv2 := interval(date("1984-03-17"), date("2013-08-22")) let $itv3 := interval(datetime("1800-01-01T23:59:48.938"), datetime("2015-07-26T13:28:30.218")) return { "timebins": overlap-bins($itv1, time("00:00:00"), day-time-duration("PT30M")), - "datebins": overlap-bins($itv2, date("1990-01-01"), year-month-duration("P20Y")), + "datebins": overlap-bins($itv2, date("1990-01-01"), year-month-duration("P10Y")), "datetimebins": overlap-bins($itv3, datetime("1900-01-01T00:00:00.000"), year-month-duration("P100Y")) } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d4cbcb2f/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/overlap_bins/overlap_bins.3.query.sqlpp -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/overlap_bins/overlap_bins.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/overlap_bins/overlap_bins.3.query.sqlpp index e42707f..90cd95e 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/overlap_bins/overlap_bins.3.query.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/overlap_bins/overlap_bins.3.query.sqlpp @@ -22,6 +22,6 @@ **/ { 'timebins':`overlap-bins`(interval(time('17:23:37'),time('18:30:21')),time('00:00:00'),`day-time-duration`('PT30M')), - 'datebins':`overlap-bins`(interval(date('1984-03-17'),date('2013-08-22')),date('1990-01-01'),`year-month-duration`('P20Y')), + 'datebins':`overlap-bins`(interval(date('1984-03-17'),date('2013-08-22')),date('1990-01-01'),`year-month-duration`('P10Y')), 'datetimebins':`overlap-bins`(interval(datetime('1800-01-01T23:59:48.938'),datetime('2015-07-26T13:28:30.218')),datetime('1900-01-01T00:00:00.000'), `year-month-duration`('P100Y'))}; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/d4cbcb2f/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/overlap_bins/overlap_bins.1.adm -- diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/overlap_bins/overlap_bins.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/overlap_bins/overlap_bins.1.adm index 493a1ca..14f6aae 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/overlap_bins/overlap_bins.1.adm +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/overlap_bins/overlap_bins.1.adm @@ -1 +1 @@ -{ "timebins": [ interval(time("17:00:00.000Z"), time("17:30:00.000Z")), interval(time("17:30:00.000Z"), time("18:00:00.000Z")), interval(time("18:00:00.000Z"), time("18:30:00.000Z")), interval(time("18:30:00.000Z"), time("19:00:00.000Z")) ], "datebins": [
[05/50] [abbrv] asterixdb git commit: added more to the interval hint
added more to the interval hint Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/fd84e345 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/fd84e345 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/fd84e345 Branch: refs/heads/ecarm002/interval_join_merge Commit: fd84e345ec29f9b85f32132eef1f6e7f98941866 Parents: 0f533e8 Author: Preston CarmanAuthored: Wed Jul 6 18:15:43 2016 -0700 Committer: Preston Carman Committed: Wed Jul 6 18:15:43 2016 -0700 -- .../IntervalPartitionJoinPOperator.java | 20 +- .../rules/IntervalSplitPartitioningRule.java| 1 - .../asterix/optimizer/rules/util/JoinUtils.java | 21 +- .../interval_overlapping.11.query.aql | 2 +- .../interval_overlapping.12.query.aql | 2 +- .../IntervalJoinExpressionAnnotation.java | 65 +- ...econdaryIndexSearchExpressionAnnotation.java | 15 +- .../asterix-lang-aql/src/main/javacc/AQL.jj | 4 +- .../IntervalPartitionJoin.java | 649 --- ...IntervalPartitionJoinOperatorDescriptor.java | 16 +- .../IntervalPartitionJoiner.java| 649 +++ .../IntervalPartitionUtil.java | 26 +- .../AbstractExpressionAnnotation.java | 35 + .../ExpressionAnnotationNoCopyImpl.java | 14 +- .../IndexedNLJoinExpressionAnnotation.java | 14 +- 15 files changed, 788 insertions(+), 745 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fd84e345/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java -- diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java index 414d0b4..1eff2aa 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IntervalPartitionJoinPOperator.java @@ -33,18 +33,18 @@ import org.apache.hyracks.dataflow.common.data.partition.range.IRangeMap; public class IntervalPartitionJoinPOperator extends AbstractIntervalJoinPOperator { private final int memSizeInFrames; -private final int probeTupleCount; -private final int probeMaxDuration; -private final int buildTupleCount; -private final int buildMaxDuration; +private final long probeTupleCount; +private final long probeMaxDuration; +private final long buildTupleCount; +private final long buildMaxDuration; private final int avgTuplesInFrame; private static final Logger LOGGER = Logger.getLogger(IntervalPartitionJoinPOperator.class.getName()); public IntervalPartitionJoinPOperator(JoinKind kind, JoinPartitioningType partitioningType, List sideLeftOfEqualities, List sideRightOfEqualities, -int memSizeInFrames, int buildTupleCount, int probeTupleCount, int buildMaxDuration, int probeMaxDuration, -int avgTuplesInFrame, IIntervalMergeJoinCheckerFactory mjcf, IRangeMap rangeMap) { +int memSizeInFrames, long buildTupleCount, long probeTupleCount, long buildMaxDuration, +long probeMaxDuration, int avgTuplesInFrame, IIntervalMergeJoinCheckerFactory mjcf, IRangeMap rangeMap) { super(kind, partitioningType, sideLeftOfEqualities, sideRightOfEqualities, mjcf, rangeMap); this.memSizeInFrames = memSizeInFrames; this.buildTupleCount = buildTupleCount; @@ -62,19 +62,19 @@ public class IntervalPartitionJoinPOperator extends AbstractIntervalJoinPOperato + "."); } -public int getProbeTupleCount() { +public long getProbeTupleCount() { return probeTupleCount; } -public int getProbeMaxDuration() { +public long getProbeMaxDuration() { return probeMaxDuration; } -public int getBuildTupleCount() { +public long getBuildTupleCount() { return buildTupleCount; } -public int getBuildMaxDuration() { +public long getBuildMaxDuration() { return buildMaxDuration; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/fd84e345/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntervalSplitPartitioningRule.java -- diff --git
[50/50] [abbrv] asterixdb git commit: merge clean up
merge clean up Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/faa3bb45 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/faa3bb45 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/faa3bb45 Branch: refs/heads/ecarm002/interval_join_merge Commit: faa3bb457362215393e97e44c69b05109950f33a Parents: 9baab02 Author: Preston CarmanAuthored: Mon Oct 17 12:53:38 2016 -0700 Committer: Preston Carman Committed: Mon Oct 17 12:53:38 2016 -0700 -- .../logical/visitors/FDsAndEquivClassesVisitor.java | 12 ++-- .../logical/visitors/LogicalPropertiesVisitor.java | 8 .../logical/visitors/SubstituteVariableVisitor.java | 10 -- .../prettyprint/LogicalOperatorPrettyPrintVisitor.java | 3 +-- hyracks-fullstack/algebricks/algebricks-data/pom.xml| 5 - .../algebricks/algebricks-rewriter/pom.xml | 12 +--- .../hyracks-examples/hyracks-integration-tests/pom.xml | 8 +++- 7 files changed, 23 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/faa3bb45/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java -- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java index 2bb43c9..0eaf1b3 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java @@ -405,12 +405,6 @@ public class FDsAndEquivClassesVisitor implements ILogicalOperatorVisitor