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 Carman <prest...@apache.org> Authored: Sat Jul 16 22:40:39 2016 -0700 Committer: Preston Carman <prest...@apache.org> 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 +++--- .../AbstractIntervalLogicFuncDescriptor.java | 4 +- .../GetOverlappingIntervalDescriptor.java | 3 +- .../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 | 60 ++++---- .../temporal/IntervalMeetsDescriptor.java | 8 +- .../temporal/IntervalMetByDescriptor.java | 8 +- .../IntervalOverlappedByDescriptor.java | 4 +- .../temporal/IntervalOverlappingDescriptor.java | 5 +- .../temporal/IntervalOverlapsDescriptor.java | 4 +- .../temporal/IntervalStartedByDescriptor.java | 8 +- .../temporal/IntervalStartsDescriptor.java | 8 +- .../algebra/expressions/ConstantExpression.java | 17 +-- .../logical/AbstractLogicalOperator.java | 21 +-- .../algebricks/core/jobgen/impl/JobBuilder.java | 21 ++- .../hyracks/api/exceptions/ErrorCode.java | 23 ++++ .../api/exceptions/HyracksDataException.java | 85 +++++++++++- .../AbstractTuplePointerAccessor.java | 2 +- .../VPartitionTupleBufferManager.java | 4 +- .../VariableDeletableTupleMemoryManager.java | 6 +- .../MToNBroadcastConnectorDescriptor.java | 50 ++++++- .../MToNReplicatingConnectorDescriptor.java | 136 ------------------- .../std/group/HashSpillableTableFactory.java | 6 +- .../dataflow/std/join/InMemoryHashJoin.java | 12 +- .../std/misc/SplitOperatorDescriptor.java | 7 - .../std/structures/SerializableHashTable.java | 34 ++--- .../dataflow/std/structures/TuplePointer.java | 21 ++- .../structures/SerializableHashTableTest.java | 2 +- .../tests/rewriting/ErrorReportingTest.java | 4 +- .../common/util/TreeIndexBufferCacheWarmup.java | 1 - .../common/arraylist/DoubleArrayList.java | 3 +- .../storage/common/arraylist/IntArrayList.java | 3 +- .../storage/common/arraylist/LongArrayList.java | 4 +- 108 files changed, 1802 insertions(+), 633 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c44a7d9b/asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c44a7d9b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/AbstractComparisonEvaluator.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c44a7d9b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/temporal/IntervalOverlappingDescriptor.java ---------------------------------------------------------------------- diff --cc asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/temporal/IntervalOverlappingDescriptor.java index 5d81212,0000000..58931fe mode 100644,000000..100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/temporal/IntervalOverlappingDescriptor.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/temporal/IntervalOverlappingDescriptor.java @@@ -1,51 -1,0 +1,50 @@@ +/* + * 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.evaluators.functions.temporal; + +import org.apache.asterix.om.functions.AsterixBuiltinFunctions; +import org.apache.asterix.om.functions.IFunctionDescriptor; +import org.apache.asterix.om.functions.IFunctionDescriptorFactory; +import org.apache.asterix.om.pointables.nonvisitor.AIntervalPointable; - import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; +import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier; ++import org.apache.hyracks.api.exceptions.HyracksDataException; + +public class IntervalOverlappingDescriptor extends AbstractIntervalLogicFuncDescriptor { + + private static final long serialVersionUID = 1L; + + public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() { - + @Override + public IFunctionDescriptor createFunctionDescriptor() { + return new IntervalOverlappingDescriptor(); + } + }; + + @Override + public FunctionIdentifier getIdentifier() { + return AsterixBuiltinFunctions.INTERVAL_OVERLAPPING; + } + + @Override + protected boolean compareIntervals(IntervalLogic il, AIntervalPointable ip1, AIntervalPointable ip2) - throws AlgebricksException { ++ throws HyracksDataException { + return il.overlapping(ip1, ip2); + } + +} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c44a7d9b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/VPartitionTupleBufferManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c44a7d9b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/VariableDeletableTupleMemoryManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c44a7d9b/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/util/TreeIndexBufferCacheWarmup.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/c44a7d9b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/arraylist/IntArrayList.java ----------------------------------------------------------------------